§
    ¦˜ºhf  ã                   ó0  — d dl Z d dlZd dlZd dlm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ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dl m!Z! d dl"m#Z#m$Z$m%Z%m&Z&  ej'        d¦  «         (                    d	¦  «        Z)d
„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2ej3         4                    dddd ej5        d¦  «        dfg d¢dfg d¢dfdd e6dd¦  «        df e6d d¦  «        df ej7        g d¢ej8        ¬ ¦  «        df ej7        g d¢ej9        ¬ ¦  «        df ej7        g d¢ej:        ¬ ¦  «        dfdd!gdfd" ej7        dd!g¦  «        dfd#g d$¢dfd% e6d&d'¦  «        df ej7        g d$¢¦  «        df ej7        g d$¢e;¬ ¦  «        dfg¦  «        d(„ ¦   «         Z<d)„ Z=d*„ Z>ej3         4                    d+g d,¢¦  «        ej3         4                    d-g d.¢¦  «        d/„ ¦   «         ¦   «         Z?ej3         4                    d+g d0¢¦  «        ej3         4                    d-g d.¢¦  «        d1„ ¦   «         ¦   «         Z@ej3         4                    d+g d2¢¦  «        ej3         4                    d-g d.¢¦  «        ej3         4                    d3d4dgd5d6gg¦  «        d7„ ¦   «         ¦   «         ¦   «         ZAej3         4                    d8dd!g¦  «        ej3         4                    d9dd!g¦  «        ej3         4                    d+g d2¢¦  «        ej3         4                    d-d:d;g¦  «        ej3         4                    d<d g d=¢g d>¢gfd4dd?gd@dAgdBdggfg¦  «        dC„ ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ZBej3         4                    d+g d0¢¦  «        ej3         4                    d-g dD¢¦  «        dE„ ¦   «         ¦   «         ZCej3         4                    d+g d2¢¦  «        ej3         4                    d-g dD¢¦  «        ej3         4                    dFd g d=¢g d>¢gfd4dd?gd@dAgdBdggfg¦  «        dG„ ¦   «         ¦   «         ¦   «         ZDej3         4                    dHg dI¢¦  «        dJ„ ¦   «         ZEej3         4                    d+g d0¢¦  «        dK„ ¦   «         ZFej3         4                    dHg dL¢¦  «        ej3         4                    d3dd6g¦  «        dM„ ¦   «         ¦   «         ZGej3         4                    d+g dN¢¦  «        dO„ ¦   «         ZHdP„ ZIej3         4                    dQdd?g¦  «        dR„ ¦   «         ZJej3         4                    dSd:d;g¦  «        dT„ ¦   «         ZKdU„ ZLdV„ ZMej3         4                    dWdXdYg¦  «        dZ„ ¦   «         ZNej3         4                    d[d\gd]gd\d]gd\d^gd]d^gg¦  «        d_„ ¦   «         ZOd`„ ZPda„ ZQdb„ ZRej3         4                    dcg dd¢¦  «        de„ ¦   «         ZSdf„ ZTej3         4                    g dg¢dhe jU        d!fdie jU        d!fdhe jU        d?z  dfdje jU        dfdhe jU        dkz   d!fg¦  «        ej3         4                    dldmgg dn¢¦  «        do„ ¦   «         ¦   «         ZVej3         4                    dpdqgdr edhdrds¦  «        dtz   fdu edhduds¦  «        dtz   fdvg¦  «        dw„ ¦   «         ZWej3         4                    dx eXdy¦  «        dfejY        df eXejY        ¦  «        df ejZ        ejY        ¦  «        df ej[        ejY        ¦  «        dfdzd{d|d}d~ejY        gd!fdg¦  «        d€„ ¦   «         Z\d�„ Z]d‚„ Z^dƒ„ Z_ej3         4                    d„ ej7        d4¦  «         ej7        d¦  «        gd4dgd?d…ggg¦  «        d†„ ¦   «         Z`ej3         4                    d+g d2¢¦  «        d‡„ ¦   «         ZadS )ˆé    N)Úcopy)Úchain)Úconfig_context)Ú_approximate_modeÚ_determine_key_typeÚ_get_column_indicesÚ_message_with_timeÚ_print_elapsed_timeÚ_safe_assignÚ_safe_indexingÚ_to_object_arrayÚcheck_random_stateÚcolumn_or_1dÚ
deprecatedÚgen_even_slicesÚget_chunk_n_rowsÚis_scalar_nanÚresampleÚ	safe_maskÚshuffle)ÚMockDataFrame)Ú_convert_containerÚassert_allclose_dense_sparseÚassert_array_equalÚassert_no_warningsé	   )é   r   c                  ó  — t          d ¦  «        t          j        j        j        u sJ ‚t          t          j        ¦  «        t          j        j        j        u sJ ‚t          j                             d¦  «        } t          d¦  «                             d¦  «        |                      d¦  «        k    sJ ‚t          j                             d¦  «        } t          | ¦  «        | u sJ ‚t          j                             d¦  «        } t          d¦  «                             d¦  «        |                      d¦  «        k    sJ ‚t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Né*   éd   é+   zsome invalid seed)
r   ÚnpÚrandomÚmtrandÚ_randÚRandomStateÚrandintÚpytestÚraisesÚ
ValueError)Úrng_42s    úf/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/sklearn/utils/tests/test_utils.pyÚtest_make_rngr-   +   s‡  € å˜dÑ#Ô#¥r¤yÔ'7Ô'=Ð=Ð=Ð=Ð=Ý�bœiÑ(Ô(­B¬IÔ,<Ô,BÐBÐBÐBÐBåŒY×"Ò" 2Ñ&Ô&€FÝ˜bÑ!Ô!×)Ò)¨#Ñ.Ô.°&·.².ÀÑ2EÔ2EÒEÐEÐEÐEåŒY×"Ò" 2Ñ&Ô&€FÝ˜fÑ%Ô%¨Ð/Ð/Ð/Ð/åŒY×"Ò" 2Ñ&Ô&€FÝ˜bÑ!Ô!×)Ò)¨#Ñ.Ô.°&·.².ÀÑ2EÔ2EÒEÐEÐEÐEå	Œ•zÑ	"Ô	"ð 0ð 0ÝÐ.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð 0ð 0s   ÅE5Å5E9Å<E9c                  óz  — t          j        d¬¦  «        5 } t          j        d¦  «         t          ¦   «         d„ ¦   «         } |¦   «         }|dk    sJ ‚t	          | ¦  «        dk    sJ ‚t          | d         j        t          ¦  «        sJ ‚dt          | d         j	        ¦  «         
                    ¦   «         v sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        d¬¦  «        5 } t          j        d¦  «         t          d	¦  «         G d
„ d¦  «        ¦   «         } |¦   «         }t          |d¦  «        sJ ‚t	          | ¦  «        dk    sJ ‚t          | d         j        t          ¦  «        sJ ‚dt          | d         j	        ¦  «         
                    ¦   «         v sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NT)ÚrecordÚalwaysc                  ó   — dS )NÚspam© r3   ó    r,   Úhamztest_deprecated.<locals>.hamE   s   € à�6r4   r2   é   r   r   zdon't use thisc                   ó   — e Zd ZdZdS )útest_deprecated.<locals>.Hamr6   N)Ú__name__Ú
__module__Ú__qualname__ÚSPAMr3   r4   r,   ÚHamr8   U   s   € € € € € àˆDˆDˆDr4   r=   r<   )ÚwarningsÚcatch_warningsÚsimplefilterr   ÚlenÚ
issubclassÚcategoryÚFutureWarningÚstrÚmessageÚlowerÚhasattr)Úwr5   r2   r=   s       r,   Útest_deprecatedrJ   =   sS  € õ
 
Ô	 ¨Ð	-Ñ	-Ô	-ð 9°ÝÔ˜hÑ'Ô'Ð'å	‰Œð	ð 	ñ 
Œð	ð ˆs‰uŒuˆà�vŠ~ˆ~ˆ~ˆ~å�1‰vŒv˜Š{ˆ{ˆ{ˆ{Ý˜!˜Aœ$œ-­Ñ7Ô7Ð7Ð7Ð7Ø�s 1 Q¤4¤<Ñ0Ô0×6Ò6Ñ8Ô8Ð8Ð8Ð8Ð8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9õ  
Ô	 ¨Ð	-Ñ	-Ô	-ð 9°ÝÔ˜hÑ'Ô'Ð'å	Ð$Ñ	%Ô	%ð	ð 	ð 	ð 	ð 	ñ 	ô 	ñ 
&Ô	%ð	ð ˆc‰eŒeˆå�s˜FÑ#Ô#Ð#Ð#Ð#å�1‰vŒv˜Š{ˆ{ˆ{ˆ{Ý˜!˜Aœ$œ-­Ñ7Ô7Ð7Ð7Ð7Ø�s 1 Q¤4¤<Ñ0Ô0×6Ò6Ñ8Ô8Ð8Ð8Ð8Ð8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9s%   –B%CÃCÃCÃ(B:F0Æ0F4Æ7F4c                  óŠ  — t          ¦   «         �J ‚t          j        t          ¦  «        5  t          dgddg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ddgddgdd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          t          ddgd¬¦  «        ¦  «        dk    sJ ‚d S )	Nr   r6   Fr   )ÚreplaceÚ	n_samplesé   é   )rM   )r   r(   r)   r*   rA   r3   r4   r,   Útest_resamplerP   b   sE  € å‰:Œ:ÐÐÐõ 
Œ•zÑ	"Ô	"ð ð Ý�!��q˜!�fÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•zÑ	"Ô	"ð =ð =Ý�!�Q�˜!˜Q˜¨¸!Ð<Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =õ �x˜˜A˜¨!Ð,Ñ,Ô,Ñ-Ô-°Ò2Ð2Ð2Ð2Ð2Ð2s#   ªA
Á
AÁAÁ.BÂBÂBc                  ó¤  — t           j                             d¦  «        } d}d}|                      |df¬¦  «        }|                      d||¬¦  «        }t          ||ddd ¬¦  «        \  }}t          j        |dk    ¦  «        sJ ‚t          ||dd|¬¦  «        \  }}t          j        |dk    ¦  «        rJ ‚t          j        |¦  «        dk    sJ ‚d S )	Nr   r    gÍÌÌÌÌÌì?r6   ©Úsizeé
   ©rM   Úrandom_stateÚstratifyr   )r"   r#   r&   ÚnormalÚbinomialr   ÚallÚsum)ÚrngrM   ÚpÚXÚyÚ_Úy_not_stratifiedÚy_stratifieds           r,   Útest_resample_stratifiedrc   p   sâ   € å
Œ)×
Ò
 Ñ
"Ô
"€CØ€IØ€AØ�
Š
˜ A˜ˆ
Ñ'Ô'€AØ�Š�Q˜ 	ˆÑ*Ô*€Aå" 1 a°2ÀAÐPTÐUÑUÔUÑ€AÐÝŒ6Ð" aÒ'Ñ(Ô(Ð(Ð(Ð(å˜q !¨rÀÈAÐNÑNÔN�O€A€|ÝŒv�l aÒ'Ñ(Ô(Ð(Ð(Ð(ÝŒ6�,ÑÔ 1Ò$Ð$Ð$Ð$Ð$Ð$r4   c                  ó<  — t           j                             d¦  «        } d}|                      |df¬¦  «        }|                      dd|¬¦  «        }t          ||dd| |¬¦  «        \  }}t          ||d	d| |¬¦  «        \  }}t          j        |¦  «        j        d         dk     sJ ‚t          j        |¦  «        j        d         dk    sJ ‚t          ||dd
| |¬¦  «        \  }}|j        d         d
k    sJ ‚t          j        |¦  «        j        d         dk    sJ ‚d S )Nr   r    r6   rR   rN   Té2   )rL   rM   rV   rW   Féè  )r"   r#   r&   rX   r'   r   ÚuniqueÚshape)r\   rM   r^   r_   Ú	X_replacer`   ÚX_no_replaces          r,   Ú test_resample_stratified_replacerk   €   sH  € å
Œ)×
Ò
 Ñ
"Ô
"€CØ€IØ�
Š
˜ A˜ˆ
Ñ'Ô'€AØ�Š�A�q˜yˆÑ)Ô)€AåØ	ˆ1�d b°sÀQðñ ô �L€Iˆqõ Ø	ˆ1�e r¸Àaðñ ô �O€L�!õ Œ9�YÑÔÔ% aÔ(¨2Ò-Ð-Ð-Ð-ÝŒ9�\Ñ"Ô"Ô(¨Ô+¨rÒ1Ð1Ð1Ð1õ Ø	ˆ1�d d¸Àqðñ ô �L€Iˆqð Œ?˜1Ô Ò%Ð%Ð%Ð%ÝŒ9�YÑÔÔ% aÔ(¨CÒ/Ð/Ð/Ð/Ð/Ð/r4   c                  óô   — t           j                             d¦  «        } d}|                      |df¬¦  «        }|                      dd|df¬¦  «        }t          ||d| |¬¦  «        \  }}|j        dk    sJ ‚d S )Nr   r    r6   rR   rN   re   rU   )r"   r#   r&   rX   r'   r   Úndim)r\   rM   r^   r_   s       r,   Útest_resample_stratify_2dyrn   ™   s}   € å
Œ)×
Ò
 Ñ
"Ô
"€CØ€IØ�
Š
˜ A˜ˆ
Ñ'Ô'€AØ�Š�A�q 	¨1˜~ˆÑ.Ô.€AÝ�A�q B°SÀ1ÐEÑEÔE�D€A€qØŒ6�QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;r4   c                  óf  — t           j                             d¦  «        } d}|                      |df¬¦  «        }|                      dd|¬¦  «        }t          j        |¦  «        }t          j        t          d¬¦  «        5  t          ||d| |¬¦  «        \  }}d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   r    rN   rR   zA sparse matrix was passed©Úmatchre   rU   )r"   r#   r&   rX   r'   ÚspÚ
csr_matrixr(   r)   Ú	TypeErrorr   )r\   rM   r^   r_   rW   s        r,   Ú#test_resample_stratify_sparse_errorru   £   s  € å
Œ)×
Ò
 Ñ
"Ô
"€CØ€IØ�
Š
˜ A˜ˆ
Ñ'Ô'€AØ�Š�A�q˜yˆÑ)Ô)€AÝŒ}˜QÑÔ€HÝ	Œ•yÐ(DÐ	EÑ	EÔ	Eð Qð QÝ˜˜1¨¸ÀxÐPÑPÔP‰ˆˆ1ðQð Qð Qñ Qô Qð Qð Qð Qð Qð Qð Qð Qøøøð Qð Qð Qð Qð Qð Qs   ÂB&Â&B*Â-B*c                  ó$  — t          d¦  «        } |                      dd¦  «        }t          j        |¦  «        }g d¢}t	          ||¦  «        }||         j        d         dk    sJ ‚t	          ||¦  «        }||         j        d         dk    sJ ‚d S )Nr   rO   é   )FFTTTr   )r   Úrandrr   rs   r   rh   )rV   r^   ÚX_csrÚmasks       r,   Útest_safe_maskr{   ®   s›   € Ý% aÑ(Ô(€LØ×Ò˜!˜QÑÔ€AÝŒM˜!ÑÔ€EØ+Ð+Ð+€Då�Q˜ÑÔ€DØˆTŒ7Œ=˜Ô˜qÒ Ð Ð Ð å�U˜DÑ!Ô!€DØ�Œ;Ô˜QÔ 1Ò$Ð$Ð$Ð$Ð$Ð$r4   c                  ó  — dg d¢fdg d¢fdt          j        d¦  «        dz  fdg d¢fdg d	¢fdd
gdgdggfdg d¢g d¢gfdg d¢gfdd
d
gddgdd
ggfddd
gddgdd
ggfdg d¢gfdt          j        d¦  «                             d¦  «        fg} | D ]y\  }}|dv r0t          t	          |¦  «        t          j        |¦  «        ¦  «         Œ9t          j        t          ¦  «        5  t	          |¦  «         d d d ¦  «         n# 1 swxY w Y   Œzd S )NÚbinary)r2   Úeggr2   )r   r6   r   r6   Ú
continuousrT   g      4@Ú
multiclass©r6   rN   r   )r   r6   rN   rN   r   r6   rN   r   zmultilabel-indicator)r   r6   r   )r   r   r6   zmulticlass-multioutputrO   rw   zcontinuous-multioutputé   )éÿÿÿÿr   )r}   r€   r   )	r"   ÚarangeÚreshaper   r   Úravelr(   r)   r*   )ÚEXAMPLESÚy_typer_   s      r,   Útest_column_or_1dr‰   »   s§  € à	Ð*Ð*Ð*Ð+Ø	�<�<�<Ð Ø	•r”y ‘}”} tÑ+Ð,Ø	�y�y�yÐ!Ø	���Ð'Ø	˜˜˜a˜S 1 #�Ð'Ø	 ) ) )¨Y¨Y¨YÐ!7Ð8Ø	! I I I ;Ð/Ø	! Q¨ F¨Q°¨F°Q¸°FÐ#;Ð<Ø	! Q¨ F¨Q°¨F°Q¸°FÐ#;Ð<Ø	! I I I ;Ð/Ø	!¥2¤9¨R¡=¤=×#8Ò#8¸Ñ#AÔ#AÐBð€Hð ð  ð  ‰	ˆ�ØÐ;Ð;Ð;Ý�|¨A™œµ´¸±´Ñ<Ô<Ð<Ð<å”�zÑ*Ô*ð  ð  Ý˜Q‘”�ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  øð	 ð  s   Ã!C=Ã=D	ÄD	z
key, dtype)r   Úint)Ú0rE   )TÚboolTrŒ   ©r   r6   rN   rŠ   ©r‹   Ú1Ú2rE   )r�   rŠ   )rŽ   rE   rN   ©ÚdtypeF))TFrŒ   )Úcol_0rE   ©r“   Úcol_1Úcol_2)r”   rE   ÚbeginÚendc                 ó0   — t          | ¦  «        |k    sJ ‚d S ©N)r   )Úkeyr’   s     r,   Útest_determine_key_typerœ   Ó   s#   € õ8 ˜sÑ#Ô# uÒ,Ð,Ð,Ð,Ð,Ð,r4   c                  óŒ   — t          j        t          d¬¦  «        5  t          d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzNo valid specification of therp   ç      ð?)r(   r)   r*   r   r3   r4   r,   Útest_determine_key_type_errorrŸ   ò   sŠ   € Ý	Œ•zÐ)HÐ	IÑ	IÔ	Ið !ð !Ý˜CÑ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð !ð !s   œ9¹=Á =c                  ó®   — t          j        t          d¬¦  «        5  t          t	          ddd¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzOnly array-like or scalar arerp   r   rN   r6   F)Úaccept_slice)r(   r)   rt   r   Úslicer3   r4   r,   Ú#test_determine_key_type_slice_errorr£   ÷   s­   € Ý	Œ•yÐ(GÐ	HÑ	HÔ	Hð @ð @Ý�E ! Q¨™NœN¸Ð?Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð @ð @s   œ!A
Á
AÁAÚ
array_type)ÚlistÚarrayÚsparseÚ	dataframeÚindices_type)r¥   Útupler¦   Úseriesr¢   c                 ó.  — ddg}|dk    r+t          |d         t          ¦  «        r|dxx         dz  cc<   t          g d¢g d¢g d¢g| ¦  «        }t          ||¦  «        }t          ||d¬¦  «        }t	          |t          g d¢g d¢g| ¦  «        ¦  «         d S )	Nr6   rN   r¢   r�   ©rw   rO   é   ©é   é   r   r   ©Úaxis©Ú
isinstancerŠ   r   r   r   ©r¤   r©   Úindicesr¦   Úsubsets        r,   Ú&test_safe_indexing_2d_container_axis_0r¹   ü   s¾   € ð �!ˆf€GØ�wÒÐ¥:¨g°a¬j½#Ñ#>Ô#>ÐØ�ˆ
ˆ
Œ
�a‰ˆ
ˆ
‰
Ý 	 	 	¨9¨9¨9°i°i°iÐ@À*ÑMÔM€EÝ  ¨,Ñ7Ô7€GÝ˜E 7°Ð3Ñ3Ô3€FÝ ØÕ" I I I¨y¨y¨yÐ#9¸:ÑFÔFñô ð ð ð r4   )r¥   r¦   r«   c                 ó  — ddg}|dk    r+t          |d         t          ¦  «        r|dxx         dz  cc<   t          g d¢| ¦  «        }t          ||¦  «        }t          ||d¬¦  «        }t	          |t          ddg| ¦  «        ¦  «         d S )Nr6   rN   r¢   ©	r6   rN   r   rw   rO   r®   r°   r±   r   r   r²   r   r´   r¶   s        r,   Útest_safe_indexing_1d_containerr¼   
  sž   € ð �!ˆf€GØ�wÒÐ¥:¨g°a¬j½#Ñ#>Ô#>ÐØ�ˆ
ˆ
Œ
�a‰ˆ
ˆ
‰
ÝÐ:Ð:Ð:¸JÑGÔG€EÝ  ¨,Ñ7Ô7€GÝ˜E 7°Ð3Ñ3Ô3€FÝ  Õ);¸QÀ¸FÀJÑ)OÔ)OÑPÔPÐPÐPÐPr4   )r¦   r§   r¨   r·   r6   r•   r–   c           	      ó*  — t          |¦  «        }|dk    r+t          |d         t          ¦  «        r|dxx         dz  cc<   g d¢}t          g d¢g d¢g d¢g| |¦  «        }t          ||¦  «        }t          |d         t          ¦  «        rP| dk    rJd	}t          j        t          |¬
¦  «        5  t          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S t          ||d¬¦  «        }t          |t          ddgddgddgg| ¦  «        ¦  «         d S )Nr¢   r6   r”   r�   r­   r¯   r   r¨   úLSpecifying the columns using strings is only supported for pandas DataFramesrp   r²   rN   r   rO   r®   r±   r   )
r   rµ   rŠ   r   rE   r(   r)   r*   r   r   )r¤   r©   r·   Úindices_convertedÚcolumns_namer¦   Úerr_msgr¸   s           r,   Ú&test_safe_indexing_2d_container_axis_1rÂ     s¢  € õ ˜W™œÐØ�wÒÐ¥:¨g°a¬j½#Ñ#>Ô#>ÐØ˜!ÐÐÔ Ñ!ÐÐÑà.Ð.Ð.€LÝØ	ˆˆ�I�I�I˜y˜y˜yÐ)¨:°|ñô €Eõ +Ð+<¸lÑKÔKÐå�'˜!”*�cÑ"Ô"ð 
 z°[Ò'@Ð'@ð$ð 	õ Œ]�:¨WÐ5Ñ5Ô5ð 	=ð 	=Ý˜5Ð"3¸!Ð<Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=õ   Ð'8¸qÐAÑAÔAˆÝ$ØÕ&¨¨A¨°°A°¸¸A¸Ð'?ÀÑLÔLñ	
ô 	
ð 	
ð 	
ð 	
s   Â-CÃCÃCÚarray_read_onlyÚindices_read_onlyr¦   r«   zaxis, expected_arrayr­   r¯   r   rO   r®   r±   c                 ól  — t          j        g d¢g d¢g d¢g¦  «        }| r|                     d¬¦  «         t          ||¦  «        }t          j        ddg¦  «        }|r|                     d¬¦  «         t          ||¦  «        }t	          |||¬¦  «        }t          |t          ||¦  «        ¦  «         d S )	Nr�   r­   r¯   F)Úwriter6   rN   r²   )r"   r¦   Úsetflagsr   r   r   )	rÃ   rÄ   r¤   r©   r³   Úexpected_arrayr¦   r·   r¸   s	            r,   Ú&test_safe_indexing_2d_read_only_axis_1rÉ   4  sÇ   € õ ŒH�i�i�i   ¨I¨I¨IÐ6Ñ7Ô7€EØð $Ø�Š˜UˆÑ#Ô#Ð#Ý˜u jÑ1Ô1€EÝŒh˜˜1�vÑÔ€GØð &Ø×Ò˜uÐÑ%Ô%Ð%Ý  ¨,Ñ7Ô7€GÝ˜E 7°Ð6Ñ6Ô6€FÝ  Õ);¸NÈJÑ)WÔ)WÑXÔXÐXÐXÐXr4   )r¥   rª   r¦   r«   c                 óÐ   — dgdgdz  z   dgdz  z   }t          g d¢| ¦  «        }t          ||¦  «        }t          ||d¬¦  «        }t          |t          ddg| ¦  «        ¦  «         d S )	NFTrN   r®   r»   r   r²   r   ©r   r   r   r¶   s        r,   Ú$test_safe_indexing_1d_container_maskrÌ   J  s   € ð ˆg˜˜ ™
Ñ" e W¨q¡[Ñ0€GÝÐ:Ð:Ð:¸JÑGÔG€EÝ  ¨,Ñ7Ô7€GÝ˜E 7°Ð3Ñ3Ô3€FÝ  Õ);¸QÀ¸FÀJÑ)OÔ)OÑPÔPÐPÐPÐPr4   zaxis, expected_subsetc                 óÊ   — g d¢}t          g d¢g d¢g d¢g| |¦  «        }g d¢}t          ||¦  «        }t          |||¬¦  «        }t          |t          || ¦  «        ¦  «         d S )Nr”   r�   r­   r¯   )FTTr²   rË   )r¤   r©   r³   Úexpected_subsetrÀ   r¦   r·   r¸   s           r,   Útest_safe_indexing_2d_maskrÏ   T  s”   € ð /Ð.Ð.€LÝØ	ˆˆ�I�I�I˜y˜y˜yÐ)¨:°|ñô €Eð "Ð!Ð!€GÝ  ¨,Ñ7Ô7€Gå˜E 7°Ð6Ñ6Ô6€FÝ ØÕ" ?°JÑ?Ô?ñô ð ð ð r4   z array_type, expected_output_type))r¥   r¥   ©r¦   r¦   ©r§   r§   ©r¨   r«   c                 ó¤   — t          g d¢g d¢g d¢g| ¦  «        }d}t          ||d¬¦  «        }t          g d¢|¦  «        }t          ||¦  «         d S )Nr�   r­   r¯   rN   r   r²   rË   )r¤   Úexpected_output_typer¦   r·   r¸   rÈ   s         r,   Ú#test_safe_indexing_2d_scalar_axis_0rÕ   h  si   € õ  	 	 	¨9¨9¨9°i°i°iÐ@À*ÑMÔM€EØ€GÝ˜E 7°Ð3Ñ3Ô3€FÝ'¨	¨	¨	Ð3GÑHÔH€NÝ  ¨Ñ8Ô8Ð8Ð8Ð8r4   c                 ób   — t          g d¢| ¦  «        }d}t          ||d¬¦  «        }|dk    sJ ‚d S )Nr»   rN   r   r²   r   )r   r   )r¤   r¦   r·   r¸   s       r,   Útest_safe_indexing_1d_scalarr×   y  sB   € åÐ:Ð:Ð:¸JÑGÔG€EØ€GÝ˜E 7°Ð3Ñ3Ô3€FØ�QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;r4   )rÐ   rÑ   rÒ   c                 ó”  — g d¢}t          g d¢g d¢g d¢g| |¦  «        }t          |t          ¦  «        rP| dk    rJd}t          j        t
          |¬¦  «        5  t          ||d¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S t          ||d¬	¦  «        }g d
¢}|dk    rdgdgdgg}t          ||¦  «        }t          ||¦  «         d S )Nr”   r�   r­   r¯   r¨   r¾   rp   r6   r²   )r   r®   r   r§   r   r®   r   )r   rµ   rE   r(   r)   r*   r   r   )	r¤   rÔ   r·   rÀ   r¦   rÁ   r¸   Úexpected_outputrÈ   s	            r,   Ú#test_safe_indexing_2d_scalar_axis_1rÚ   �  sQ  € ð /Ð.Ð.€LÝØ	ˆˆ�I�I�I˜y˜y˜yÐ)¨:°|ñô €Eõ �'�3ÑÔð = J°+Ò$=Ð$=ð$ð 	õ Œ]�:¨WÐ5Ñ5Ô5ð 	3ð 	3Ý˜5 '°Ð2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð 	3ð 	3õ    w°QÐ7Ñ7Ô7ˆØ#˜)˜)ˆØ 8Ò+Ð+à !˜s Q C¨!¨˜oˆOÝ+¨OÐ=QÑRÔRˆÝ$ V¨^Ñ<Ô<Ð<Ð<Ð<s   ÁA7Á7A;Á>A;)r¥   r¦   r§   c                 ó|   — t          g d¢g d¢g d¢g| ¦  «        }t          |d d¬¦  «        }t          ||¦  «         d S )Nr�   r­   r¯   r   r²   rË   )r¤   r^   ÚX_subsets      r,   Útest_safe_indexing_None_axis_0rÝ   �  sN   € å˜I˜I˜I y y y°)°)°)Ð<¸jÑIÔI€AÝ˜a ¨AÐ.Ñ.Ô.€HÝ  ¨1Ñ-Ô-Ð-Ð-Ð-r4   c                  óô   — t          j        d¦  «        } d}|                      t          ¦  «        }t          j        t
          |¬¦  «        5  t          |dgd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚpandasz&No valid specification of the columns.rp   rž   r6   r²   )r(   ÚimportorskipÚ	DataFrameÚX_toyr)   r*   r   )ÚpdrÁ   r^   s      r,   Ú0test_safe_indexing_pandas_no_matching_cols_errorrä   ¤  s¸   € Ý	Ô	˜XÑ	&Ô	&€BØ6€GØ
�Š•UÑÔ€AÝ	Œ•z¨Ð	1Ñ	1Ô	1ð )ð )Ý�q˜3˜% aÐ(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   ÁA-Á-A1Á4A1r³   c                 ó    — t          j        t          d¬¦  «        5  t          t          ddg| ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz'axis' should be either 0rp   r   r6   r²   )r(   r)   r*   r   râ   r²   s    r,   Útest_safe_indexing_error_axisræ   ¬  s•   € å	Œ•zÐ)DÐ	EÑ	EÔ	Eð 1ð 1Ý•u˜q !˜f¨4Ð0Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1s   œAÁAÁ
AÚX_constructorc                 óf  — t          t          d¦  «        ¦  «        }| dk    rt          j        |¦  «        } n/| dk    r)t	          j        d¦  «        }|                     |¦  «        } d}t	          j        t          |¬¦  «        5  t          | ddgd¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
NrO   r¦   r«   rß   z:'X' should be a 2D NumPy array, 2D sparse matrix or pandasrp   r   r6   r²   )
r¥   Úranger"   Úasarrayr(   rà   ÚSeriesr)   r*   r   )rç   r^   rã   rÁ   s       r,   Ú!test_safe_indexing_1d_array_errorrì   ²  sð   € õ 	�U�1‰XŒX‰Œ€AØ˜ÒÐÝœ
 1™œˆˆØ	˜(Ò	"Ð	"ÝÔ  Ñ*Ô*ˆØŸ	š	 !™œˆàJ€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 6ð 6Ý�} q¨! f°1Ð5Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6s   ÂB&Â&B*Â-B*c                  ó´   — ddg} g d¢g d¢g d¢g}d}t          j        t          |¬¦  «        5  t          || d¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr•   r–   r�   r­   r¯   z.String indexing is not supported with 'axis=0'rp   r   r²   )r(   r)   r*   r   )r·   r¦   rÁ   s      r,   Ú4test_safe_indexing_container_axis_0_unsupported_typerî   Â  s·   € Ø˜Ð €GØˆYˆY˜	˜	˜	 9 9 9Ð-€EØ>€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð /ð /Ý�u˜g¨AÐ.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   ­AÁAÁAc                  ó®  — t          j        d¦  «        } |                      g d¢g d¢dœ¦  «        }t          |ddgd¬¦  «        }t	          | j        d¦  «        r| j        j        }n| j        j        j        }t          j
        ¦   «         5  t          j        d	|¦  «         d
|j        d<   d d d ¦  «         n# 1 swxY w Y   |j        d         dk    sJ ‚d S )Nrß   r�   )r   rw   rO   )ÚaÚbr   r6   r²   ÚSettingWithCopyWarningÚerrorrT   )r   r   )r(   rà   rá   r   rH   Úerrorsrò   ÚcoreÚcommonr>   r?   r@   Úiloc)rã   r^   r¸   rò   s       r,   Ú4test_safe_indexing_pandas_no_settingwithcopy_warningrø   Ê  s#  € õ 
Ô	˜XÑ	&Ô	&€Bà
�Š˜9˜9˜9¨9¨9¨9Ð5Ð5Ñ6Ô6€AÝ˜A  1˜v¨AÐ.Ñ.Ô.€FÝˆrŒyÐ2Ñ3Ô3ð GØ!#¤Ô!AÐÐð "$¤¤Ô!FÐÝ	Ô	 Ñ	"Ô	"ð ð ÝÔ˜gÐ'=Ñ>Ô>Ð>ØˆŒ�DÑðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð Œ6�$Œ<˜1ÒÐÐÐÐÐs   Â B7Â7B;Â>B;zkey, err_msg)rT   z all features must be in \[0, 2\])Úwhateverz/A given column is not a column of the dataframec                 óò   — t          j        d¦  «        }|                     t          g d¢¬¦  «        }t          j        t
          |¬¦  «        5  t          || ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrß   r”   ©Úcolumnsrp   )r(   rà   rá   râ   r)   r*   r   )r›   rÁ   rã   ÚX_dfs       r,   Útest_get_column_indices_errorrþ   Ý  s¹   € õ 
Ô	˜XÑ	&Ô	&€BØ�<Š<�Ð'BÐ'BÐ'Bˆ<ÑCÔC€Då	Œ•z¨Ð	1Ñ	1Ô	1ð 'ð 'Ý˜D #Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ð 'ð 's   ÁA,Á,A0Á3A0r›   Úcol1Úcol2Úcol3c                 óz  — t          j        d¦  «        }t          j        dt          ¬¦  «        }g d¢}|                     ||¬¦  «        }d                     | ¦  «        }t          j        t          ¦  «        5 }t          || ¦  «         d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        |k    sJ ‚d S )Nrß   )r6   rO   r‘   )rÿ   rÿ   r   r  r   rû   z1Selected columns, {}, are not unique in dataframe)r(   rà   r"   ÚzerosrŠ   rá   Úformatr)   r*   r   rE   Úvalue)r›   rã   Útoyrü   r^   rÁ   Úexc_infos          r,   Ú6test_get_column_indices_pandas_nonunique_columns_errorr  ì  sî   € õ 
Ô	˜XÑ	&Ô	&€BÝ
Œ(�6¥Ð
%Ñ
%Ô
%€CØ6Ð6Ð6€GØ
�Š�S 'ˆÑ*Ô*€AàA×HÒHÈÑMÔM€GÝ	Œ•zÑ	"Ô	"ð $ hÝ˜A˜sÑ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $åˆxŒ~ÑÔ 'Ò)Ð)Ð)Ð)Ð)Ð)s   Á9BÂBÂBc                  óÚ   — d„ } t          j        ddgddggddgdd	ggg¦  «        }t           | |¦  «        ¦  «        }t          |¦  «         t           | |¦  «        ¦  «        |k    sJ ‚d S )
Nc                 ó4   — t          d„ | D ¦   «         ¦  «        S )Nc              3   óH   K  — | ]}t          d „ |D ¦   «         ¦  «        V — ŒdS )c              3   ó4   K  — | ]}t          |¦  «        V — Œd S rš   ©rª   )Ú.0ÚCs     r,   ú	<genexpr>zPtest_shuffle_on_ndim_equals_three.<locals>.to_tuple.<locals>.<genexpr>.<genexpr>ý  s(   è è € Ð/Ð/¨�5 ™8œ8Ð/Ð/Ð/Ð/Ð/Ð/r4   Nr  )r  ÚBs     r,   r  zFtest_shuffle_on_ndim_equals_three.<locals>.to_tuple.<locals>.<genexpr>ý  s9   è è € Ð;Ð;°A•UÐ/Ð/¨QÐ/Ñ/Ô/Ñ/Ô/Ð;Ð;Ð;Ð;Ð;Ð;r4   r  )ÚAs    r,   Úto_tuplez3test_shuffle_on_ndim_equals_three.<locals>.to_tupleü  s   € ÝÐ;Ð;¸Ð;Ñ;Ô;Ñ;Ô;Ð;r4   r6   rN   r   rw   rO   r®   r°   r±   )r"   r¦   Úsetr   )r  r  ÚSs      r,   Ú!test_shuffle_on_ndim_equals_threer  û  sˆ   € ð<ð <ð <õ 	Œ�A�q�6˜A˜q˜6Ð" a¨ V¨a°¨VÐ$4Ð5Ñ6Ô6€AÝˆHˆH�Q‰KŒKÑÔ€AÝˆA�J„J€JÝˆxˆx˜‰{Œ{ÑÔ˜qÒ Ð Ð Ð Ð Ð r4   c            	      óF  — g d¢} t          j        g d¢t          ¬¦  «        }g d¢}t          t          j        ddgddgdd	ggt          ¬¦  «        ¦  «        }t	          j        t          j        d
¦  «                             dd	¦  «        ¦  «        }t          | ||||d¬¦  «        \  }}}}}	|g d¢k    sJ ‚t          |¦  «        t          k    sJ ‚t          |g d¢¦  «         |j        t          k    sJ ‚|g d¢k    sJ ‚t          |¦  «        t          k    sJ ‚t          |t          j        dd	gddgddggt          ¬¦  «        ¦  «         t          |¦  «        t          k    sJ ‚t          |	                     ¦   «         t          j        ddgd	dgddgg¦  «        ¦  «         d S )N)rð   rñ   Úcr‘   r�   rð   r   rñ   r6   r  rN   r®   r   )rV   )r  rñ   rð   )r   rN   r6   rw   rO   )r"   r¦   Úobjectr   rr   Ú
csc_matrixr„   r…   r   Útyper¥   r   r’   Útoarray)
rð   rñ   r  ÚdÚeÚa_sÚb_sÚc_sÚd_sÚe_ss
             r,   Ú"test_shuffle_dont_convert_to_arrayr$    s¬  € ð 	ˆˆ€AÝ
Œ���­Ð/Ñ/Ô/€AØˆ	ˆ	€AÝ•b”h  a ¨3°¨(°S¸!°HÐ=ÅVÐLÑLÔLÑMÔM€AÝ
Œ•b”i ‘l”l×*Ò*¨1¨aÑ0Ô0Ñ1Ô1€AÝ% a¨¨A¨q°!À!ÐDÑDÔDÑ€Cˆˆc�3˜à�/�/�/Ò!Ð!Ð!Ð!Ý�‰9Œ9�ÒÐÐÐå�s˜O˜O˜OÑ,Ô,Ð,ØŒ9�ÒÐÐÐà�)�)�)ÒÐÐÐÝ�‰9Œ9�ÒÐÐÐå�s�BœH s¨A h°°a°¸3À¸(Ð%CÍ6ÐRÑRÔRÑSÔSÐSÝ�‰9Œ9�Ò%Ð%Ð%Ð%å�s—{’{‘}”}¥b¤h°°A°¸¸A¸ÀÀAÀÐ/GÑ&HÔ&HÑIÔIÐIÐIÐIr4   c            	      óL  ‡— t          d¦  «        Št          t          ˆfd„t          dd¦  «        D ¦   «         Ž ¦  «        } t	          ‰| ¦  «         t          dd¦  «        }t          j        t          d¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrT   c                 ó    •— g | ]
}‰|         ‘ŒS r3   r3   )r  r¢   Ú
some_ranges     €r,   ú
<listcomp>z(test_gen_even_slices.<locals>.<listcomp>!  s   ø€ ÐVÐVÐV°e 
¨5Ô 1ÐVÐVÐVr4   r   rƒ   z+gen_even_slices got n_packs=-1, must be >=1rp   )	ré   r¥   r   r   r   r(   r)   r*   Únext)Újoined_rangeÚslicesr'  s     @r,   Útest_gen_even_slicesr,    sæ   ø€ å�r‘”€JÝ�ÐVÐVÐVÐV½ÈrÐSTÑ?UÔ?UÐVÑVÔVÐWÑXÔX€LÝ�z <Ñ0Ô0Ð0õ ˜R Ñ$Ô$€FÝ	Œ•zÐ)VÐ	WÑ	WÔ	Wð ð ÝˆV‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á<BÂBÂ B)Ú	row_bytesÚ
max_n_rowsÚworking_memoryÚexpected))é   Nr6   r1  )r1  NgGœ¡úÿÿï?éÿ  )r2  Nr6   é  )r3  Nr6   r2  )r1  NrN   i   )r1  r°   r6   r°   )i   Nr6   r6   c                 óT  — t          j        ¦   «         5  t          j        dt          ¦  «         t	          | ||¬¦  «        }d d d ¦  «         n# 1 swxY w Y   ||k    sJ ‚t          |¦  «        t          |¦  «        u sJ ‚t          |¬¦  «        5  t          j        ¦   «         5  t          j        dt          ¦  «         t	          | |¬¦  «        }d d d ¦  «         n# 1 swxY w Y   ||k    sJ ‚t          |¦  «        t          |¦  «        u sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nró   ©r-  r.  r/  ©r/  ©r-  r.  )r>   r?   r@   ÚUserWarningr   r  r   )r-  r.  r/  r0  Úactuals        r,   Útest_get_chunk_n_rowsr:  *  s
  € õ 
Ô	 Ñ	"Ô	"ð 
ð 
ÝÔ˜g¥{Ñ3Ô3Ð3Ý!ØØ!Ø)ð
ñ 
ô 
ˆð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð �XÒÐÐÐÝ�‰<Œ<�4 ™>œ>Ð)Ð)Ð)Ð)Ý	 ~Ð	6Ñ	6Ô	6ð .ð .ÝÔ$Ñ&Ô&ð 	Rð 	RÝÔ! '­;Ñ7Ô7Ð7Ý%°	ÀjÐQÑQÔQˆFð	Rð 	Rð 	Rñ 	Rô 	Rð 	Rð 	Rð 	Rð 	Rð 	Rð 	Røøøð 	Rð 	Rð 	Rð 	Rð ˜Ò!Ð!Ð!Ð!Ý�F‰|Œ|�t H™~œ~Ð-Ð-Ð-Ð-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .sG   ”-AÁAÁAÂDÂ$,CÃDÃC 	Ã DÃ#C 	Ã$+DÄD!Ä$D!c                  ó   — d} d}d}d}d}t          j        t          |¬¦  «        5  t          | ||¬¦  «        }ddd¦  «         n# 1 swxY w Y   ||k    sJ ‚t	          |¦  «        t	          |¦  «        u sJ ‚t          |¬¦  «        5  t          j        t          |¬¦  «        5  t          | |¬¦  «        }ddd¦  «         n# 1 swxY w Y   ||k    sJ ‚t	          |¦  «        t	          |¦  «        u sJ ‚	 ddd¦  «         dS # 1 swxY w Y   dS )	z<Check that warning is raised when working_memory is too low.i  Nr6   zICould not adhere to working_memory config. Currently 1MiB, 2MiB required.rp   r5  r6  r7  )r(   Úwarnsr8  r   r  r   )r-  r.  r/  r0  Úwarn_msgr9  s         r,   Útest_get_chunk_n_rows_warnsr>  I  s  € à€IØ€JØ€NØ€Hð 	Tð õ 
Œ•k¨Ð	2Ñ	2Ô	2ð 
ð 
Ý!ØØ!Ø)ð
ñ 
ô 
ˆð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð �XÒÐÐÐÝ�‰<Œ<�4 ™>œ>Ð)Ð)Ð)Ð)å	 ~Ð	6Ñ	6Ô	6ð .ð .ÝŒ\�+¨XÐ6Ñ6Ô6ð 	Rð 	RÝ%°	ÀjÐQÑQÔQˆFð	Rð 	Rð 	Rñ 	Rô 	Rð 	Rð 	Rð 	Rð 	Rð 	Rð 	Røøøð 	Rð 	Rð 	Rð 	Rà˜Ò!Ð!Ð!Ð!Ý�F‰|Œ|�t H™~œ~Ð-Ð-Ð-Ð-Ð-ð	.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .sG   ¦AÁA	ÁA	ÂDÂ$CÂ6DÃC	ÃDÃ	C	Ã
+DÄDÄ
D)ÚsourcerF   Úis_longÚABCÚABCDEFÚABCABCABCABCABCABCABCABCABCABCu   á�ˆÚtimeÚtime_str))gš™™™™™É?z   0.2s)é   z  20.0s)iÐ  z33.3min)i N  z333.3minc                 ó¢  — t          | ||¦  «        }|rt          |¦  «        dk    sJ ‚nt          |¦  «        dk    sJ ‚|                     d| z   dz   ¦  «        sJ ‚|t          | ¦  «        dz   d …         }|                     |¦  «        sJ ‚|d t          |¦  «         …         }|                     d¦  «        sJ ‚|d t          d¦  «         …         }|                     |¦  «        sJ ‚|d t          |¦  «         …         }|                     d¦  «        sJ ‚|d d…         }|r|rJ ‚d S t	          t          |¦  «        ¦  «        dgk    sJ ‚d S )	NéF   ú[z] r   z, total=ú rƒ   ú.)r	   rA   Ú
startswithÚendswithr¥   r  )r?  rF   r@  rD  rE  Úouts         r,   Útest_message_with_timerO  d  sn  € õ( ˜V W¨dÑ
3Ô
3€CØð Ý�3‰xŒx˜"Š}ˆ}ˆ}ˆ}ˆ}å�3‰xŒx˜2Š~ˆ~ˆ~ˆ~à�>Š>˜# ™,¨Ñ-Ñ.Ô.Ð.Ð.Ð.Ø
�c�&‰kŒk˜A‰oÐÐÔ
 €Cà�<Š<˜Ñ!Ô!Ð!Ð!Ð!Ø
Ð•�X‘”�ÐÔ
€CØ�<Š<˜
Ñ#Ô#Ð#Ð#Ð#Ø
Ð •�Z‘”Ð Ð Ô
!€CØ�<Š<˜Ñ Ô Ð Ð Ð Ø
ˆo•�W‘”�ˆoÔ
€CØ�<Š<˜ÑÔÐÐÐØ
ˆcˆrˆcŒ(€Càð 'Øˆˆˆˆˆå•C˜‘H”H‰~Œ~ # Ò&Ð&Ð&Ð&Ð&Ð&r4   rF   r0  Úhelloçš™™™™™¹?ú
Ú )NrS  c                 ó  — |                      t          dd„ ¦  «         t          d| ¦  «        5  |                      t          dd„ ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         j        |k    sJ ‚d S )NÚdefault_timerc                  ó   — dS )Nr   r3   r3   r4   r,   ú<lambda>z)test_print_elapsed_time.<locals>.<lambda>™  s   € ¸€ r4   rA  c                  ó   — dS )NrQ  r3   r3   r4   r,   rW  z)test_print_elapsed_time.<locals>.<lambda>›  s   € ¸S€ r4   )ÚsetattrÚtimeitr
   Ú
readouterrrN  )rF   r0  ÚcapsysÚmonkeypatchs       r,   Útest_print_elapsed_timer^  �  sÔ   € ð ×Ò� °°Ñ;Ô;Ð;Ý	˜U GÑ	,Ô	,ð Bð BØ×Ò�F O°[°[ÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bà×ÒÑÔÔ" hÒ.Ð.Ð.Ð.Ð.Ð.s   ®AÁAÁAzvalue, resultÚnan)r   F)g        F)NF)rS  F)r_  F)l   	H]v—i—eøFc                 ót   — t          | ¦  «        |u sJ ‚t          t          | ¦  «        t          ¦  «        sJ ‚d S rš   )r   rµ   rŒ   )r  Úresults     r,   Útest_is_scalar_nanrb  Ÿ  sA   € õ$ ˜ÑÔ 6Ð)Ð)Ð)Ð)å•m EÑ*Ô*­DÑ1Ô1Ð1Ð1Ð1Ð1Ð1r4   c                  ó’   — t          j        ddgt           j        ¬¦  «        } t          | dd¬¦  «        }t	          |ddg¦  «         d	S )
zþMake sure sklearn.utils._approximate_mode returns valid
    results for cases where "class_counts * n_draws" is enough
    to overflow 32-bit signed integer.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/20774
    i¸‚ rf   r‘   i¨a  r   )Úclass_countsÚn_drawsr\   i®`  éú   N)r"   r¦   Úint32r   r   )r^   Úrets     r,   Útest_approximate_moderi  ¶  sN   € õ 	Œ�%˜�¥b¤hÐ/Ñ/Ô/€AÝ
¨°E¸qÐ
AÑ
AÔ
A€Cõ
 �s˜U C˜LÑ)Ô)Ð)Ð)Ð)r4   c                  ó   — d S rš   r3   r3   r4   r,   Ú
dummy_funcrk  Ç  s   € Ø€Dr4   c                 ó€   — ddl m}m} t          |dd ¦  «         t          |dd ¦  «         ddlm} |j        j        d= d S )Nr   )Úparallel_backendÚregister_parallel_backendÚlokyÚfailing)Újoblib)Úsklearn.utilsrm  rn  r   Úsklearn.utils._joblibrq  ÚparallelÚBACKENDS)Útmpdirrm  rn  rq  s       r,   Útest_deprecation_joblib_apirw  Ë  sh   € ð JÐIÐIÐIÐIÐIÐIÐIåÐ'¨°Ñ6Ô6Ð6ÝÐ0°)¸TÑBÔBÐBà,Ð,Ð,Ð,Ð,Ð,àŒÔ  Ð+Ð+Ð+r4   Úsequencerw   c                 óš   — t          | ¦  «        }t          |t          j        ¦  «        sJ ‚|j        j        dk    sJ ‚|j        dk    sJ ‚d S )NÚOr6   )r   rµ   r"   Úndarrayr’   Úkindrm   )rx  rN  s     r,   Útest_to_object_arrayr}  Ø  sO   € å
˜8Ñ
$Ô
$€CÝ�c�2œ:Ñ&Ô&Ð&Ð&Ð&ØŒ9Œ>˜SÒ Ð Ð Ð ØŒ8�qŠ=ˆ=ˆ=ˆ=ˆ=ˆ=r4   c                 ó(  — t           j                             d¦  «        }|                     dd¦  «        }ddg}|                     t	          |¦  «        |j        d         ¦  «        }t          || ¦  «        }t          |||¬¦  «         t          ||d¬¦  «        }t          |t          || ¦  «        ¦  «         ddg}|                     |j        d         t	          |¦  «        ¦  «        }t          || ¦  «        }t          |||¬¦  «         t          ||d¬¦  «        }t          |t          || ¦  «        ¦  «         d	\  }} |j        |j        Ž }t          || ¦  «        }t          |||¬¦  «         t          |t          || ¦  «        ¦  «         d
S )z,Check that `_safe_assign` works as expected.r   rT   rO   r6   rN   )Úrow_indexerr²   )Úcolumn_indexer)NNN)
r"   r#   r&   ÚrandnrA   rh   r   r   r   r   )r¤   r\   ÚX_arrayr  Úvaluesr^   Úassigned_portionr€  s           r,   Útest_safe_assignr…  à  s›  € õ Œ)×
Ò
 Ñ
"Ô
"€CØ�iŠi˜˜AÑÔ€Gà�a�&€KØ�YŠY•s˜;Ñ'Ô'¨¬°qÔ)9Ñ:Ô:€FÝ˜7 JÑ/Ô/€AÝ��F¨Ð4Ñ4Ô4Ð4å% a¨¸1Ð=Ñ=Ô=ÐÝ ØÕ,¨V°ZÑ@Ô@ñô ð ð ˜�V€NØ�YŠY�w”} QÔ'­¨^Ñ)<Ô)<Ñ=Ô=€FÝ˜7 JÑ/Ô/€AÝ��F¨>Ð:Ñ:Ô:Ð:å% a¨¸aÐ@Ñ@Ô@ÐÝ ØÕ,¨V°ZÑ@Ô@ñô ð ð #-Ñ€K�ØˆSŒY˜œÐ €FÝ˜7 JÑ/Ô/€AÝ��F¨>Ð:Ñ:Ô:Ð:å  Õ$6°v¸zÑ$JÔ$JÑKÔKÐKÐKÐKr4   )bÚstringrZ  r>   r   Ú	itertoolsr   Únumpyr"   r(   Úscipy.sparser§   rr   Úsklearnr   rr  r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Úsklearn.utils._mockingr   Úsklearn.utils._testingr   r   r   r   r„   r…   râ   r-   rJ   rP   rc   rk   rn   ru   r{   r‰   ÚmarkÚparametrizeÚbool_r¢   r¦   rg  Úint64Úuint8r  rœ   rŸ   r£   r¹   r¼   rÂ   rÉ   rÌ   rÏ   rÕ   r×   rÚ   rÝ   rä   ræ   rì   rî   rø   rþ   r  r  r$  r,  r:  r>  Úascii_lowercaserO  r^  Úfloatr_  Úfloat32Úfloat64rb  ri  rk  rw  r}  r…  r3   r4   r,   ú<module>r–     sz  ðØ €€€Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð& 1Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð 	ˆŒ	�!‰Œ×Ò˜VÑ$Ô$€ð0ð 0ð 0ð$"9ð "9ð "9ðJ3ð 3ð 3ð%ð %ð %ð 0ð 0ð 0ð2ð ð ðQð Qð Qð
%ð 
%ð 
%ð ð  ð  ð0 „×ÒØàØØØ	ˆŒ�$‰Œ˜Ð Ø	ˆˆ�EÐØ	ˆˆ˜%Ð ØØ Ø	ˆˆt�TÑ	Ô	˜DÐ!Ø	ˆˆq�!‰Œ�eÐØ	ˆŒ�)�)�) 2¤8Ð	,Ñ	,Ô	,¨eÐ4Ø	ˆŒ�)�)�) 2¤8Ð	,Ñ	,Ô	,¨eÐ4Ø	ˆŒ�)�)�) 2¤8Ð	,Ñ	,Ô	,¨eÐ4Ø
�ˆ˜ÐØØ	ˆŒ�4˜�-Ñ	 Ô	  &Ð)ØØ	$Ð	$Ð	$ eÐ,Ø,Ø	ˆˆw˜Ñ	Ô	 Ð&Ø	ˆŒÐ-Ð-Ð-Ñ	.Ô	.°Ð6Ø	ˆŒÐ-Ð-Ð-°VÐ	<Ñ	<Ô	<¸eÐDð-ñô ð6-ð -ñ7ô ð6-ð!ð !ð !ð
@ð @ð @ð
 „×Ò˜Ð'OÐ'OÐ'OÑPÔPØ„×Ò˜Ð)VÐ)VÐ)VÑWÔWð	ð 	ñ XÔWñ QÔPð	ð „×Ò˜Ð'BÐ'BÐ'BÑCÔCØ„×Ò˜Ð)VÐ)VÐ)VÑWÔWðQð Qñ XÔWñ DÔCðQð „×Ò˜Ð'GÐ'GÐ'GÑHÔHØ„×Ò˜Ð)VÐ)VÐ)VÑWÔWØ„×Ò˜ a¨ V¨g°wÐ-?Ð$@ÑAÔAð
ð 
ñ BÔAñ XÔWñ IÔHð
ð6 „×ÒÐ*¨T°5¨MÑ:Ô:Ø„×ÒÐ,¨t°U¨mÑ<Ô<Ø„×Ò˜Ð'GÐ'GÐ'GÑHÔHØ„×Ò˜¨'°8Ð)<Ñ=Ô=Ø„×ÒØ˜a ) ) )¨Y¨Y¨YÐ!7Ð8¸1ÀÀ1¸vÈÈ1ÀvÐPQÐSTÈvÐ>VÐ:WÐXñô ðYð Yñô ñ >Ô=ñ IÔHñ =Ô<ñ ;Ô:ðYð „×Ò˜Ð'BÐ'BÐ'BÑCÔCØ„×Ò˜Ð)MÐ)MÐ)MÑNÔNðQð Qñ OÔNñ DÔCðQð „×Ò˜Ð'GÐ'GÐ'GÑHÔHØ„×Ò˜Ð)MÐ)MÐ)MÑNÔNØ„×ÒØØˆ)ˆ)ˆ)�Y�Y�YÐ	Ð  1¨¨1 v°°1¨v¸¸1°vÐ&>Ð"?Ð@ñô ðð ñ	ô ñ OÔNñ IÔHðð „×ÒØ&ðð ð ñô ð9ð 9ñô ð9ð „×Ò˜Ð'BÐ'BÐ'BÑCÔCðð ñ DÔCðð „×ÒØ&ØGÐGÐGñô ð „×Ò˜ Q¨ LÑ1Ô1ð=ð =ñ 2Ô1ñ	ô ð
=ð. „×Ò˜Ð'BÐ'BÐ'BÑCÔCð.ð .ñ DÔCð.ð)ð )ð )ð „×Ò˜ $¨ Ñ+Ô+ð1ð 1ñ ,Ô+ð1ð
 „×Ò˜¨7°HÐ*=Ñ>Ô>ð6ð 6ñ ?Ô>ð6ð/ð /ð /ðð ð ð& „×ÒØà1ØGðñô ð'ð 'ñô ð'ð „×ÒØ	ˆVˆH�v�h ¨Ð 0°6¸6Ð2BÀVÈVÐDTÐUñô ð	*ð 	*ñô ð	*ð!ð !ð !ðJð Jð Jð2	ð 	ð 	ð „×ÒØ=ðð ð ñô ð.ð .ñô ð.ð&.ð .ð .ð6 „×ÒØ$Ð$Ð$à	�Ô&¨Ð.Ø	�6Ô)¨5Ð1Ø	�Ô&¨Ñ*¨DÐ1Ø	�VÔ+¨TÐ2Ø	�Ô&¨Ñ1°5Ð9ðñ	ô 	ð „×ÒØˆZÐðð ð ñô ð'ð 'ñô ñ	ô 	ð&'ð2 „×ÒØ�
Ðà	Ð$Ð$ U¨G°SÑ9Ô9¸DÑ@ÐAØ	ÐÐ  r¨3Ñ/Ô/°$Ñ6Ð7Øðñô ð/ð /ñô ð/ð „×ÒØà	ˆˆu‰Œ�tÐØ	Œ�ˆØ	ˆˆrŒv‰Œ˜ÐØ	ˆŒ�B”FÑ	Ô	˜TÐ"Ø	ˆŒ�B”FÑ	Ô	˜TÐ"ØØØØØØ
Œ&ˆ�5ÐØ*ðñô ð"2ð 2ñ#ô ð"2ð*ð *ð *ð"	ð 	ð 	ð
,ð 
,ð 
,ð „×Ò˜ x r¤x°¡{¤{°H°B´H¸Q±K´KÐ&@ÀAÀqÀ6ÈAÈqÈ6ÐBRÐ%SÑTÔTðð ñ UÔTðð „×Ò˜Ð'GÐ'GÐ'GÑHÔHðLð Lñ IÔHðLð Lð Lr4   