§
    €ØjIU ã                   óì$  — d Z 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m	Z	 ddl
mc m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 dd	lmZ dd
lmZmZ ddl m!Z! ddl"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 ddl1m2Z2m3Z3m4Z4 ddl5m6Z6m7Z7 ddl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@ ddlAmBZB ddlCmDZDmEZEmFZFmGZGmHZHmIZI ddlJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZe d„ Zfd„ Zgejh         i                    d¦  «        ejh         j                    dejk         k                    d¦  «         eIdd¬¦  «        g¦  «        d„ ¦   «         ¦   «         Zld„ Zmd „ Znd!„ Zoejh         j                    d"ejp        d#fejq        d$fejq        d#fg¦  «        ejh         j                    d%ejr        ejs        ejt        g¦  «        d&„ ¦   «         ¦   «         Zuejh         j                    d'ejp        d(d)d*fejp        dd)d+fejp        d,d)d-fejp        dd$d+fejq        d(d)d.fejq        dd)d/fejq        d0d)d1fejq        d(d2d3fejq        d(d4d.fg	¦  «        ejh         j                    d%ejr        ejs        ejt        g¦  «        d5„ ¦   «         ¦   «         Zvejh         j                    d6g d7¢¦  «        ejh         j                    d%ejr        ejs        ejt        g¦  «        d8„ ¦   «         ¦   «         Zwd9„ Zxejh         j                    d: ejy        d4ejq        gg¦  «        d;f ejy        d4ejq        gg¦  «        d;f ejy        d4ejp        gg¦  «        d<f ejy        d4ejq        ggez¬=¦  «        d>fg¦  «        ejh         j                    d?d)d#g¦  «        d@„ ¦   «         ¦   «         Z{dA„ Z|ejh         i                    dB¦  «        dC„ ¦   «         Z}ejh         j                    ddDdEgdFdGgg ejy        dDdEgdFdGggdH¬=¦  «         ejy        dDdEgdFdGggdI¬=¦  «        dJdKgdLdMgg ejy        dJdKgdLdMggdN¬=¦  «        g¦  «        dO„ ¦   «         Z~dP„ Zejh         j                    dQg dR¢¦  «        ejh         j                    dSej€        ej�        gej€        fej�        ej�        fdTej�        fg¦  «        dU„ ¦   «         ¦   «         Z‚dV„ ZƒdW„ Z„dX„ Z…dY„ Z†dZ„ Z‡d[„ Zˆd\„ Z‰ ejŠ        g d]¢¬^¦  «        d_„ ¦   «         Z‹d`„ ZŒda„ Z�db„ ZŽdc„ Z�dd„ Z�de„ Z‘df„ Z’dg„ Z“dh„ Z”di„ Z•ejh         j                    dj ed¦  «        e–e—gg dk¢¬l¦  «        dm„ ¦   «         Z˜dn„ Z™ejh         j                    do e4¦   «         ¦  «        dp„ ¦   «         Zšdq„ Z›dr„ Zœds„ Z�ejh         j                    dtej�        ej€        fej�        ddTf¦  «        ejh         j                    dudv¦  «        dw„ ¦   «         ¦   «         Zždx„ ZŸdy„ Z  G dz„ d{¦  «        Z¡ G d|„ d}¦  «        Z¢d~„ Z£ejh         j                    dd)d#g¦  «        d€„ ¦   «         Z¤ejh         j                    d�d‚ e¥dƒd„d…d)i¦  «        dd)dfd† e¥dƒd„d…d)i¦  «        dd)dfd‡ e¥dƒd„d…d)i¦  «        gd‡gd)dfdˆ e¥dƒd„d…d)i¦  «        dˆgd)dfd‰ e¥dƒd„d…d)i¦  «        dde¦fd† e¥dƒd„dŠd)i¦  «        dde§fgg d‹¢¬l¦  «        dŒ„ ¦   «         Z¨ejh         j                    d%ejr        ejt        ej©        ejª        ej«        ej¬        ej­        ej®        ejs        ej¯        ej°        ej±        ej²        ej³        ej´        g¦  «        d�„ ¦   «         ZµdŽ„ Z¶d�„ Z·ejh         j                    d�g d‘¢¦  «        d’„ ¦   «         Z¸ejh         j                    d�g d“¢¦  «        d”„ ¦   «         Z¹ejh         j                    d•g d–¢¦  «        d—„ ¦   «         Zºejh         j                    d˜d4d™e»dšd›dœ e¼d�¦  «        fdd™ej½        dšd›dœ e¼dž¦  «        fdd™ej¾        dšd›dœ e¼dŸ¦  «        fd4d™e»e¿fdšd›dœ e¼d ¦  «        fd4d¡eÀdšd›dœ e¦d¢¦  «        fd£d¤eÀdšd›dœ e¦d¥¦  «        fdšd¦eÀdšd›d§ e¦d¨¦  «        fd›d©eÀdšd›dª e¦d«¦  «        fd›d¬eÀdšd›d­ e¦d®¦  «        fd›d¯eÀdd›dª e¦d°¦  «        fd›d±eÀdšdd§ e¦d²¦  «        fg¦  «        d³„ ¦   «         ZÁd´ ejy        d4dšg¦  «        dd(f ejy        d4dšg¦  «         ejy        d4dšg¦  «        dd(fdµ ejy        d£dg¦  «        ed¶fd· ejy        d£dg¦  «        ed(f ejy        d4d¸gej€        ¬=¦  «         ejy        d4dgej€        ¬=¦  «        ed¹f ejy        d4dºgej�        ¬=¦  «         ejy        d4dgej�        ¬=¦  «        ed»fd¼ ejy        d£dg¦  «        ed½fd¾œZÂejh         j                    d¿ e–eÂ Ã                    ¦   «         ¦  «         e–eÂ Ä                    ¦   «         ¦  «        ¬l¦  «        ejh         j                    dÀd)d#g¦  «        dÁ„ ¦   «         ¦   «         ZÅdÂe¦dÃfdÄe¦dÅfdÆe¦dÇf ejy        dÈdÉgej€        ¬=¦  «        e¦dÇf ejy        dÊdËgej�        ¬=¦  «        e¦dÇfdÌœZÆejh         j                    dÍ e–eÆ Ã                    ¦   «         ¦  «         e–eÆ Ä                    ¦   «         ¦  «        ¬l¦  «        dÎ„ ¦   «         ZÇdÏ„ ZÈdÐ„ ZÉejh         j                    do e4¦   «         ¦  «        dÑ„ ¦   «         ZÊejh         j                    dÒdgdd4gdÓd4gg dÔ¢g dÕ¢g¦  «        dÖ„ ¦   «         ZËejh         j                    do e4¦   «         ¦  «        ejh         j                    dÒdgdd4gdÓd4gg dÔ¢g dÕ¢g¦  «        d×„ ¦   «         ¦   «         ZÌejh         j                    dÒg dØ¢dÙgddÓgg¦  «        dÚ„ ¦   «         ZÍejh         j                    do e4¦   «         ¦  «        ejh         j                    dÒg dØ¢dÙgddÓgg¦  «        dÛ„ ¦   «         ¦   «         ZÎejs        ejt        ej¯        ej©        gZÏejh         j                    dÜejy        geÏz   ¦  «        dÝ„ ¦   «         ZÐejh         j                    dÜejy        geÏz   ¦  «        dÞ„ ¦   «         ZÑejh         j                    dÜeÏ¦  «        dß„ ¦   «         ZÒdà„ ZÓdá„ ZÔdâ„ ZÕejh         j                    dãdd4dägg¦  «        då„ ¦   «         ZÖejh         j                    dæd#d)g¦  «        ejh         j                    dçg dè¢¦  «        dé„ ¦   «         ¦   «         Z×dê„ ZØejh         j                    dëg dì¢¦  «        dí„ ¦   «         ZÙejh         j                    dîdïdðejÚ        fdñdòejÚ        fdïdóejÚ        fdôdõejÛ        fdöd÷ejÛ        fdødùejÛ        fdúdûejÛ        fdüdûejÛ        fdýdþejÛ        fdÿdúejÛ        f�d �dejÜ        f�d�dejÜ        f�d�dejÜ        f�d�dejÜ        f�d�d	ejÜ        fg¦  «        �d
„ ¦   «         ZÝejh         j                    d�g �d¢¦  «        �d„ ¦   «         ZÞejh         j                    dg �d¢g �d¢g �d¢g �d¢�dd4i�ddši�ddäiggg �d¢¬l¦  «        ejh         j                    d�g �d¢¦  «        �d„ ¦   «         ¦   «         Zßejh         j                    dg �d¢g �d¢¬l¦  «        �d„ ¦   «         Zàejh         j                    �d e– eádš¦  «        ¦  «         eádš¦  «        d�d�dg�d�dgggg �d¢¬l¦  «        �d„ ¦   «         Zâejh         j                    �dg �d¢¦  «        �d „ ¦   «         Zã�d!„ Zäejh         j                    �d"�dd4g�d#f�d$�d%g�d&fg�d'�d(g¬l¦  «        �d)„ ¦   «         Zå G �d*„ �d+e¦  «        Zæejh         j                    g �d,¢�d-g �d.¢�d/f�d0g �d¢�d1f�d2g �d¢�d1fg¦  «        �d3„ ¦   «         Zç�d4„ Zèejh         j                    �d5g �d6¢¦  «        �d7„ ¦   «         Zé�d8„ Zê�d9„ Zëejh         j                    �d:dd4dd4dejq        gg �d;¢g¦  «        �d<„ ¦   «         Zìe@�d=„ ¦   «         Zíejh         j                    �d>g �d?¢¦  «        ejh         j                    �d@d)d#g¦  «        �dA„ ¦   «         ¦   «         Zîejh         j                    �dBeFeEz   eDz   eGz   ¦  «        ejh         j                    �dCg �dD¢¦  «        �dE„ ¦   «         ¦   «         Zïejh         j                    �dF ejy        d4¦  «         ejy        dš¦  «        gd4dšgdäd›ggg¦  «        �dG„ ¦   «         Zð�dH„ Zñ�dI„ Zò�dJ„ Zó�dK„ Zôe@�dL„ ¦   «         Zõejh         j                    g �dM¢ ejy        d4dšgdäd›ggd4dšgdäd›ggg¦  «         e¦   «         �dNf ejy        d4dšgdäd›ggd4dšgdäd›ggg¦  «        d�dOfg¦  «        �dP„ ¦   «         Zöejh         j                    �dQ�dRg�dS�dTg ej÷        �dU¦  «        f ejy        �dS�dVgez¬=¦  «         ej÷        �dW¦  «        fddÓg ej÷        �dX¦  «        fg �dY¢ ej÷        �dZ¦  «        fg¦  «        �d[„ ¦   «         Zøejh         j                    �dQ�d\gg �d]¢d)fd4dšgd)f�d�dgd#f�d^g¦  «        ejh         j                    d�g �d_¢¦  «        �d`„ ¦   «         ¦   «         Zù�da„ ZúdS (b  z$Tests for input validation functionsé    N)Úproduct)Ú
itemgetter)ÚNamedTemporaryFile)Úconfig_context)ÚBaseEstimator)Ú
make_blobs)ÚRandomForestRegressor)ÚNotFittedErrorÚPositiveSpectrumWarning)ÚARDRegression)ÚEstimatorWithFit)ÚKNeighborsClassifier)Ú_sparse_random_matrix)ÚSVR)Ú_safe_indexingÚas_float_arrayÚcheck_arrayÚcheck_symmetricÚ	check_X_yÚ
deprecated)Ú_is_numpy_namespaceÚmove_toÚ)yield_namespace_device_dtype_combinations)ÚMockDataFrameÚ_MockEstimatorOnOffPrediction)Ú
TempMemmapÚ_array_api_for_testsÚ_convert_containerÚassert_allcloseÚassert_allclose_dense_sparseÚassert_array_equalÚcreate_memmap_backed_dataÚ'skip_if_array_api_compat_not_configured)Ú_NotAnArray)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚDIA_CONTAINERSÚDOK_CONTAINERSÚ_sparse_random_array)ÚFLOAT_DTYPESÚ_allclose_dense_sparseÚ_check_categorical_featuresÚ_check_feature_names_inÚ_check_method_paramsÚ_check_pos_label_consistencyÚ_check_psd_eigenvaluesÚ_check_response_methodÚ_check_sample_weightÚ_check_yÚ_deprecate_positional_argsÚ_estimator_hasÚ_get_feature_namesÚ
_is_fittedÚ_num_featuresÚ_num_samplesÚ_to_object_arrayÚassert_all_finiteÚcheck_consistent_lengthÚcheck_is_fittedÚcheck_memoryÚcheck_non_negativeÚcheck_random_stateÚcheck_scalarÚcolumn_or_1dÚhas_fit_parameterÚvalidate_datac                  ó  — 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)
rA   ÚnpÚrandomÚmtrandÚ_randÚRandomStateÚrandintÚpytestÚraisesÚ
ValueError)Úrng_42s    ú˜/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/sklearn/utils/tests/test_validation.pyÚtest_make_rngrU   _   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                  óÊ  — t          j        dt           j        ¬¦  «        } | t          j        dt           j        ¬¦  «        z   } t	          | d¬¦  «        }|j        t           j        k    sJ ‚|                      t           j        ¦  «        } t	          | d¬¦  «        }t	          | d¬¦  «        | usJ ‚|j        t           j	        k    sJ ‚t          t           j        t           j        t           j        t           j        t           j        t           j        g}|D ]=}|                      |¦  «        } t	          | ¦  «        }|j        t           j        k    sJ ‚Œ>|                      t           ¦  «        } t	          | d¬¦  «        }|j        t           j	        k    sJ ‚t          j        dt           j        ¬¦  «        } t	          | d¬¦  «        | u sJ ‚t          j        | ¦  «        } t          j        t	          | d¬¦  «        ¦  «        sJ ‚t'          j        t          j        d¦  «        ¦  «                             ¦   «         t'          j        t          j        d¦  «        g¦  «                             ¦   «         t/          ddd	¬
¦  «                             ¦   «         g}|D ]J}t	          |d¬¦  «        }t           j        |d<   t          j        |¦  «                             ¦   «         rJ ‚ŒKd S )N)é   é
   ©ÚdtyperX   F©ÚcopyT)rW   é   é   çš™™™™™¹?)Údensity©r   r   )rJ   ÚonesÚint32Úaranger   rZ   Úfloat32ÚastypeÚint64Úfloat64ÚboolÚint8Úint16Úuint8Úuint16Úuint32ÚobjectÚasfortranarrayÚ	isfortranÚspÚ
csc_matrixÚtoarrayÚ	csc_arrayr   ÚnanÚisnanÚany)ÚXÚX2Útested_dtypesrZ   ÚmatricesÚMÚNs          rT   Útest_as_float_arrayr   q   s|  € å
Œ��rœxÐ(Ñ(Ô(€AØ	�BŒI�b¥¤Ð)Ñ)Ô)Ñ)€AÝ	˜ Ð	&Ñ	&Ô	&€BØŒ8•r”zÒ!Ð!Ð!Ð!à	�Š•”ÑÔ€AÝ	˜ Ð	%Ñ	%Ô	%€Bå˜! %Ð(Ñ(Ô(°Ð1Ð1Ð1Ð1ØŒ8•r”zÒ!Ð!Ð!Ð!å�2œ7¥B¤H­b¬h½¼Å"Ä)ÍRÌYÐW€MØð &ð &ˆØ�HŠH�U‰OŒOˆÝ˜AÑÔˆØŒx�2œ:Ò%Ð%Ð%Ð%Ð%ð 	
�Š•ÑÔ€AÝ	˜ Ð	%Ñ	%Ô	%€BØŒ8•r”zÒ!Ð!Ð!Ð!õ 	Œ��bœjÐ)Ñ)Ô)€AÝ˜! %Ð(Ñ(Ô(¨AÐ-Ð-Ð-Ð-å
Ô˜!ÑÔ€AÝŒ<� q¨tÐ4Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5õ 	Œ•b”i ‘l”lÑ#Ô#×+Ò+Ñ-Ô-Ý
Œ•b”i ‘l”l�^Ñ$Ô$×,Ò,Ñ.Ô.Ý˜b "¨dÐ3Ñ3Ô3×;Ò;Ñ=Ô=ð€Hð
 ð %ð %ˆÝ˜1 4Ð(Ñ(Ô(ˆÝ”&ˆˆ$‰Ý”8˜A‘;”;—?’?Ñ$Ô$Ð$Ð$Ð$Ð$ð%ð %ó    z,ignore::scipy.sparse.SparseEfficiencyWarningry   ©rX   r]   Úcsr©Úformatc                 ó¬   — |                       ¦   «         } t          j        | d<   t          j        | d<   t          | d¬¦  «        }t	          || ¦  «         d S )N)r^   r   )é   é   ú	allow-nan©Úensure_all_finite)r\   rJ   rv   r   r    )ry   ÚX_converteds     rT   Útest_as_float_array_nanrŒ   œ   sO   € ð
 	
�Š‰Œ€AÝŒf€A€d�GÝŒf€A€d�GÝ  °kÐBÑBÔB€KÝ  ¨aÑ0Ô0Ð0Ð0Ð0r€   c                  ó”  — t          j        d¦  «                             dd¦  «        } t          t	          | ¦  «        t           j        ¦  «        rJ ‚t          t	          t          j        | ¦  «        ¦  «        t           j        ¦  «        rJ ‚t          t	          t          j        | ¦  «        ¦  «        t           j        ¦  «        rJ ‚d S )Né   rW   é   )	rJ   rd   ÚreshapeÚ
isinstancer   Úmatrixrr   rs   ru   ©ry   s    rT   Útest_np_matrixr”   ¨   s—   € å
Œ	�"‰Œ×Ò˜a Ñ#Ô#€Aå�.¨Ñ+Ô+­R¬YÑ7Ô7Ð7Ð7Ð7Ý�.­¬°qÑ)9Ô)9Ñ:Ô:½B¼IÑFÔFÐFÐFÐFÝ�.­¬°a©¬Ñ9Ô9½2¼9ÑEÔEÐEÐEÐEÐEÐEr€   c                  óx  — d„ } t          d¬¦  «        5 }t          j        |dt          j        ¬¦  «        }d|d d …<   t          t          j        | fD ]O} ||¦  «        }d|d d …<   t          |                     ¦   «         |                     ¦   «         ¦  «         d|d d …<   ŒP	 d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó$   — t          | d¬¦  «        S )NFr[   )r   ©Úxs    rT   ú<lambda>ztest_memmap.<locals>.<lambda>´   s   € •n Q¨UÐ3Ñ3Ô3€ r€   zsklearn-test)Úprefix©rX   rX   )ÚshaperZ   r   r‡   )r   rJ   Úmemmapre   r   Úasarrayr!   Úravel)ÚasfltÚtmpr}   Úfry   s        rT   Útest_memmapr£   ±   s	  € ð 4Ð3€Eå	 >Ð	2Ñ	2Ô	2ð °cÝŒI�c µ´Ð<Ñ<Ô<ˆØˆˆ!ˆ!ˆ!‰å�rœz¨5Ð1ð 	ð 	ˆAØ��!‘”ˆAØˆAˆaˆaˆa‰DÝ˜qŸwšw™yœy¨!¯'ª'©)¬)Ñ4Ô4Ð4ØˆAˆaˆaˆa‰DˆDð		ð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ”BB/Â/B3Â6B3c                  ó^  — t          j        d¦  «        } | | j        fD ]Q}dD ]L}t          |d|¬¦  «        }|j        d         sJ ‚t          |d|¬¦  «        }|j        d         sJ ‚|r||usJ ‚ŒMŒRt          j        | ¦  «        } | j        d d d…         | _        | j        j        d         rJ ‚d S )	N)rX   r^   )TFÚC)Úorderr\   ÚC_CONTIGUOUSÚFÚF_CONTIGUOUSéÿÿÿÿ)rJ   rb   ÚTr   Úflagsrr   Ú	csr_arrayÚdata)ry   ÚAr\   ÚBs       rT   Útest_orderingr±   Á   sÝ   € õ 	Œ�ÑÔ€AØ�”ˆVð "ð "ˆØ!ð 	"ð 	"ˆDÝ˜A S¨tÐ4Ñ4Ô4ˆAØ”7˜>Ô*Ð*Ð*Ð*Ý˜A S¨tÐ4Ñ4Ô4ˆAØ”7˜>Ô*Ð*Ð*Ð*Øð "Ø �z�z�z�zøð	"õ 	Œ�Q‰Œ€AØŒV�D�D�b�DŒ\€A„FØŒvŒ|˜NÔ+Ð+Ð+Ð+Ð+Ð+r€   zvalue, ensure_all_finiteFrˆ   Úretypec                 ó  — t          j        t          j        d¦  «                             dd¦  «                             t
          ¦  «        ¦  «        }| |d<    ||¦  «        }t          ||d¬¦  «        }t          ||¦  «         d S )Nr�   r]   ra   T)rŠ   Úaccept_sparse)rJ   Úarrayrd   r�   rf   Úfloatr   r    )ÚvaluerŠ   r²   ry   Ú	X_checkeds        rT   Ú(test_check_array_ensure_all_finite_validr¹   Ô   s{   € õ 	Œ•”˜1‘”×%Ò% a¨Ñ+Ô+×2Ò2µ5Ñ9Ô9Ñ:Ô:€AØ€A€d�GØˆˆq‰	Œ	€AÝ˜AÐ1BÐRVÐWÑWÔW€IÝ   IÑ.Ô.Ð.Ð.Ð.r€   z/value, input_name, ensure_all_finite, match_msgÚ TzInput contains infinityzInput X contains infinityÚsample_weightz%Input sample_weight contains infinityúInput contains NaNzInput X contains NaNÚyzInput y contains NaNz	allow-infz1ensure_all_finite should be a bool or 'allow-nan'r‡   c                 ób  — t          j        t          j        d¦  «                             dd¦  «                             t           j        ¦  «        ¦  «        }| |d<    ||¦  «        }t          j        t          |¬¦  «        5  t          |||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr�   r]   ra   ©ÚmatchT)Ú
input_namerŠ   r´   )
rJ   rµ   rd   r�   rf   rh   rP   rQ   rR   r   )r·   rÁ   rŠ   Ú	match_msgr²   ry   s         rT   Ú*test_check_array_ensure_all_finite_invalidrÃ   á   sí   € õ. 	Œ•”˜1‘”×%Ò% a¨Ñ+Ô+×2Ò2µ2´:Ñ>Ô>Ñ?Ô?€AØ€A€d�GØˆˆq‰	Œ	€AÝ	Œ•z¨Ð	3Ñ	3Ô	3ð 
ð 
ÝØØ!Ø/Øð		
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   ÂB$Â$B(Â+B(rÁ   )ry   r½   r»   c                 óF  — t          j        t          j        d¦  «                             dd¦  «                             t           j        ¦  «        ¦  «        }t           j        |d<    ||¦  «        }t          ¦   «         }d|j        j	        › d�}t          j        t          d| › d�¬¦  «        5 }t          ||| d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   | dk    r||j        j        d         v sJ ‚n||j        j        d         vsJ ‚| dk    rŒt          j        t          d| › d�¬¦  «        5 }t          ¦   «                              |t          j        |j        d         ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   ||j        j        d         v sJ ‚d S d S )Nr�   r]   ra   ú
aX   does not accept missing values encoded as NaN natively. For supervised learning, you might want to consider sklearn.ensemble.HistGradientBoostingClassifier and Regressor which accept missing values encoded as NaNs natively. Alternatively, it is possible to preprocess the data, for instance by using an imputer transformer in a pipeline or drop samples with missing values. See https://scikit-learn.org/stable/modules/impute.html You can find a list of all estimators that handle NaN values at the following page: https://scikit-learn.org/stable/modules/impute.html#estimators-that-handle-nan-valueszInput z contains NaNr¿   T)Ú	estimatorrÁ   r´   ry   r   )rJ   rµ   rd   r�   rf   rh   rv   r   Ú	__class__Ú__name__rP   rQ   rR   r   r·   ÚargsÚfitrb   rœ   )rÁ   r²   r®   rÆ   Úextended_msgÚctxs         rT   Ú0test_check_array_links_to_imputer_doc_only_for_XrÍ     s-  € õ Œ8•B”I˜a‘L”L×(Ò(¨¨AÑ.Ô.×5Ò5µb´jÑAÔAÑBÔB€DÝ”€Dˆ�JØˆ6�$‰<Œ<€DÝ‘”€Ið	-ˆYÔ Ô)ð 	-ð 	-ð 	-ð õ 
Œ•zÐ)K°*Ð)KÐ)KÐ)KÐ	LÑ	LÔ	Lð 
ÐPSÝØØØ!Øð		
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð �SÒÐØ˜sœyœ~¨aÔ0Ð0Ð0Ð0Ð0Ð0à 3¤9¤>°!Ô#4Ð4Ð4Ð4Ð4à�SÒÐõ Œ]�:Ð-O°jÐ-OÐ-OÐ-OÐPÑPÔPð 	4ÐTWÝ‰EŒE�IŠI�d�BœG D¤J¨q¤MÑ2Ô2Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4à˜sœyœ~¨aÔ0Ð0Ð0Ð0Ð0ð Ðð
 1Ð0s%   Â/CÃCÃCÄ2A E>Å>FÆFc                  óN  — t          j        ddt           j        ggt          ¬¦  «        j        } t          | d d¬¦  «        }| |u sJ ‚t          | d d¬¦  «        }| |u sJ ‚t          j        t          d¬¦  «        5  t          | d d	¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
NÚaÚbrY   rˆ   ©rZ   rŠ   Fr¼   r¿   T)	rJ   rµ   rv   ro   r«   r   rP   rQ   rR   )ry   r¸   s     rT   Ú)test_check_array_ensure_all_finite_objectrÒ   /  sö   € Ý
Œ�3˜�RœVÐ$Ð%­VÐ4Ñ4Ô4Ô6€Aå˜A T¸[ÐIÑIÔI€IØ�	ˆ>ˆ>ˆ>ˆ>å˜A T¸UÐCÑCÔC€IØ�	ˆ>ˆ>ˆ>ˆ>å	Œ•zÐ)=Ð	>Ñ	>Ô	>ð ;ð ;Ý�A˜T°TÐ:Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;s   Á:BÂBÂ!Bz
X, err_msgúInput contains NaN.z5Input contains infinity or a value too large for.*intrY   z#cannot convert float NaN to integerrŠ   c                 óœ   — t          j        t          |¬¦  «        5  t          | t          |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¿   rÑ   )rP   rQ   rR   r   Úint)ry   Úerr_msgrŠ   s      rT   Ú8test_check_array_ensure_all_finite_object_unsafe_castingr×   <  s§   € õ0 
Œ•z¨Ð	1Ñ	1Ô	1ð Gð GÝ�A�SÐ4EÐFÑFÔFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð Gð Gs   œAÁAÁAc                  ó  — t          j        d¦  «        } |                      g d¢¦  «        }dt          |¦  «        › d�}t          j        t
          |¬¦  «        5  t          |d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	zÓ
    Check that we raise a proper error message when passing a Series and we expect a
    2-dimensional container.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/27498
    Úpandas©r‡   r]   rW   z+Expected a 2-dimensional container but got z	 instead.r¿   T©Ú	ensure_2dN)rP   ÚimportorskipÚSeriesÚtyperQ   rR   r   )ÚpdÚserÚmsgs      rT   Útest_check_array_series_err_msgrã   X  sË   € õ 
Ô	˜XÑ	&Ô	&€BØ
�)Š)�I�I�IÑ
Ô
€CØ
L½¸S¹	¼	Ð
LÐ
LÐ
L€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð )ð )Ý�C 4Ð(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   ÁA9Á9A=Â A=z3ignore:Can't check dok sparse matrix for nan or infc                  óâ  ‡— ddgddgg} t          j        | ¦  «        }t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          g d¢d¬¦  «        }|j        dk    sJ ‚t          j        t          d¬	¦  «        5  t          g d¢d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬	¦  «        5  t          dd
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t           d¦  «        r~t          t          t          j        | ¦  «        ¦  «        ¦  «        }|j        dk    rEt          j        t          d¬	¦  «        5  t          |d
d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «                             ddd¦  «        }t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d
¬¦  «         t          j        d¦  «                             dd¦  «                             d¦  «        Š‰                     d¦  «        }‰                     t           ¦  «        }‰                     t"          ¦  «        }‰|||g}t          j        t           t"          t          j        d t(          t*          g}	g d¢}
d
dg}t-          ||	|
|¦  «        D ]Ü\  } }}}t          | |||¬¦  «        }|�|j        |k    sJ ‚n|j        | j        k    sJ ‚|dk    r|j        d         sJ ‚|j        d         rJ ‚n$|dk    r|j        d         sJ ‚|j        d         rJ ‚|r| |usJ ‚ŒŽ| j        |j        k    r>|j        d         | j        d         k    r"|j        d         | j        d         k    r| |u sJ ‚ŒÝg }|                     ˆfd„t4          t6          z   t8          z   t:          z   D ¦   «         ¦  «         |                     |d                              t          j        ¦  «        |d                              t          j        ¦  «        g¦  «         ddgddgg}d„ |	D ¦   «         }t-          ||||¦  «        D ]š\  } }}}t          | |||¬¦  «        }|�|j        |k    sJ ‚n|j        | j        k    sJ ‚| j         |v r| j         |j         k    sJ ‚n|j         |d         k    sJ ‚|r| |usJ ‚Œt| j        |j        k    r| j         |j         k    r| |u sJ ‚Œ›t          ddgddgg¦  «        }tC          |t          j"        ¦  «        sJ ‚t          j        t          ¦  «        5  t          | #                    ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          | #                    ¦   «         d
¬¦  «         tI          |¦  «        }t          |¦  «        }tC          |t          j"        ¦  «        sJ ‚t          ddgddgg¦  «        }d }t          j        t          |¬	¦  «        5  t          |d
d!tK          ¦   «         ¬"¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )#Nr‡   r]   rW   r�   )r   r‡   r]   FrÛ   z'Expected 2D array, got 1D array insteadr¿   Tz+Expected 2D array, got scalar array insteadrX   r­   zExpected 2D input, got)r´   rÜ   é   ©Úallow_ndr¥   r¨   )r¥   r¨   N)rZ   r¦   r\   r§   r©   c                 ó&   •— g | ]} |‰¦  «        ‘ŒS © ré   )Ú.0Úsparse_containerÚX_Cs     €rT   ú
<listcomp>z$test_check_array.<locals>.<listcomp>¯  s4   ø€ ð 	
ð 	
ð 	
à ð Ð˜SÑ!Ô!ð	
ð 	
ð 	
r€   r   r‚   ÚcooÚdokc                 ó$   — g | ]}|t           u¯|‘ŒS ré   )ro   )rê   Údts     rT   rí   z$test_check_array.<locals>.<listcomp>¼  s"   € ÐAÐAÐA °½&Ð0@Ð0@˜Ð0@Ð0@Ð0@r€   ©rZ   r´   r\   éýÿÿÿz<Negative values in data passed to X in RandomForestRegressorry   )Úensure_non_negativerÁ   rÆ   )&rr   r­   rP   rQ   Ú	TypeErrorr   ÚndimrR   ÚhasattrÚnextÚiterrJ   rd   r�   r\   rf   rÕ   r¶   rc   re   ri   ro   r   rZ   r¬   Úextendr'   r&   r%   r)   rg   rh   r„   r‘   ÚndarrayÚtolistr$   r	   )ry   ÚX_csrÚX_arrayÚ
sparse_rowÚX_ndimÚX_FÚX_intÚX_floatÚXsÚdtypesÚordersÚcopysrZ   r¦   r\   r¸   Úaccept_sparsesÚnon_object_dtypesr´   ÚX_denseÚ
X_no_arrayÚresultÚX_negrÖ   rì   s                           @rT   Útest_check_arrayr  g  s‘  ø€ ð ˆQˆ�!�Q�Ð€AÝŒL˜‰OŒO€EÝ	Œ•yÑ	!Ô	!ð ð Ý�EÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˜)˜)˜)¨uÐ5Ñ5Ô5€GØŒ<˜1ÒÐÐÐå	Œ•zÐ)RÐ	SÑ	SÔ	Sð /ð /Ý�I�I�I¨Ð.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ 
Œ•zÐ)VÐ	WÑ	WÔ	Wð (ð (Ý�B $Ð'Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ �r�;ÑÔð LÝ�$�rœ|¨A™œÑ/Ô/Ñ0Ô0ˆ
ØŒ?˜aÒÐå”�zÐ1IÐJÑJÔJð Lð LÝ˜J°dÀdÐKÑKÔKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Lõ ŒY�q‰\Œ\×!Ò! ! Q¨Ñ*Ô*€FÝ	Œ•zÑ	"Ô	"ð ð Ý�FÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å� Ð&Ñ&Ô&Ð&õ Œ)�A‰,Œ,×
Ò
˜q !Ñ
$Ô
$×
)Ò
)¨#Ñ
.Ô
.€CØ
�(Š(�3‰-Œ-€CØ�JŠJ•s‰OŒO€EØ�jŠj�ÑÔ€GØ
ˆs�E˜7Ð	#€BÝŒh��U¥B¤J°µd½FÐC€FØÐÐ€FØ�5ˆM€Eå!(¨¨V°V¸UÑ!CÔ!Cð &ð &Ñˆˆ5�%˜Ý ¨°eÀ$ÐGÑGÔGˆ	ØÐØ”? eÒ+Ð+Ð+Ð+Ð+à”? a¤gÒ-Ð-Ð-Ð-Ø�CŠ<ˆ<Ø”? >Ô2Ð2Ð2Ð2Ø ” ~Ô6Ð6Ð6Ð6Ð6Ø�cŠ\ˆ\Ø”? >Ô2Ð2Ð2Ð2Ø ” ~Ô6Ð6Ð6Ð6Øð 		&Ø˜IÐ%Ð%Ð%Ð%Ð%ð ”˜9œ?Ò*Ð*Ø”O NÔ3°q´w¸~Ô7NÒNÐNØ”O NÔ3°q´w¸~Ô7NÒNÐNà˜I�~�~�~�~øð
 
€BØ‡I‚Ið	
ð 	
ð 	
ð 	
å$2Ýñ%åñ%õ ñ%ð	
ñ 	
ô 	
ñô ð ð ‡I‚Iˆr�!Œu�|Š|�BœHÑ%Ô% r¨!¤u§|¢|µB´JÑ'?Ô'?Ð@ÑAÔAÐAà˜e�n u¨e nÐ5€Nð BÐA fÐAÑAÔAÐÝ)0Ø
Ð˜~¨uñ*ô *ð &ð &Ñ%ˆˆ5�- õ   ¨¸mÐRVÐWÑWÔWˆ	ØÐØ”? eÒ+Ð+Ð+Ð+Ð+à”? a¤gÒ-Ð-Ð-Ð-ØŒ8�}Ð$Ð$à”8˜yÔ/Ò/Ð/Ð/Ð/Ð/ð Ô# }°QÔ'7Ò7Ð7Ð7Ð7Øð 	&Ø˜IÐ%Ð%Ð%Ð%Ð%ð Œw˜)œ/Ò)Ð)¨a¬h¸)Ô:JÒ.JÐ.JØ˜I�~�~�~�~øõ ˜A˜q˜6 A q 6Ð*Ñ+Ô+€GÝ�g�rœzÑ*Ô*Ð*Ð*Ð*å	Œ•zÑ	"Ô	"ð %ð %Ý�F—M’M‘O”OÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å�—’‘”¨$Ð/Ñ/Ô/Ð/õ ˜WÑ%Ô%€JÝ˜Ñ$Ô$€FÝ�f�bœjÑ)Ô)Ð)Ð)Ð)õ ˜!˜Q˜ " a Ð)Ñ*Ô*€EØL€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 
ð 
ÝØØ $ØÝ+Ñ-Ô-ð		
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s}   ·AÁAÁAÂB9Â9B=Ã B=ÃC=Ã=DÄDÅ1FÆFÆFÇG9Ç9G=È G=Õ/"VÖV!Ö$V!Ø7 Y$Ù$Y(Ù+Y(Ú1Ú2Ú3Ú4ÚUÚSó   1ó   2ó   3ó   4ÚV1c                 ó”   — d}t          j        t          |¬¦  «        5  t          | d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zmTest that check_array errors when it receives an array of bytes/string
    while a numeric dtype is required.z>dtype='numeric' is not compatible with arrays of bytes/stringsr¿   ÚnumericrY   N©rP   rQ   rR   r   )ry   Úexpected_msgs     rT   Útest_check_array_numeric_errorr  ì  s–   € ð U€LÝ	Œ•z¨Ð	6Ñ	6Ô	6ð (ð (Ý�A˜YÐ'Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   ž=½AÁAc                  óP  — t          j        d¦  «        } |                      g d¢g d¢dœ¦  «        }t          j        t          ¦  «        5  t          |d¬¦  «         ddd¦  «         n# 1 swxY w Y   |                      g d¢g d¢dœ¦  «        }t          j        t          ¦  «        5  t          |d¬¦  «         ddd¦  «         n# 1 swxY w Y   |                      g d	¢¦  «        }t          j        t          ¦  «        5  t          |dd
¬¦  «         ddd¦  «         n# 1 swxY w Y   t          |d¬¦  «        }|j        t          j	        k    sJ ‚t          ||j        ¦  «         t          |dd
¬¦  «        }|j        t          j	        k    sJ ‚t          ||j        ¦  «         dS )a  check_array raises an error for pandas StringDtype with dtype='numeric'.

    Non-regression test for pandas 3 where string columns use StringDtype
    instead of object dtype. check_array should reject string data when
    dtype='numeric' is requested.
    rÙ   )r˜   r½   Úz)r  r  r  ©rÏ   rÐ   r  rY   N)ç      ð?ç       @ç      @©rÏ   rÐ   ÚcF©rZ   rÜ   )rP   rÝ   Ú	DataFramerQ   rR   r   rÞ   rZ   rJ   Úobject_r!   Úvalues)rà   Údf_strÚdf_mixedÚs_strr  s        rT   Ú2test_check_array_pandas_string_dtype_numeric_errorr.  þ  sW  € õ 
Ô	˜XÑ	&Ô	&€Bð �\Š\   °o°o°oÐFÐFÑGÔG€FÝ	Œ•zÑ	"Ô	"ð -ð -Ý�F )Ð,Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð �|Š| / / /¸¸¸ÐHÐHÑIÔI€HÝ	Œ•zÑ	"Ô	"ð /ð /Ý�H IÐ.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð �IŠI�o�o�oÑ&Ô&€EÝ	Œ•zÑ	"Ô	"ð =ð =Ý�E °eÐ<Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =õ ˜ tÐ,Ñ,Ô,€FØŒ<�2œ:Ò%Ð%Ð%Ð%Ý�v˜vœ}Ñ-Ô-Ð-å˜ d°eÐ<Ñ<Ô<€FØŒ<�2œ:Ò%Ð%Ð%Ð%Ý�v˜uœ|Ñ,Ô,Ð,Ð,Ð,s6   Á
A(Á(A,Á/A,Â(CÃC
ÃC
ÄD Ä D$Ä'D$Úpd_dtype)ÚInt8ÚInt16ÚUInt8ÚUInt16ÚFloat32ÚFloat64zdtype, expected_dtyper  c                 ó¼  — t          j        d¦  «        }| dv rt          j        dd¬¦  «        }t          j        dddt          j        t          j        gt          j        t          j        dd	d
gg d¢g¦  «        j        }|                     || g d¢¬¦  «        }|d                              d¦  «        |d<   t          |d|¬¦  «        }t          ||¦  «         |j
        |k    sJ ‚t          |d|¬¦  «        }t          ||¦  «         |j
        |k    sJ ‚d}t          j        t          |¬¦  «        5  t          |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÙ   >   r4  r5  z1.2)Ú
minversionr‡   r]   rW   rå   r�   r†   )r‡   r]   rW   r�   r^   r%  )rZ   Úcolumnsr&  r¶   rˆ   )rŠ   rZ   Fr¼   r¿   Tr‰   )rP   rÝ   rJ   rµ   rv   r«   r(  rf   r   r   rZ   rQ   rR   )r/  rZ   Úexpected_dtyperà   ÚX_npry   r¸   râ   s           rT   Ú"test_check_array_pandas_na_supportr;     s­  € õ 
Ô	˜XÑ	&Ô	&€BàÐ)Ð)Ð)åÔ  °eÐ<Ñ<Ô<ˆåŒ8Ø
ˆQ�•2”6�2œ6Ð	"¥R¤V­R¬V°Q¸¸1Ð$=¸¸¸ÐOñô äð 	ð
 	�Š�T °?°?°?ˆÑCÔC€AàˆsŒV�]Š]˜7Ñ#Ô#€A€c�FÝ˜A°ÀEÐJÑJÔJ€IÝ�I˜tÑ$Ô$Ð$ØŒ?˜nÒ,Ð,Ð,Ð,å˜A°¸eÐDÑDÔD€IÝ�I˜tÑ$Ô$Ð$ØŒ?˜nÒ,Ð,Ð,Ð,à
€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð /ð /Ý�A¨Ð.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   Ä2EÅEÅEc                  ó(  — t          j        d¦  «        } |                      dd| j        gd¬¦  «        }d}t          j        t
          |¬¦  «        5  t          |dd	¬
¦  «         ddd¦  «         n# 1 swxY w Y   t          |d	d	¬
¦  «        }t          |ddt          j	        g¦  «         |j
        t          j        k    sJ ‚t          |d	d	t          j        ¬¦  «        }t          |ddt          j	        g¦  «         |j
        t          j        k    sJ ‚dS )z4Check check_array is correct with pd.NA in a series.rÙ   r‡   r]   ÚInt64rY   r¼   r¿   TF)rŠ   rÜ   N)rŠ   rÜ   rZ   )rP   rÝ   rÞ   ÚNArQ   rR   r   r   rJ   rv   rZ   rh   re   )rà   ÚX_int64râ   ÚX_outs       rT   Ú*test_check_array_panadas_na_support_seriesrA  H  s[  € å	Ô	˜XÑ	&Ô	&€Bà�iŠi˜˜A˜rœu˜¨WˆiÑ5Ô5€Gà
€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð Fð FÝ�G¨t¸uÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ ˜°5ÀEÐJÑJÔJ€EÝ�E˜A˜q¥"¤&˜>Ñ*Ô*Ð*ØŒ;�"œ*Ò$Ð$Ð$Ð$åØ 5°EÅÄðñ ô €Eõ �E˜A˜q¥"¤&˜>Ñ*Ô*Ð*ØŒ;�"œ*Ò$Ð$Ð$Ð$Ð$Ð$s   ÁA0Á0A4Á7A4c                  ó&  — t          j        d¦  «        } t          j        g d¢g d¢g d¢gt          j        ¬¦  «        }|                      |¦  «        }t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚| 	                    dt          j
        i¦  «        }t          |j        t          j
        t          j        t          j        f¦  «         t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚| 	                    dt          j        i¦  «        }t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚| 	                    dt          j
        i¦  «        }t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚| 	                    t          j        ¦  «        }t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚|                      d|                      g d¢¦  «        i¦  «        }t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚d S )	NrÙ   rÚ   ©r�   r^   r†   ©é   rå   é	   rY   r   r]   Úcat_col)rP   rÝ   rJ   rµ   re   r(  r   rZ   r+   rf   Úfloat16r!   r  rk   rh   ÚCategoricalrg   )rà   ry   ÚX_dfÚcat_dfs       rT   Ú%test_check_array_pandas_dtype_castingrL  ]  sw  € å	Ô	˜XÑ	&Ô	&€BÝ
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	Ð2½"¼*ÐEÑEÔE€AØ�<Š<˜‰?Œ?€DÝ�tÑÔÔ"¥b¤jÒ0Ð0Ð0Ð0Ý�t¥<Ð0Ñ0Ô0Ô6½"¼*ÒDÐDÐDÐDà�;Š;˜�2œ:�Ñ'Ô'€DÝ�t”{¥R¤Zµ´½R¼ZÐ$HÑIÔIÐIÝ�tÑÔÔ"¥b¤jÒ0Ð0Ð0Ð0Ý�t¥<Ð0Ñ0Ô0Ô6½"¼*ÒDÐDÐDÐDà�;Š;˜�2œ8�}Ñ%Ô%€Då�tÑÔÔ"¥b¤jÒ0Ð0Ð0Ð0Ý�t¥<Ð0Ñ0Ô0Ô6½"¼*ÒDÐDÐDÐDà�;Š;˜�2œ:�Ñ'Ô'€Då�tÑÔÔ"¥b¤jÒ0Ð0Ð0Ð0Ý�t¥<Ð0Ñ0Ô0Ô6½"¼*ÒDÐDÐDÐDà�;Š;•r”xÑ Ô €DÝ�tÑÔÔ"¥b¤hÒ.Ð.Ð.Ð.õ �t¥<Ð0Ñ0Ô0Ô6½"¼*ÒDÐDÐDÐDð
 �\Š\˜9 b§n¢n°Y°Y°YÑ&?Ô&?Ð@ÑAÔA€FÝ�vÑÔÔ$­¬Ò0Ð0Ð0Ð0Ý�v¥\Ð2Ñ2Ô2Ô8½B¼JÒFÐFÐFÐFÐFÐFr€   c                  ó.  — t          j        ddgddgddgddgg¦  «        } t          | ¦  «        }t          |¦  «        }|j        | j        k    sJ ‚t          |t           j        ¬¦  «        }|j        t          j        t           j        ¦  «        k    sJ ‚d S )Nçš™™™™™É?gffffffæ?g333333ã?g      à?gš™™™™™Ù?r_   rY   )rJ   rµ   r   r   rZ   re   )ÚarrÚmock_dfÚchecked_arrs      rT   Ú"test_check_array_on_mock_dataframerR  ‚  s”   € Ý
Œ(�S˜#�J  c 
¨S°#¨J¸¸c¸
ÐCÑ
DÔ
D€CÝ˜CÑ Ô €GÝ˜gÑ&Ô&€KØÔ ¤	Ò)Ð)Ð)Ð)Ý˜g­R¬ZÐ8Ñ8Ô8€KØÔ¥¤­¬Ñ 4Ô 4Ò4Ð4Ð4Ð4Ð4Ð4r€   c                  óœ   — g d¢g d¢g d¢g} t          | ¦  «        j        j        dk    sJ ‚t          | d¬¦  «        j        j        dk    sJ ‚d S )NrÚ   rC  rD  ÚiFrÛ   )r   rZ   Úkindr“   s    rT   Ú test_check_array_dtype_stabilityrV  ‹  sa   € à	ˆˆ�I�I�I˜y˜y˜yÐ)€AÝ�q‰>Œ>ÔÔ$¨Ò+Ð+Ð+Ð+Ý�q EÐ*Ñ*Ô*Ô0Ô5¸Ò<Ð<Ð<Ð<Ð<Ð<r€   c                  óþ  — g d¢g d¢g d¢g} t          j        | t           j        ¬¦  «        }t          j        | t           j        ¬¦  «        }t	          j        |¦  «        }t	          j        |¦  «        }t	          j        |t           j        ¬¦  «        }||g}|||g}t          j	        ¦   «         5  t          j
        d¦  «         |D ]5}t          |t           j        d¬¦  «        }	|	j        t           j        k    sJ ‚Œ6|D ]�}t          |t           j        t           j        gd¬¦  «        }	|	j        t           j        k    sJ ‚|	|u sJ ‚t          |t           j        t           j        gdd	gd¬
¦  «        }	|	j        t           j        k    sJ ‚|	|usJ ‚Œ�t          |t           j        t           j        gdd	gd¬
¦  «        }	|	j        t           j        k    sJ ‚|	|usJ ‚|	j        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NrÚ   rC  rD  rY   ÚerrorT)rZ   r´   r‚   rï   rò   F)rJ   rž   re   rg   rr   r­   ru   rc   ÚwarningsÚcatch_warningsÚsimplefilterr   rh   rZ   r„   )
Ú
X_int_listÚ	X_float32r?  ÚX_csr_float32ÚX_csc_float32ÚX_csc_int32Úinteger_dataÚfloat32_datary   r¸   s
             rT   Útest_check_array_dtype_warningrc  ’  sl  € Ø�)�)˜Y˜Y˜Y¨	¨	¨	Ð2€JÝ”
˜:­R¬ZÐ8Ñ8Ô8€IÝŒj˜­2¬8Ð4Ñ4Ô4€GÝ”L Ñ+Ô+€MÝ”L Ñ+Ô+€MÝ”,˜w­b¬hÐ7Ñ7Ô7€KØ˜[Ð)€LØ˜}¨mÐ<€LÝ	Ô	 Ñ	"Ô	"ð )ð )ÝÔ˜gÑ&Ô&Ð&àð 	1ð 	1ˆAÝ# A­R¬ZÀtÐLÑLÔLˆIØ”?¥b¤jÒ0Ð0Ð0Ð0Ð0àð 	&ð 	&ˆAÝ#Ø�"œ*¥b¤jÐ1Àðñ ô ˆIð ”?¥b¤jÒ0Ð0Ð0Ð0Ø �>�>�>�>å#ØÝ”z¥2¤:Ð.Ø$ e˜nØð	ñ ô ˆIð ”?¥b¤jÒ0Ð0Ð0Ð0Ø AÐ%Ð%Ð%Ð%Ð%åØÝ”:�rœzÐ*Ø  %˜.Øð	
ñ 
ô 
ˆ	ð Œ¥"¤*Ò,Ð,Ð,Ð,Ø Ð-Ð-Ð-Ð-ØÔ 5Ò(Ð(Ð(Ð(Ð(ð?)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   Â0D4G2Ç2G6Ç9G6c                  ó  — ddgddgg} t          j        | ¦  «        }t          ¦   «         }d}t          j        t
          |¬¦  «        5  t          |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d	}t          j        t          |¬¦  «        5  t          ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   d
}t          j        t          |¬¦  «        5  t          |g ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          ||g¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr‡   r]   rW   r�   ziSparse data was passed, but dense data is required. Use '.toarray\(\)' to convert to a dense numpy array.r¿   F©r´   zjParameter 'accept_sparse' should be a string, boolean or list of strings. You provided 'accept_sparse=.*'.z]When providing 'accept_sparse' as a tuple or list, it must contain at least one string value.ré   r   )rr   r­   r   rP   rQ   rõ   r   rR   )ry   rý   Úinvalid_typerâ   s       rT   Ú-test_check_array_accept_sparse_type_exceptionrg  ½  sÒ  € Ø
ˆQˆ�!�Q�Ð€AÝŒL˜‰OŒO€EÝ‘5”5€Lð	Að õ 
Œ•y¨Ð	,Ñ	,Ô	,ð 0ð 0Ý�E¨Ð/Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð	Gð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð 7ð 7Ý�E¨Ð6Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð	5ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð -ð -Ý�E¨Ð,Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	Œ•z¨Ð	-Ñ	-Ô	-ð -ð -Ý�E¨Ð,Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	Œ•y¨Ð	.Ñ	.Ô	.ð 9ð 9Ý�E¨,¨Ð8Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9sZ   ÁA&Á&A*Á-A*ÂB,Â,B0Â3B0ÃC2Ã2C6Ã9C6ÄD6Ä6D:Ä=D:ÅE<Å<F ÆF c                  óÈ   — ddgddgg} t          j        | ¦  «        }t          |d¬¦  «         t          |d¬¦  «         t          |dg¬¦  «         t          |d¬¦  «         d S )	Nr‡   r]   rW   r�   Tre  r‚   )r‚   )rr   r­   r   )ry   rý   s     rT   Ú+test_check_array_accept_sparse_no_exceptionri  Ü  su   € Ø
ˆQˆ�!�Q�Ð€AÝŒL˜‰OŒO€Eå� TÐ*Ñ*Ô*Ð*Ý� UÐ+Ñ+Ô+Ð+Ý� e WÐ-Ñ-Ô-Ð-Ý� XÐ.Ñ.Ô.Ð.Ð.Ð.r€   )r‚   Úcscrî   Úbsr)Úparamsc              #   ó¶  K  — t          d| j        ¬¦  «        }| j        dk    rst          |d¦  «        r$t          d„ |j        D ¦   «         ¦  «        |_        n}|j                             d¦  «        |_        |j                             d¦  «        |_        n>|j                             d¦  «        |_        |j	                             d¦  «        |_	        |V — d S )N)é   rX   rƒ   rî   Úcoordsc              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS )rg   N)rf   )rê   Úvs     rT   ú	<genexpr>zX_64bit.<locals>.<genexpr>ñ  s.   è è € ÐAÐA°1˜QŸXšX gÑ.Ô.ÐAÐAÐAÐAÐAÐAr€   rg   )
r*   Úparamr÷   Útuplero  Úrowrf   ÚcolÚindicesÚindptr)Úrequestry   s     rT   ÚX_64bitrz  æ  sÄ   è è € å˜X¨g¬mÐ<Ñ<Ô<€Aà„}˜ÒÐÝ�1�hÑÔð 
	*õ ÐAÐA¸¼ÐAÑAÔAÑAÔAˆAŒHˆHð ”E—L’L Ñ)Ô)ˆAŒEØ”E—L’L Ñ)Ô)ˆAŒEˆEà”I×$Ò$ WÑ-Ô-ˆŒ	Ø”8—?’? 7Ñ+Ô+ˆŒà
€G€G€G€G€Gr€   c                 ó*   — t          | dd¬¦  «         d S )NT)Úaccept_large_sparser´   )r   )rz  s    rT   Ú1test_check_array_accept_large_sparse_no_exceptionr}  ý  s   € å�¨TÀÐFÑFÔFÐFÐFÐFr€   c                 ó–   — d}t          j        t          |¬¦  «        5  t          | dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzbOnly sparse matrices with 32-bit integer indices are accepted. Got int64 indices. Please do reportr¿   TF)r´   r|  r  )rz  râ   s     rT   Ú4test_check_array_accept_large_sparse_raise_exceptionr    s°   € ð	<ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð Lð LÝ�G¨4ÀUÐKÑKÔKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Lð Lð Ls   ž>¾AÁAc                  ó\  — d} t          j        t          | ¬¦  «        5  t          g g¦  «         d d d ¦  «         n# 1 swxY w Y   d} t          j        t          | ¬¦  «        5  t          g d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        d¦  «        } t          j        t          | ¬¦  «        5  t          dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        }t          j        d	¦  «        }d
} t          j        t          | ¬¦  «        5  t          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          | ¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        }t          j        d¦  «        }d} t          j        t          | ¬¦  «        5  t          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          | ¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j
        d¦  «                             dd¦  «        }t          j        d¦  «        }d} t          j        t          | ¬¦  «        5  t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        }t          j        d¦  «        }t          ||d¬¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )NzC0 feature\(s\) \(shape=\(1, 0\)\) while a minimum of 1 is required.r¿   z@0 sample\(s\) \(shape=\(0,\)\) while a minimum of 1 is required.FrÛ   zgInput should have at least 1 dimension i.e. satisfy `len(x.shape) > 0`, got scalar `array(42)` instead.rG   )r‡   rX   r‡   zC1 sample\(s\) \(shape=\(1, 10\)\) while a minimum of 2 is required.r]   )Úensure_min_samples)r�  rÜ   r�   zD2 feature\(s\) \(shape=\(10, 2\)\) while a minimum of 3 is required.rW   )Úensure_min_featuresT)r‚  rç   r   rX   zD0 feature\(s\) \(shape=\(10, 0\)\) while a minimum of 1 is required.)rX   r   é   rƒ  ræ   )rP   rQ   rR   r   ÚreÚescaperõ   rJ   rb   r   Úemptyr�   r!   )râ   ry   r½   r¸   Ú	y_checkeds        rT   Ú2test_check_array_min_samples_and_features_messagesrˆ    sí  € à
P€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�R�DÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
 N€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð )ð )Ý�B %Ð(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ Œ)ðBñô €Cõ 
Œ•y¨Ð	,Ñ	,Ô	,ð )ð )Ý�B %Ð(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ 	Œ�ÑÔ€AÝ
Œ�‰
Œ
€AØ
P€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð .ð .Ý�!�Q¨1Ð-Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .õ
 
Œ•z¨Ð	-Ñ	-Ô	-ð ?ð ?Ý�!�Q¨1¸Ð>Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ
 	Œ�ÑÔ€AÝ
Œ�‰
Œ
€AØ
Q€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð /ð /Ý�!�Q¨AÐ.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ
 
Œ•z¨Ð	-Ñ	-Ô	-ð >ð >Ý�!�Q¨A¸Ð=Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >õ
 	Œ�‰Œ×Ò˜B Ñ"Ô"€AÝ
Œ�‰Œ€AØ
Q€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 	Œ�Ñ Ô €AÝ
Œ�‰Œ€AÝ$ Q¨°DÐ9Ñ9Ô9Ñ€IˆyÝ�q˜)Ñ$Ô$Ð$Ý�q˜)Ñ$Ô$Ð$Ð$Ð$s‹   ž;»?Á?Á#BÂBÂBÂ;CÃCÃ CÄ)EÅEÅEÅ.FÆFÆFÇG=Ç=HÈHÈ#IÉIÉ
IÊ'KËKËKc                  óÎ  — t          j        g d¢g d¢g¦  «        } t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   g d¢g d¢g} t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   d} t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        t          j        g d¢¦  «        g} t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        t          j        g d¢¦  «        f} t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          j        g d¢g d¢g¦  «        ¦  «        } t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ddgddgg¦  «        } t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        }t          j        t          d¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	N©ù      ð?       @ù      @      @ù      @      @©ù       @      @ù      @      @ù      @      @zComplex data not supportedr¿   )rŠ  rŽ  r   r‹  )r‹  rŒ  r�  r�  r�  r‘  )
rJ   rµ   rP   rQ   rR   r   r   rr   Ú	coo_arrayr4   )ry   r½   s     rT   Ú#test_check_array_complex_data_errorr“  K  sÁ  € Ý
ŒÐ*Ð*Ð*Ð,DÐ,DÐ,DÐEÑFÔF€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 
"Ð	!Ð	!Ð#;Ð#;Ð#;Ð<€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 	=€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
ŒÐ*Ð*Ð*Ñ	+Ô	+­R¬XÐ6NÐ6NÐ6NÑ-OÔ-OÐP€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
ŒÐ*Ð*Ð*Ñ	+Ô	+­R¬XÐ6NÐ6NÐ6NÑ-OÔ-OÐP€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 	•b”hÐ 8Ð 8Ð 8Ð:RÐ:RÐ:RÐSÑTÔTÑUÔU€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 	Œ�q˜&�k A q 6Ð*Ñ+Ô+€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 	ŒÐAÐAÐAÑBÔB€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s�   ¶AÁAÁAÂ BÂB Â#B ÃC Ã C$Ã'C$Ä2EÅEÅEÆ F<Æ<G ÇG È	H%È%H)È,H)É%JÊJÊJÊ=KËKË!Kc                  ó  — t          t          d¦  «        rJ ‚t          t          d¦  «        sJ ‚t          t          d¦  «        sJ ‚t          t          ¦   «         d¦  «        sJ ‚ G d„ d¦  «        } t          | d¦  «        s
J d¦   «         ‚d S )Nr»   c                   ó8   — e Zd Z ed¦  «        dd„¦   «         ZdS )ú@test_has_fit_parameter.<locals>.TestClassWithDeprecatedFitMethodz7Deprecated for the purpose of testing has_fit_parameterNc                 ó   — d S ©Nré   )Úselfry   r½   r»   s       rT   rÊ   zDtest_has_fit_parameter.<locals>.TestClassWithDeprecatedFitMethod.fit|  ó   € àˆDr€   r˜  )rÈ   Ú
__module__Ú__qualname__r   rÊ   ré   r€   rT   Ú TestClassWithDeprecatedFitMethodr–  {  s?   € € € € € Ø	ˆÐMÑ	NÔ	Nð	ð 	ð 	ñ 
OÔ	Nð	ð 	ð 	r€   r�  z=has_fit_parameter fails for class with deprecated fit method.)rD   r   r	   r   )r�  s    rT   Útest_has_fit_parameterrž  u  s¼   € Ý Õ!5°ÑGÔGÐGÐGÐGÝÕ2°OÑDÔDÐDÐDÐDÝ�S /Ñ2Ô2Ð2Ð2Ð2Ý�S™UœU OÑ4Ô4Ð4Ð4Ð4ðð ð ð ð ñ ô ð õ
 Ð=¸ÑOÔOð ð ØGñô ÐOð ð r€   c            	      ó  — t          j        ddgddgg¦  «        } t          j        d¦  «        }t          j        ddgddgg¦  «        }|t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j	        |¦  «        dœ}t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         D ]ì\  }}t          j        t           ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d¬¦  «        }t          j        |¦  «        r0|j        |k    sJ ‚t'          |                     ¦   «         | ¦  «         ŒÜt'          || ¦  «         Œíd S )	Nr   r‡   r]   )Údenserï   r‚   rj  rî   Úlilrk  T)Úraise_exceptionF)Úraise_warning)rJ   rµ   rb   rr   Ú	dok_arrayr­   ru   r’  Ú	lil_arrayÚ	bsr_arrayrP   rQ   rR   r   ÚitemsÚwarnsÚUserWarningÚissparser„   r!   rt   )Úarr_symÚarr_badÚarr_asymÚtest_arraysÚ
arr_formatrO  Úoutputs          rT   Útest_check_symmetricr±  …  sš  € ÝŒh˜˜A˜  A Ð'Ñ(Ô(€GÝŒg�a‰jŒj€GÝŒx˜!˜Q˜ ! Q Ð(Ñ)Ô)€Hð ÝŒ|˜HÑ%Ô%ÝŒ|˜HÑ%Ô%ÝŒ|˜HÑ%Ô%ÝŒ|˜HÑ%Ô%ÝŒ|˜HÑ%Ô%ÝŒ|˜HÑ%Ô%ðð €Kõ 
Œ•zÑ	"Ô	"ð !ð !Ý˜Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð '×,Ò,Ñ.Ô.ð 0ð 0‰ˆ
�CåŒ\�+Ñ&Ô&ð 	!ð 	!Ý˜CÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!åŒ]�:Ñ&Ô&ð 	7ð 	7Ý˜C°Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7õ ! °EÐ:Ñ:Ô:ˆÝŒ;�vÑÔð 	0Ø”= JÒ.Ð.Ð.Ð.Ý˜vŸ~š~Ñ/Ô/°Ñ9Ô9Ð9Ð9å˜v wÑ/Ô/Ð/Ð/ð0ð 0s6   ÃC4Ã4C8Ã;C8Ä1EÅE	ÅE	Å1FÆF	ÆF	c                  ó  —  G d„ dt           ¦  «        } t          j        t          ¦  «        5  t	           | ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   t	           | ¦   «                              ¦   «         ¦  «         d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú6test_check_is_fitted_with_is_fitted.<locals>.Estimatorc                 ó   — d| _         | S )NT)r8   ©r™  Úkwargss     rT   rÊ   z:test_check_is_fitted_with_is_fitted.<locals>.Estimator.fitª  s   € Ø"ˆDŒOØˆKr€   c                 ó0   — t          | d¦  «        o| j        S )Nr8   )r÷   r8   ©r™  s    rT   Ú__sklearn_is_fitted__zLtest_check_is_fitted_with_is_fitted.<locals>.Estimator.__sklearn_is_fitted__®  s   € Ý˜4 Ñ.Ô.ÐB°4´?ÐBr€   N)rÈ   r›  rœ  rÊ   rº  ré   r€   rT   Ú	Estimatorr´  ©  s7   € € € € € ð	ð 	ð 	ð	Cð 	Cð 	Cð 	Cð 	Cr€   r»  )r   rP   rQ   r
   r>   rÊ   )r»  s    rT   Ú#test_check_is_fitted_with_is_fittedr¼  ¨  sÓ   € ðCð Cð Cð Cð C•Mñ Cô Cð Cõ 
Œ•~Ñ	&Ô	&ð %ð %Ý˜	˜	™œÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å�I�I‘K”K—O’OÑ%Ô%Ñ&Ô&Ð&Ð&Ð&s   ­AÁAÁAc                  óZ   —  G d„ dt           ¦  «        } t           | ¦   «         ¦  «         dS )z;Check that check_is_fitted passes for stateless estimators.c                   ó$   ‡ — e Zd Zd„ Zˆ fd„Zˆ xZS )ú:test_check_is_fitted_stateless.<locals>.StatelessEstimatorc                 ó   — | S r˜  ré   r¶  s     rT   rÊ   z>test_check_is_fitted_stateless.<locals>.StatelessEstimator.fitº  ó   € ØˆKr€   c                 óV   •— t          ¦   «                              ¦   «         }d|_        |S )NF)ÚsuperÚ__sklearn_tags__Úrequires_fit)r™  ÚtagsrÇ   s     €rT   rÄ  zKtest_check_is_fitted_stateless.<locals>.StatelessEstimator.__sklearn_tags__½  s%   ø€ Ý‘7”7×+Ò+Ñ-Ô-ˆDØ %ˆDÔØˆKr€   )rÈ   r›  rœ  rÊ   rÄ  Ú__classcell__)rÇ   s   @rT   ÚStatelessEstimatorr¿  ¹  sG   ø€ € € € € ð	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	r€   rÈ  N)r   r>   )rÈ  s    rT   Útest_check_is_fitted_statelessrÉ  ¶  sL   € ðð ð ð ð �]ñ ô ð õ Ð&Ð&Ñ(Ô(Ñ)Ô)Ð)Ð)Ð)r€   c                  ó8  — t          j        t          ¦  «        5  t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t	          ¦   «         } t          ¦   «         }	 t          j        t          ¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   n# t          $ r J d¦   «         ‚w xY wd}d}t          j        t          |¬¦  «        5  t          | |¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}d	}t          j        t          |¬¦  «        5  t          ||¬¦  «         d d d ¦  «         n# 1 swxY w Y    | j	        t          ¦   «         Ž   |j	        t          ¦   «         Ž  t          | ¦  «        �J ‚t          |¦  «        �J ‚d S )
Nr   Fz&check_is_fitted failed with ValueErrorz!Random message %(name)s, %(name)sz+Random message ARDRegression, ARDRegressionr¿   )râ   z"Another message %(name)s, %(name)szAnother message SVR, SVR)rP   rQ   rõ   r>   r   r   r
   rR   ÚAttributeErrorrÊ   r   )ÚardÚsvrrâ   rÀ   s       rT   Útest_check_is_fittedrÎ  Å  sy  € å	Œ•yÑ	!Ô	!ð 'ð 'Ý�Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'å	Œ•yÑ	!Ô	!ð ð Ý˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ‰/Œ/€CÝ
‰%Œ%€Cð?ÝŒ]�>Ñ*Ô*ð 	!ð 	!Ý˜CÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!åŒ]�>Ñ*Ô*ð 	!ð 	!Ý˜CÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!øøåð ?ð ?ð ?Ø>Ð>Ñ>Ô>ˆuð?øøøð .€CØ9€EÝ	Œ•z¨Ð	/Ñ	/Ô	/ð &ð &Ý˜ Ð%Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð /€CØ&€EÝ	Œ•~¨UÐ	3Ñ	3Ô	3ð &ð &Ý˜ Ð%Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð €C„G�Z‰\Œ\ÐÐØ€C„G�Z‰\Œ\ÐÐå˜3ÑÔÐ'Ð'Ð'Ý˜3ÑÔÐ'Ð'Ð'Ð'Ð's—   š;»?Á?ÁA;Á;A?ÂA?Â#D$ Â<CÃD$ ÃCÃD$ ÃCÃ D$ Ã<DÄD$ ÄDÄD$ ÄDÄ D$ Ä$D9ÅE9Å9E=Æ E=Æ#GÇGÇGc                  ó¾  —  G d„ dt           ¦  «        } d} | ¦   «         }t          |ddg¬¦  «        rJ ‚t          j        t          |¬¦  «        5  t          |ddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |ddgt          ¬¦  «        rJ ‚t          j        t          |¬¦  «        5  t          |ddgt          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |ddgt          ¬¦  «        rJ ‚t          j        t          |¬¦  «        5  t          |ddgt          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d	|_        t          |ddg¬¦  «        rJ ‚t          j        t          |¬¦  «        5  t          |ddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |ddgt          ¬¦  «        rJ ‚t          j        t          |¬¦  «        5  t          |ddgt          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |ddgt          ¬¦  «        sJ ‚t          |ddgt          ¬¦  «         d
|_	        t          |ddg¬¦  «        sJ ‚t          |ddg¬¦  «         t          |ddgt          ¬¦  «        sJ ‚t          |ddgt          ¬¦  «         t          |ddgt          ¬¦  «        sJ ‚t          |ddgt          ¬¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )ú4test_check_is_fitted_attributes.<locals>.MyEstimatorc                 ó   — | S r˜  ré   ©r™  ry   r½   s      rT   rÊ   z8test_check_is_fitted_attributes.<locals>.MyEstimator.fitë  rÁ  r€   N)rÈ   r›  rœ  rÊ   ré   r€   rT   ÚMyEstimatorrÑ  ê  s#   € € € € € ð	ð 	ð 	ð 	ð 	r€   rÔ  z
not fittedÚa_Úb_)Ú
attributesr¿   )r×  Ú
all_or_anyrÏ   rÐ   )
r   r8   rP   rQ   r
   r>   Úallrx   rÕ  rÖ  )rÔ  râ   Úests      rT   Útest_check_is_fitted_attributesrÛ  é  s…  € ðð ð ð ð •mñ ô ð ð €CØ
ˆ+‰-Œ-€Cå˜#¨4°¨,Ð7Ñ7Ô7Ð7Ð7Ð7Ý	Œ•~¨SÐ	1Ñ	1Ô	1ð 6ð 6Ý˜¨¨t¨Ð5Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6å˜#¨4°¨,Å3ÐGÑGÔGÐGÐGÐGÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð Fð FÝ˜¨¨t¨ÅÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Få˜#¨4°¨,Å3ÐGÑGÔGÐGÐGÐGÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð Fð FÝ˜¨¨t¨ÅÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð €C„FÝ˜#¨4°¨,Ð7Ñ7Ô7Ð7Ð7Ð7Ý	Œ•~¨SÐ	1Ñ	1Ô	1ð 6ð 6Ý˜¨¨t¨Ð5Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6å˜#¨4°¨,Å3ÐGÑGÔGÐGÐGÐGÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð Fð FÝ˜¨¨t¨ÅÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Få�c t¨T l½sÐCÑCÔCÐCÐCÐCÝ�C T¨4 L½SÐAÑAÔAÐAà€C„FÝ�c t¨T lÐ3Ñ3Ô3Ð3Ð3Ð3Ý�C T¨4 LÐ1Ñ1Ô1Ð1Ý�c t¨T l½sÐCÑCÔCÐCÐCÐCÝ�C T¨4 L½SÐAÑAÔAÐAÝ�c t¨T l½sÐCÑCÔCÐCÐCÐCÝ�C T¨4 L½SÐAÑAÔAÐAÐAÐAsZ   ÁA0Á0A4Á7A4Â1CÃCÃCÄD>Ä>EÅEÆ F Æ F$Æ'F$Ç!HÈHÈHÚwrap)ÚsingleÚlistrt  )Úidsc                 ó¸  — t          ¦   «         }t          j        t          d¬¦  «        5  t	          | | dg¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y    |j        t          ¦   «         Ž  t	          | | dg¦  «        ¦  «         t          j        t          d¬¦  «        5  t	          | | dg¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzis not fitted yetr¿   Úcoef_Ú	coef_bad_)r   rP   rQ   r
   r>   rÊ   r   )rÜ  rÌ  s     rT   Ú$test_check_is_fitted_with_attributesrã    s[  € õ ‰/Œ/€CÝ	Œ•~Ð-@Ð	AÑ	AÔ	Að .ð .Ý˜˜T˜T 7 )™_œ_Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð €C„G�Z‰\Œ\ÐÐõ �C˜˜˜w˜i™œÑ)Ô)Ð)õ 
Œ•~Ð-@Ð	AÑ	AÔ	Að 2ð 2Ý˜˜T˜T ; -Ñ0Ô0Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2s#   ªAÁAÁAÂ'CÃCÃCc                  óä  — t          dgdgdgdgdg¦  «         t          ddgddgggddgddg¦  «         t          dgdt          j        dg¦  «        t          j        d	¦  «        ¦  «         t          j        t          d
¬¦  «        5  t          ddgdg¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          ddgd¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          ddgt          ¦   «         ¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ddgt          j        d¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          ddgt          ¦   «         ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zpTest that `check_consistent_length` raises on inconsistent lengths and wrong
    input types trigger TypeErrors.r‡   r]   rW   r�   r^   rÏ   rÐ   )r]   ©r‡   r]   úinconsistent numbers of samplesr¿   Nzgot <\w+ 'int'>zgot <\w+ 'object'>úExpected sequence or array-like)r=   rJ   rµ   rr   r­   rP   rQ   rR   rõ   ro   r	   ré   r€   rT   Útest_check_consistent_lengthrè     s&  € õ ˜Q˜C !  q c¨A¨3°°Ñ4Ô4Ð4Ý˜a ˜V q¨! f XÐ.°°A°¸¸c¸
ÑCÔCÐCÝ˜Q˜C ¥r¤x°°¡}¤}µb´lÀ6Ñ6JÔ6JÑKÔKÐKÝ	Œ•zÐ)JÐ	KÑ	KÔ	Kð -ð -Ý  A ¨¨Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	Œ•yÐ(:Ð	;Ñ	;Ô	;ð +ð +Ý  A ¨Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +å	Œ•yÐ(=Ð	>Ñ	>Ô	>ð 2ð 2Ý  A ­©¬Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2å	Œ•yÑ	!Ô	!ð 5ð 5Ý  A ­¬°©¬Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5õ 
Œ•yÐ(IÐ	JÑ	JÔ	Jð Að AÝ  A Õ(=Ñ(?Ô(?Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að AsZ   ÂB(Â(B,Â/B,ÃC-Ã-C1Ã4C1ÄD>Ä>EÅEÅ"%FÆFÆFÆ9G%Ç%G)Ç,G)z(array_namespace, device_name, dtype_namec                 ób  — t          | ||¦  «        \  }}t          d¬¦  «        5  t          |                     g d¢|¬¦  «        |                     ddgddgddgg|¬¦  «        g d¢g d¢t	          j        dt
          ¬	¦  «        t          j        d
dgdd
gd
d
gg¦  «        ¦  «         t          j	        t          d¬¦  «        5  t          |                     ddg|¬¦  «        |                     dg|¬¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         dS # 1 swxY w Y   dS )zCTest that check_consistent_length works with different array types.T©Úarray_api_dispatchrÚ   ©Údevicer‡   r]   rW   r%  rY   r   ræ  r¿   N)r   r   r=   rž   rJ   ro   rr   r­   rP   rQ   rR   )Úarray_namespaceÚdevice_nameÚ
dtype_nameÚxprí  s        rT   Ú&test_check_consistent_length_array_apirò  4  sÈ  € õ & o°{ÀJÑOÔO�J€Bˆå	¨4Ð	0Ñ	0Ô	0ð ð ÝØ�JŠJ�y�y�y¨ˆJÑ0Ô0Ø�JŠJ˜˜A˜  A ¨¨A¨Ð/¸ˆJÑ?Ô?ØˆIˆIØˆOˆOÝŒJ�­fÐ5Ñ5Ô5ÝŒL˜1˜a˜& 1 a &¨1¨a¨&Ð1Ñ2Ô2ñ	
ô 	
ð 	
õ Œ]�:Ð-NÐOÑOÔOð 	ð 	Ý#Ø—
’
˜A˜q˜6¨&�
Ñ1Ô1Ø—
’
˜A˜3 v�
Ñ.Ô.ñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s6   ¥BD$Ã>DÄ D$ÄD	ÄD$ÄD	ÄD$Ä$D(Ä+D(c                  ó¸   — t          j        d¦  «        } t          j        g d¢g d¢g d¢g¦  «        }|                      |g d¢¬¦  «        }t          |¦  «         d S )NrÙ   rÚ   rC  rD  )rÏ   rÐ   rÊ   ©r8  )rP   rÝ   rJ   rµ   r(  r=   )rà   ry   rJ  s      rT   Ú"test_check_dataframe_fit_attributerõ  M  sf   € õ 
Ô	˜XÑ	&Ô	&€BÝ
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	Ð2Ñ3Ô3€AØ�<Š<˜Ð#4Ð#4Ð#4ˆ<Ñ5Ô5€DÝ˜DÑ!Ô!Ð!Ð!Ð!r€   c                  óº  — t          j        dt           j        g¦  «        } t          j        t
          ¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¬¦  «         t          | ¦  «         t          j        d¬¦  «         t          j        t
          ¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   T)Úassume_finiteF)	rJ   rµ   ÚinfrP   rQ   rR   r<   ÚsklearnÚ
set_configr“   s    rT   Útest_suppress_validationrû  W  sB  € Ý
Œ�!•R”V�ÑÔ€AÝ	Œ•zÑ	"Ô	"ð ð Ý˜!ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åÔ TÐ*Ñ*Ô*Ð*Ý�aÑÔÐÝÔ UÐ+Ñ+Ô+Ð+Ý	Œ•zÑ	"Ô	"ð ð Ý˜!ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s#   ºAÁAÁAÂ3CÃCÃCc                  ó�  — t          j        d¦  «        } t          |                      g d¢¦  «        d¬¦  «        }t	          |t          j        g d¢¦  «        ¦  «         |                      g d¢¦  «                             d¦  «        }t          |d d¬¦  «        }t	          |t          j        g d¢t          ¬¦  «        ¦  «         d S )	NrÙ   rÚ   FrÛ   r%  Úcategoryr'  rY   )	rP   rÝ   r   rÞ   r!   rJ   rµ   rf   ro   )rà   ÚresÚss      rT   Útest_check_array_seriesr   b  s´   € å	Ô	˜XÑ	&Ô	&€BÝ
�b—i’i 	 	 	Ñ*Ô*°eÐ
<Ñ
<Ô
<€CÝ�s�BœH Y Y YÑ/Ô/Ñ0Ô0Ð0ð 	�	Š	�/�/�/Ñ"Ô"×)Ò)¨*Ñ5Ô5€AÝ
�a˜t¨uÐ
5Ñ
5Ô
5€CÝ�s�BœH _ _ _½FÐCÑCÔCÑDÔDÐDÐDÐDr€   rZ   Ú
bool_dtype)ri   Úbooleanc                 óV  — t          j        d¦  «        }|                     g d¢g d¢|                     g d¢|¬¦  «        dœg d¢¬¦  «        }t	          || ¬¦  «        }|j        t          j        k    sJ ‚t          j        g d¢g d	¢g d
¢gt          ¬¦  «        }t          ||¦  «         d S )NrÙ   rÚ   )r   r_   çÍÌÌÌÌÌ @©TFTrY   )rÕ   r¶   ri   rô  )r"  ç        r"  )r#  r_   r  )r$  r  r"  )rP   rÝ   r(  rÞ   r   rZ   rJ   rh   rµ   r¶   r    )rZ   r  rà   Údfrµ   Úexpected_arrays         rT   Ú'test_check_dataframe_mixed_float_dtypesr	  n  sØ   € õ 
Ô	˜XÑ	&Ô	&€Bà	�Šà�9�9Ø"�]�]Ø—I’IÐ1Ð1Ð1¸�IÑDÔDð	
ð 	
ð
 )Ð(Ð(ð 
ñ 
ô 
€Bõ ˜ %Ð(Ñ(Ô(€EØŒ;�"œ*Ò$Ð$Ð$Ð$Ý”XØ	ˆˆ˜/˜/˜/¨?¨?¨?Ð;Å5ðñ ô €Nõ ! ¨Ñ7Ô7Ð7Ð7Ð7r€   c                  óž  — t          j        d¦  «        } |                      dg d¢i¦  «        }t          |d¬¦  «        }|j        t
          j        k    sJ ‚t          |dgdgdgg¦  «         |                      g d¢g d¢d	œdd
g¬¦  «        }t          |d¬¦  «        }|j        t
          j        k    sJ ‚t          |ddgddgddgg¦  «         dS )z>Check that pandas.DataFrame with bool return a boolean arrays.rÙ   ri   r  NrY   TFrÚ   )ri   rÕ   rÕ   rô  r  r‡   r   r]   rW   )	rP   rÝ   r(  r   rZ   rJ   Úbool_r!   rg   ©rà   r  rµ   s      rT   Ú#test_check_dataframe_with_only_boolr  Œ  sû   € å	Ô	˜XÑ	&Ô	&€BØ	�Š�vÐ2Ð2Ð2Ð3Ñ	4Ô	4€Bå˜ $Ð'Ñ'Ô'€EØŒ;�"œ(Ò"Ð"Ð"Ð"Ý�u ˜v¨ w°°Ð7Ñ8Ô8Ð8ð 
�ŠØ$Ð$Ð$¨Y¨Y¨YÐ7Ð7Ø˜�ð 
ñ 
ô 
€Bõ ˜ )Ð,Ñ,Ô,€EØŒ;�"œ(Ò"Ð"Ð"Ð"Ý�u  1˜v¨¨1 v°°1¨vÐ6Ñ7Ô7Ð7Ð7Ð7r€   c                  ó  — t          j        d¦  «        } |                      d|                      g d¢d¬¦  «        i¦  «        }t	          |d¬¦  «        }|j        t          j        k    sJ ‚t          |dgdgdgg¦  «         dS )	zMCheck that pandas.DataFrame with boolean return a float array with dtype=NonerÙ   ri   r  r  rY   NTF)	rP   rÝ   r(  rÞ   r   rZ   rJ   rh   r!   r  s      rT   Ú&test_check_dataframe_with_only_booleanr  Ÿ  s‰   € å	Ô	˜XÑ	&Ô	&€BØ	�Š�v˜rŸyšyÐ)<Ð)<Ð)<ÀI˜yÑNÔNÐOÑ	PÔ	P€Bå˜ $Ð'Ñ'Ô'€EØŒ;�"œ*Ò$Ð$Ð$Ð$Ý�u ˜v¨ w°°Ð7Ñ8Ô8Ð8Ð8Ð8r€   c                   ó   — e Zd Zd„ ZdS )ÚDummyMemoryc                 ó   — |S r˜  ré   )r™  Úfuncs     rT   ÚcachezDummyMemory.cacheª  s   € Øˆr€   N)rÈ   r›  rœ  r  ré   r€   rT   r  r  ©  s#   € € € € € ðð ð ð ð r€   r  c                   ó   — e Zd ZdS )ÚWrongDummyMemoryN©rÈ   r›  rœ  ré   r€   rT   r  r  ®  s   € € € € € Ø€Dr€   r  c                 ó,  — t          | dz  ¦  «        }t          |¦  «        }|j        |k    sJ ‚t          d ¦  «        }|j        �J ‚t          ¦   «         }t          |¦  «        }||u sJ ‚d}t	          j        t          |¬¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          ¦   «         }d                     |¦  «        }t	          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚcache_directoryzf'memory' should be None, a string or have the same interface as joblib.Memory. Got memory='1' instead.r¿   r‡   zg'memory' should be None, a string or have the same interface as joblib.Memory. Got memory='{}' instead.)	Ústrr?   Úlocationr  rP   rQ   rR   r  r„   )Útmp_pathr  ÚmemoryÚdummyrâ   s        rT   Útest_check_memoryr  ²  s�  € Ý˜(Ð%6Ñ6Ñ7Ô7€OÝ˜/Ñ*Ô*€FØŒ?˜oÒ-Ð-Ð-Ð-å˜$ÑÔ€FØŒ?Ð"Ð"Ð"å‰MŒM€EÝ˜%Ñ Ô €FØ�Uˆ?ˆ?ˆ?ˆ?ð	2ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åÑÔ€Eð	3ß39²6¸%±=´=ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�UÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   ÂB#Â#B'Â*B'Ã,D	Ä	DÄDr\   c                 ó  — t          j        d¦  «        }t          |d¬¦  «        5 }t          || ¬¦  «        }t          j        ||¦  «        |  k    sJ ‚|j        d         | k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )N)r�   r�   Úr©Ú	mmap_moder[   Ú	WRITEABLE)rJ   rb   r   r   Úmay_share_memoryr¬   )r\   ry   ÚX_memmapr¸   s       rT   Útest_check_array_memmapr'  Í  sÐ   € å
Œ�‰Œ€AÝ	�A Ð	%Ñ	%Ô	%ð 4¨Ý ¨tÐ4Ñ4Ô4ˆ	ÝÔ" 8¨YÑ7Ô7À¸HÒEÐEÐEÐEØŒ˜{Ô+¨tÒ3Ð3Ð3Ð3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4s   ¦AA5Á5A9Á<A9zOestimator_name, estimator_value, delegates, expected_result, expected_exceptionÚ
estimator_ÚSubEstimatorré   Úattribute_presentrÆ   Úestimators_Úcustom_estimatorÚno_estimatorÚattribute_absent)Ú'fitted_estimator_with_default_delegatesÚ estimator_with_default_delegatesÚ#list_of_estimators_with_estimators_Ú&custom_estimator_with_custom_delegatesÚ#no_estimator_with_default_delegatesÚ5estimator_with_default_delegates_but_absent_attributec                 ó6  — |€t          d¦  «        }nt          d|¬¦  «        } G d„ d¦  «        } |¦   «         }t          || |¦  «         |r:t          j        |¦  «        5   ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS  ||¦  «        |k    sJ ‚dS )zå
    Tests the _estimator_has function by verifying:
    - Functionality with default and custom delegates.
    - Raises ValueError if delegates are missing.
    - Raises AttributeError if the specified attribute is missing.
    Nr*  )Ú	delegatesc                   ó   — e Zd ZdS )ú)test_estimator_has.<locals>.MockEstimatorNr  ré   r€   rT   ÚMockEstimatorr8     s   € € € € € Øˆr€   r9  )r6   ÚsetattrrP   rQ   )Úestimator_nameÚestimator_valuer6  Úexpected_resultÚexpected_exceptionÚcheckr9  rÏ   s           rT   Útest_estimator_hasr@  Ö  s   € ðJ ÐÝÐ2Ñ3Ô3ˆˆåÐ2¸iÐHÑHÔHˆðð ð ð ð ñ ô ð ð 	ˆ‰Œ€AÝˆAˆ~˜Ñ/Ô/Ð/àð +ÝŒ]Ð-Ñ.Ô.ð 	ð 	ØˆE�!‰HŒHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð ˆu�Q‰xŒx˜?Ò*Ð*Ð*Ð*Ð*Ð*s   Á"A;Á;A?ÂA?c                 óf  — t          j        g d¢g d¢g d¢g d¢g¦  «        } | |¦  «        }t          |d¦  «          | ddgddgg¦  «        }t          |d¦  «         d|d<    | |¦  «        }t          j        t
          d¬¦  «        5  t          |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	N)r‡   r‡   r   r   )r   r   r   r   rº   r   rª   ra   z	Negative r¿   )rJ   rµ   r@   rP   rQ   rR   )r²   r¯   ry   s      rT   Útest_check_non_negativerB  -  s  € õ* 	Œ�,�,�,   ¨l¨l¨l¸L¸L¸LÐIÑJÔJ€AØˆˆq‰	Œ	€AÝ�q˜"ÑÔÐØˆ��A�˜˜A˜ÐÑ Ô €AÝ�q˜"ÑÔÐà€A€d�GØˆˆq‰	Œ	€AÝ	Œ•z¨Ð	5Ñ	5Ô	5ð "ð "Ý˜1˜bÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   ÂB&Â&B*Â-B*c                  ód  — t          j        d¦  «        } d }d}t          j        t          |¬¦  «        5  t          | |¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          | |t          ¦   «         ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©r]   r]   z;estimator requires y to be passed, but the target y is Noner¿   zGRandomForestRegressor requires y to be passed, but the target y is None©rÆ   )rJ   rb   rP   rQ   rR   r   r	   )ry   r½   râ   s      rT   Ú test_check_X_y_informative_errorrF  N  s-  € Ý
Œ�‰Œ€AØ€AØ
G€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð T€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ;ð ;Ý�!�QÕ"7Ñ"9Ô"9Ð:Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;s#   ´AÁAÁAÁ9B%Â%B)Â,B)c                  ó0  —  G d„ d¦  «        }  | ¦   «         }t          |¦  «        t          |¦  «        k    sJ ‚ G d„ d¦  «        }t          j        t          d¬¦  «        5  t           |¦   «         ¦  «         ddd¦  «         n# 1 swxY w Y    G d„ d	¦  «        } |t          j        d
¦  «        ¦  «        }t          |¦  «        d
k    sJ ‚ |t          j        d¦  «                             d
d¦  «        ¦  «        }t          |¦  «        d
k    sJ ‚dS )z4Test _num_samples on different non standard input X.c                   ó   — e Zd Zd„ Zd„ ZdS )úCtest_num_samples_on_non_standard_shape.<locals>.TestNonNumericShapec                 ó   — d| _         d S ©N)znot numeric©rœ   r¹  s    rT   Ú__init__zLtest_num_samples_on_non_standard_shape.<locals>.TestNonNumericShape.__init__^  ó   € Ø)ˆDŒJˆJˆJr€   c                 ó$   — t          g d¢¦  «        S )NrÚ   )Úlenr¹  s    rT   Ú__len__zKtest_num_samples_on_non_standard_shape.<locals>.TestNonNumericShape.__len__a  s   € Ý�y�y�y‘>”>Ð!r€   N)rÈ   r›  rœ  rM  rQ  ré   r€   rT   ÚTestNonNumericShaperI  ]  s2   € € € € € ð	*ð 	*ð 	*ð	"ð 	"ð 	"ð 	"ð 	"r€   rR  c                   ó   — e Zd Zd„ ZdS )úCtest_num_samples_on_non_standard_shape.<locals>.TestNoLenWeirdShapec                 ó   — d| _         d S rK  rL  r¹  s    rT   rM  zLtest_num_samples_on_non_standard_shape.<locals>.TestNoLenWeirdShape.__init__i  rN  r€   N)rÈ   r›  rœ  rM  ré   r€   rT   ÚTestNoLenWeirdShaperT  h  s#   € € € € € ð	*ð 	*ð 	*ð 	*ð 	*r€   rV  rç  r¿   Nc                   ó   — e Zd Zd„ Zdd„ZdS )úPtest_num_samples_on_non_standard_shape.<locals>.TestNoLenNoShapeButArrayProtocolc                 ó   — || _         d S r˜  r—   )r™  r˜   s     rT   rM  zYtest_num_samples_on_non_standard_shape.<locals>.TestNoLenNoShapeButArrayProtocol.__init__p  s   € ØˆDŒFˆFˆFr€   Nc                 ó8   — t          j        | j        |¬¦  «        S )NrY   )rJ   rž   r˜   )r™  rZ   r\   s      rT   Ú	__array__zZtest_num_samples_on_non_standard_shape.<locals>.TestNoLenNoShapeButArrayProtocol.__array__s  s   € Ý”:˜dœf¨EÐ2Ñ2Ô2Ð2r€   )NN)rÈ   r›  rœ  rM  r[  ré   r€   rT   Ú TestNoLenNoShapeButArrayProtocolrX  o  s7   € € € € € ð	ð 	ð 	ð	3ð 	3ð 	3ð 	3ð 	3ð 	3r€   r\  rW   r†   r]   )r:   rP  rP   rQ   rõ   rJ   rd   r�   )rR  ry   rV  r\  s       rT   Ú&test_num_samples_on_non_standard_shaper]  Z  s¢  € ð"ð "ð "ð "ð "ñ "ô "ð "ð 	ÐÑÔ€AÝ˜‰?Œ?�c !™fœfÒ$Ð$Ð$Ð$ð*ð *ð *ð *ð *ñ *ô *ð *õ 
Œ•yÐ(IÐ	JÑ	JÔ	Jð ,ð ,ÝÐ(Ð(Ñ*Ô*Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð 	)Ð(­¬°1©¬Ñ6Ô6€AÝ˜‰?Œ?˜aÒÐÐÐØ(Ð(­¬°1©¬×)=Ò)=¸aÀÑ)CÔ)CÑDÔD€AÝ˜‰?Œ?˜aÒÐÐÐÐÐs   Á"BÂB
ÂB
Úconstructor_name)rÞ  rt  rµ   ÚseriesÚpolars_seriesc                 ó„   — t          t          t          d¦  «        ¦  «        | ¦  «        }t          |¦  «        dk    sJ ‚dS )z*Test _num_samples on different 1d input X.rW   N)r   rÞ  Úranger:   ©r^  ry   s     rT   Útest_num_samples_on_1drd  |  s=   € õ
 	�4¥ a¡¤™>œ>Ð+;Ñ<Ô<€AÝ˜‰?Œ?˜aÒÐÐÐÐÐr€   )rÞ  rt  rµ   ÚsparserÙ   ÚpyarrowÚpolarsc                 ób   — t          ddgddgddgg| ¦  «        }t          |¦  «        dk    sJ ‚dS )z6Test _num_samples on different dataframe-like input X.r‡   é   r]   é   rW   é!   N)r   r:   rc  s     rT   Ú#test_num_samples_on_dataframe_likesrl  …  sD   € õ 	˜Q ˜G a¨ W¨q°"¨gÐ6Ð8HÑIÔI€AÝ˜‰?Œ?˜aÒÐÐÐÐÐr€   r˜   )r]   rW   g      @r^   c           	      óÒ   — t          j        ¦   «         5  t          j        d¦  «         t          | dt          j        ddd¬¦  «        }ddd¦  «         n# 1 swxY w Y   || k    sJ ‚dS )zPTest that check_scalar returns no error/warning if valid inputs are
    providedrX  Ú	test_namer]   r^   Úboth©Útarget_typeÚmin_valÚmax_valÚinclude_boundariesN)rY  rZ  r[  rB   ÚnumbersÚReal)r˜   Úscalars     rT   Útest_check_scalar_validrx  �  s´   € õ 
Ô	 Ñ	"Ô	"ð 	
ð 	
ÝÔ˜gÑ&Ô&Ð&ÝØØÝœØØØ%ð
ñ 
ô 
ˆð	
ð 	
ð 	
ñ 	
ô 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
øøøð 	
ð 	
ð 	
ð 	
ð �QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;s   ”4AÁAÁAzJx, target_name, target_type, min_val, max_val, include_boundaries, err_msgÚ
test_name1r]   r�   Úneitherz1test_name1 must be an instance of float, not int.z6test_name1 must be an instance of float, not NoneType.z4test_name1 must be an instance of int, not NoneType.z9test_name1 must be an instance of {float, bool}, not int.Ú
test_name2ztest_name2 == 1, must be > 2.r^   Ú
test_name3ztest_name3 == 5, must be < 4.Ú
test_name4Úrightztest_name4 == 2, must be > 2.Ú
test_name5Úleftztest_name5 == 4, must be < 4.Ú
test_name6zbad parameter valuezyUnknown value for `include_boundaries`: 'bad parameter value'. Possible values are: ('left', 'right', 'both', 'neither').Ú
test_name7zT`include_boundaries`='left' without specifying explicitly `min_val` is inconsistent.Ú
test_name8zU`include_boundaries`='right' without specifying explicitly `max_val` is inconsistent.c           	      ó(  — t          j        t          ¦  «        5 }t          | |||||¬¦  «         ddd¦  «         n# 1 swxY w Y   t	          |j        ¦  «        t	          |¦  «        k    sJ ‚t          |j        t          |¦  «        ¦  «        sJ ‚dS )zLTest that check_scalar returns the right error if a wrong input is
    givenrp  N)rP   rQ   Ú	ExceptionrB   r  r·   r‘   rß   )r˜   Útarget_namerq  rr  rs  rt  rÖ   Úraised_errors           rT   Útest_check_scalar_invalidrˆ     sÙ   € õl 
Œ•yÑ	!Ô	!ð 
 \ÝØØØ#ØØØ1ð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ ˆ|Ô!Ñ"Ô"¥c¨'¡l¤lÒ2Ð2Ð2Ð2Ý�lÔ(­$¨w©-¬-Ñ8Ô8Ð8Ð8Ð8Ð8Ð8s   š<¼A ÁA rå  )r^   y        -Cëâ6
?zJThere are imaginary parts in eigenvalues \(1e\-05 of the maximum real part)r^   g-Cëâ6
¿g�íµ ÷Æ°¾z?There are negative eigenvalues \(1e\-06 of the maximum positiveg»½×Ùß|Û½z?There are negative eigenvalues \(1e\-10 of the maximum positive)r^   gê-�™—‘=z=the largest eigenvalue is more than 1e\+12 times the smallest)ÚnominalÚnominal_np_arrayÚinsignificant_imagzinsignificant negzinsignificant neg float32zinsignificant neg float64zinsignificant posz(lambdas, expected_lambdas, w_type, w_msgÚenable_warningsc                 ó^  — |sd }|€Wt          j        ¦   «         5  t          j        dt          ¦  «         t	          | |¬¦  «        }d d d ¦  «         n# 1 swxY w Y   n?t          j        ||¬¦  «        5  t	          | |¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         d S )NrX  )rŒ  r¿   )rY  rZ  r[  r   r1   rP   r¨  r   )ÚlambdasÚexpected_lambdasÚw_typeÚw_msgrŒ  Úlambdas_fixeds         rT   Ú test_check_psd_eigenvalues_validr“  B  sF  € ð ð Øˆà€~ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ! 'Õ+BÑCÔCÐCÝ2Ø¨ðñ ô ˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øõ Œ\˜&¨Ð.Ñ.Ô.ð 	ð 	Ý2Ø¨ðñ ô ˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 Ð$ mÑ4Ô4Ð4Ð4Ð4s#   š,AÁAÁAÁ4BÂBÂB)r^   y              @z/There are significant imaginary parts in eigenv)éûÿÿÿrª   z,All eigenvalues are negative \(maximum is -1)r^   rª   z*There are significant negative eigenvaluesga2U0*©3?g�íµ ÷ÆÀ¾gñhãˆµøä>g»½×Ùß|ë½)Úsignificant_imagzall negativezsignificant negzsignificant neg float32zsignificant neg float64zlambdas, err_type, err_msgc                 ó‚   — t          j        ||¬¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¿   )rP   rQ   r1   )rŽ  Úerr_typerÖ   s      rT   Ú"test_check_psd_eigenvalues_invalidr˜  }  s‹   € õ 
Œ�x wÐ	/Ñ	/Ô	/ð (ð (Ý˜wÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   —4´8»8c                 ó*  — t          d |                      d¦  «        ¬¦  «        }t          t          |t          d¬¦  «        t	          j        d¦  «        ¦  «         t          d|                      d¦  «        ¬¦  «        }t          t          |t          d¬¦  «        dt	          j        d¦  «        z  ¦  «         t          j        t          d¬	¦  «        5  t          |                      d
¦  «        |                      d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        d|                      d¦  «        j
        › d�¦  «        }t          j        t          |¬	¦  «        5  t          |                      d¦  «        |                      d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d¦  «        }|                      d| j        ¬¦  «        }t          ||¦  «        }|j        | j        k    sJ ‚|                      d¦  «        }|                      t          |¦  «        ¦  «        }d|d<   d}t          j        t          |¬	¦  «        5  t          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d¦  «        }|                      t          |¦  «        ¦  «        }d}t          j        t          |¬	¦  «        5  t          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©r^   r]   r“   Úcpu)rñ  rí  r^   r#  r]   z)Sample weights must be 1D array or scalarr¿   )r]   r�   rD  zsample_weight.shape == r�   z, expected (2,)!rY   éöÿÿÿrª   z1Negative values in data passed to `sample_weight`T)rô   z9Sample weights must contain at least one non-zero number.F)Úallow_all_zero_weights)r3   rb   r   r   rJ   rP   rQ   rR   r„  r…  rœ   re   rZ   r:   Úzeros)rñ  r»   râ   ry   rÖ   s        rT   Ú_check_sample_weight_commonrŸ  Š  sÓ  € õ )¨°·²¸±´ÐAÑAÔA€MÝ•G˜M­b¸Ð?Ñ?Ô?ÅÄÈÁÄÑLÔLÐLõ )¨°·²¸±´Ð@Ñ@Ô@€MÝ•G˜M­b¸Ð?Ñ?Ô?ÀÅRÄWÈQÁZÄZÁÑPÔPÐPõ 
Œ•zÐ)UÐ	VÑ	VÔ	Vð Að AÝ˜RŸWšW V™_œ_°·²¸±´Ð@Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aõ Œ)ÐP¨b¯gªg°a©j¬jÔ.>ÐPÐPÐPÑ
QÔ
Q€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð <ð <Ý˜RŸWšW Q™ZœZ¨2¯7ª7°6©?¬?Ð;Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð 	�Š�‰Œ€AØ—G’G˜A R¤Z�GÑ0Ô0€MÝ(¨¸Ñ:Ô:€MØÔ "¤*Ò,Ð,Ð,Ð,ð 	�Š�‰Œ€AØ—G’G�L¨™OœOÑ,Ô,€MØ€M�"ÑØA€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð Ið IÝ˜]¨AÀ4ÐHÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið 	�Š�‰Œ€AØ—H’H�\¨!™_œ_Ñ-Ô-€MØI€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð Mð MÝ˜]¨AÀeÐLÑLÔLÐLðMð Mð Mñ Mô Mð Mð Mð Mð Mð Mð Mð Møøøð Mð Mð Mð Mð Mð MsH   Ã8DÄDÄ DÅ/8F3Æ3F7Æ:F7É*J	Ê	JÊJË(LÌLÌLc                  ó|  — t          j        d¦  «        d d d…         } | j        d         rJ ‚t          | t          j        d¦  «        ¬¦  «        } | j        d         sJ ‚t	          t           ¦  «         t          j        dt
          ¬¦  «        }t          d ||j        ¬¦  «        } | j        t           j        k    sJ ‚d S )NrX   r]   r§   ©r^   r‡   r“   rš  rY   )rJ   rb   r¬   r3   rŸ  rÕ   rZ   rh   )r»   ry   s     rT   Útest_check_sample_weightr¢  ´  s²   € å”G˜B‘K”K   ! Ô$€MØÔ" >Ô2Ð2Ð2Ð2Ý(¨½"¼'À&¹/¼/ÐJÑJÔJ€MØÔ˜~Ô.Ð.Ð.Ð.å¥Ñ#Ô#Ð#õ 	Œ��cÐ"Ñ"Ô"€AÝ(¨¨q¸¼Ð@Ñ@Ô@€MØÔ¥"¤*Ò,Ð,Ð,Ð,Ð,Ð,r€   c                 óš  — t          | ||¦  «        \  }}t          d¬¦  «        5  |                     d¦  «        d d d…         }t          |¦  «        r|j        d         rJ ‚t          ||                     d¦  «        ¬¦  «        }t          |¦  «        r|j        d         sJ ‚t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTrê  rX   r]   r§   r¡  r“   )r   r   rb   r   r¬   r3   rŸ  )rî  rï  rð  rñ  rí  r»   s         rT   Ú"test_check_sample_weight_array_apir¤  Ã  s  € õ
 & o°{ÀJÑOÔO�J€BˆÝ	¨4Ð	0Ñ	0Ô	0ð 	(ð 	(àŸš ™œ C C a CÔ(ˆÝ˜rÑ"Ô"ð 	;Ø$Ô*¨>Ô:Ð:Ð:Ð:Ý,¨]¸b¿gºgÀf¹o¼oÐNÑNÔNˆÝ˜rÑ"Ô"ð 	7Ø Ô& ~Ô6Ð6Ð6Ð6å# BÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   ¥BC Ã CÃCÚy_truerª   )r‡   r‡   r‡   )rª   rª   rª   c                 ó2   — t          d | ¦  «        dk    sJ ‚d S )Nr‡   )r0   ©r¥  s    rT   Ú test_check_pos_label_consistencyr¨  Õ  s#   € å'¨¨fÑ5Ô5¸Ò:Ð:Ð:Ð:Ð:Ð:r€   c                 óÜ   — t          | ||¦  «        \  }}t          d¬¦  «        5  |                     ||¬¦  «        }t          d |¦  «        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NTrê  rì  r‡   )r   r   rž   r0   ©rî  rï  rð  r¥  rñ  rí  rO  s          rT   Ú*test_check_pos_label_consistency_array_apir«  Ú  sÁ   € õ & o°{ÀJÑOÔO�J€BˆÝ	¨4Ð	0Ñ	0Ô	0ð <ð <Ø�jŠj˜¨ˆjÑ/Ô/ˆÝ+¨D°#Ñ6Ô6¸!Ò;Ð;Ð;Ð;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s   ¥.A!Á!A%Á(A%)r]   rW   r�   rœ  c                 ó¸   — t          j        t          d¬¦  «        5  t          d | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          d| ¦  «        dk    sJ ‚d S )Núy_true takes value inr¿   rÏ   )rP   rQ   rR   r0   r§  s    rT   Ú(test_check_pos_label_consistency_invalidr®  è  s    € å	Œ•zÐ)@Ð	AÑ	AÔ	Að 3ð 3Ý$ T¨6Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ (¨¨VÑ4Ô4¸Ò;Ð;Ð;Ð;Ð;Ð;s   œ9¹=Á =c                 ób  — t          | ||¦  «        \  }}t          d¬¦  «        5  |                     ||¬¦  «        }t          j        t
          d¬¦  «        5  t          d |¦  «         d d d ¦  «         n# 1 swxY w Y   t          d|¦  «        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NTrê  rì  r­  r¿   rÏ   )r   r   rž   rP   rQ   rR   r0   rª  s          rT   Ú2test_check_pos_label_consistency_invalid_array_apir°  ð  s>  € õ & o°{ÀJÑOÔO�J€BˆÝ	¨4Ð	0Ñ	0Ô	0ð =ð =Ø�jŠj˜¨ˆjÑ/Ô/ˆÝŒ]�:Ð-DÐEÑEÔEð 	4ð 	4Ý(¨¨sÑ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4õ ,¨C°Ñ5Ô5¸Ò<Ð<Ð<Ð<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s5   ¥3B$ÁA5Á)B$Á5A9	Á9B$Á<A9	Á=B$Â$B(Â+B(rt   c                 ó¦   — t          j        d¦  «                             dd¦  «        } | |¦  «         | |¦  «        }}t          ||¦  «        sJ ‚d S )NrF  rW   ©rJ   rd   r�   r,   ©rt   Úbaser˜   r½   s       rT   Ú!test_allclose_dense_sparse_equalsrµ    sT   € åŒ9�Q‰<Œ<×Ò  1Ñ%Ô%€DØˆ7�4‰=Œ=˜'˜' $™-œ-€q€AÝ! ! QÑ'Ô'Ð'Ð'Ð'Ð'Ð'r€   c                 ó¬   — t          j        d¦  «                             dd¦  «        } | |¦  «         | |dz   ¦  «        }}t          ||¦  «        rJ ‚d S )NrF  rW   r‡   r²  r³  s       rT   Ú%test_allclose_dense_sparse_not_equalsr·    sZ   € åŒ9�Q‰<Œ<×Ò  1Ñ%Ô%€DØˆ7�4‰=Œ=˜'˜' $¨¡(Ñ+Ô+€q€AÝ% a¨Ñ+Ô+Ð+Ð+Ð+Ð+Ð+r€   c                 óþ   — t          j        d¦  «                             dd¦  «        } | |dz   ¦  «        }d}t          j        t
          |¬¦  «        5  t          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrF  rW   r‡   zFCan only compare two sparse matrices, not a sparse matrix and an arrayr¿   )rJ   rd   r�   rP   rQ   rR   r,   )rt   r˜   r½   râ   s       rT   Ú test_allclose_dense_sparse_raiser¹    s¾   € å
Œ	�!‰Œ×Ò˜Q Ñ"Ô"€AØˆ��A‘‰Œ€Aà
R€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð %ð %Ý˜q !Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s   ÁA2Á2A6Á9A6c                  ó‚  — t           dddœd„¦   «         } t          j        t          d¬¦  «        5   | ddd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5   | dddd	¦  «         d d d ¦  «         n# 1 swxY w Y   t           ddddd
œd„¦   «         }t          j        t          d¬¦  «        5   |dd¦  «         d d d ¦  «         n# 1 swxY w Y   t           dddœd„¦   «         }t          j        t          d¬¦  «        5   |dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr‡   ©r&  Údc                ó   — d S r˜  ré   ©rÏ   rÐ   r&  r¼  s       rT   Úf1z=test_deprecate_positional_args_warns_for_function.<locals>.f1  ó   € àˆr€   úPass c=3 as keyword argsr¿   r]   rW   úPass c=3, d=4 as keyword argsr�   )rÐ   r&  r¼  c                ó   — d S r˜  ré   r¾  s       rT   Úf2z=test_deprecate_positional_args_warns_for_function.<locals>.f2'  rÀ  r€   zPass b=2 as keyword argsc                ó   — d S r˜  ré   r¾  s       rT   Úf3z=test_deprecate_positional_args_warns_for_function.<locals>.f3/  rÀ  r€   )r‡   ©r5   rP   r¨  ÚFutureWarning)r¿  rÄ  rÆ  s      rT   Ú1test_deprecate_positional_args_warns_for_functionrÉ    sŒ  € ÝØ˜1ð ð ð ð ñ  Ôðõ 
Œ•mÐ+FÐ	GÑ	GÔ	Gð ð Ø
ˆˆ1ˆa�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•mÐ+KÐ	LÑ	LÔ	Lð ð Ø
ˆˆ1ˆa��A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ  ð�Q˜!˜qð ð ð ð ñ  Ôðõ 
Œ•mÐ+FÐ	GÑ	GÔ	Gð ð Ø
ˆˆ1ˆa‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ  Ø˜1ð ð ð ð ñ  Ôðõ 
Œ•mÐ+FÐ	GÑ	GÔ	Gð ð Ø
ˆˆ1ˆa‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sG   °A
Á
AÁAÁ0BÂBÂBÃC Ã C$Ã'C$ÄD4Ä4D8Ä;D8c                  ó¸   — t          d¬¦  «        d„ ¦   «         } t          j        t          d¬¦  «        5   | dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz1.1)Úversionc                ó   — d S r˜  ré   r!  s     rT   r¿  zEtest_deprecate_positional_args_warns_for_function_version.<locals>.f18  rÀ  r€   z,From version 1.1 passing these as positionalr¿   r‡   r]   rÇ  )r¿  s    rT   Ú9test_deprecate_positional_args_warns_for_function_versionrÍ  7  s»   € Ý¨Ð.Ñ.Ô.ðð ñ /Ô.ðõ 
ŒÝÐLð
ñ 
ô 
ð ð ð 	ˆˆ1ˆa‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   µAÁAÁAc                  ó@  —  G d„ d¦  «        } t          j        t          d¬¦  «        5   | ddd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5   | dddd	¦  «         d d d ¦  «         n# 1 swxY w Y    G d
„ d¦  «        }t          j        t          d¬¦  «        5   |ddd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5   |dddd	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó,   — e Zd Zedddœd„¦   «         ZdS )ú:test_deprecate_positional_args_warns_for_class.<locals>.A1r‡   r»  c                ó   — d S r˜  ré   ©r™  rÏ   rÐ   r&  r¼  s        rT   rM  zCtest_deprecate_positional_args_warns_for_class.<locals>.A1.__init__D  rš  r€   N©rÈ   r›  rœ  r5   rM  ré   r€   rT   ÚA1rÐ  C  s=   € € € € € Ø	#Ø&'¨1ð 	ð 	ð 	ð 	ñ 
$Ô	#ð	ð 	ð 	r€   rÔ  rÁ  r¿   r‡   r]   rW   rÂ  r�   c                   ó.   — e Zd Zeddddœd„¦   «         ZdS )ú:test_deprecate_positional_args_warns_for_class.<locals>.A2r‡   r»  c                ó   — d S r˜  ré   rÒ  s        rT   rM  zCtest_deprecate_positional_args_warns_for_class.<locals>.A2.__init__O  rš  r€   N)r‡   r‡   rÓ  ré   r€   rT   ÚA2rÖ  N  sA   € € € € € Ø	#ð	¨!¨qð 	ð 	ð 	ð 	ñ 
$Ô	#ð	ð 	ð 	r€   rØ  )rP   r¨  rÈ  )rÔ  rØ  s     rT   Ú.test_deprecate_positional_args_warns_for_classrÙ  B  s]  € ðð ð ð ð ñ ô ð õ
 
Œ•mÐ+FÐ	GÑ	GÔ	Gð ð Ø
ˆˆ1ˆa�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•mÐ+KÐ	LÑ	LÔ	Lð ð Ø
ˆˆ1ˆa��A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ðð ð ð ð ñ ô ð õ
 
Œ•mÐ+FÐ	GÑ	GÔ	Gð ð Ø
ˆˆ1ˆa�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•mÐ+KÐ	LÑ	LÔ	Lð ð Ø
ˆˆ1ˆa��A‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sG   ©AÁAÁ
AÁ)BÂBÂBÂ7CÃCÃCÃ7DÄDÄDrw  rW   c           
      ó.  — t           j                             dd¦  «        }g d¢t          j        g d¢¦  «        t	          j        g d¢g¦  «        j        t	          j        g d¢g¦  «        t	          j        g d¢g¦  «        j        t	          j        g d¢g¦  «        ddd dœ	}t          ||| ¬¦  «        }| �| n&t          t          |j        d         ¦  «        ¦  «        }d	D ]}||         ||         u sJ ‚Œ|d
         t          |d
         |¦  «        k    sJ ‚t          |d         t          |d         |¦  «        ¦  «         t          |d         t          |d         |¦  «        ¦  «         t          |d         t          |d         |¦  «        ¦  «         d S )Nr�   r]   )r‡   r]   rW   r�   r‡   Úxxx)	rÞ  rµ   úsparse-col2úsparse-row2ú
sparse-colú
sparse-rowú
scalar-intú
scalar-strÚNone)rl  rw  r   )rß  rÝ  rà  rá  râ  rÞ  rµ   rÞ  rÜ  )rJ   rK   Úrandnrµ   rr   rs   r«   ru   r/   rÞ  rb  rœ   r   r!   r    )rw  ry   Ú_paramsr  Úindices_Úkeys         rT   Útest_check_method_paramsrç  Z  s£  € å
Œ	�Š˜˜1ÑÔ€Aà��Ý”˜,˜,˜,Ñ'Ô'Ý”} l l l ^Ñ4Ô4Ô6Ý”} l l l ^Ñ4Ô4Ý”l L L L >Ñ2Ô2Ô4Ý”l L L L >Ñ2Ô2ØØØð
ð 
€Gõ " !¨G¸WÐEÑEÔE€FØ!Ð-ˆwˆwµ4½¸a¼gÀa¼jÑ8IÔ8IÑ3JÔ3J€HàPð +ð +ˆØ�cŒ{˜g cœlÐ*Ð*Ð*Ð*Ð*à�&Œ>�^¨G°F¬O¸XÑFÔFÒFÐFÐFÐFÝ�v˜g”­°w¸wÔ7GÈÑ(RÔ(RÑSÔSÐSÝ Øˆ|Ô�n¨W°\Ô-BÀHÑMÔMñô ð õ !Øˆ}Ô�~¨g°mÔ.DÀhÑOÔOñô ð ð ð r€   Úconvert_to_narwhalsÚ	sp_format)Tr‚   rj  rî   rk  c                 óL  — t          j        d¦  «        }t          dd¦  «        }|j        j                             |¦  «        }| rt          j        |¦  «        }t          ||¬¦  «        }|du rd}t          j
        |¦  «        sJ ‚|j        |k    sJ ‚t          ||¦  «         d S )NrÙ   rX   rW   re  Trî   )rP   rÝ   r   r(  re  Úfrom_spmatrixÚnwÚfrom_nativer   rr   rª  r„   r    )rè  ré  rà   Úsp_matÚsdfr  s         rT   Ú"test_check_sparse_pandas_sp_formatrð  x  s³   € õ 
Ô	˜XÑ	&Ô	&€BÝ" 2 qÑ)Ô)€Fà
Œ,Ô
×
+Ò
+¨FÑ
3Ô
3€CØð "ÝŒn˜SÑ!Ô!ˆÝ˜¨IÐ6Ñ6Ô6€Fà�DÐÐàˆ	åŒ;�vÑÔÐÐÐØŒ=˜IÒ%Ð%Ð%Ð%Ý  ¨Ñ0Ô0Ð0Ð0Ð0r€   c                  óÖ  — t          j        d¦  «        } |                      dt          j        ddd¦  «        i¦  «        }t          dd¦  «        D ]S}t          j        d¦  «        }t          j        d¦  «        |dd…<   | j         	                    |d¬¦  «        }||d	|› �<   ŒTd
}t          j
        t          |¬¦  «        5  t          |d¬¦  «         ddd¦  «         n# 1 swxY w Y   |                     d¬¦  «        }t          |d¦  «        sJ ‚t          j        ¦   «         5  t          j        dt          ¦  «         t          |d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zDTest that check_array warns on pandas dataframe with sparse columns.rÙ   Úcol_0r   r‡   rX   r�   N)Ú
fill_valueÚcol_z+pandas.DataFrame with sparse columns found.r¿   Tre  rô  re  rX  )rP   rÝ   r(  rJ   Úlinspacerb  rž  rd   ÚarraysÚSparseArrayr¨  r©  r   Údropr÷   rY  rZ  r[  )rà   r  rT  rO  râ   s        rT   Ú,test_check_array_pd_sparse_dataframe_warningrù  �  sâ  € å	Ô	˜XÑ	&Ô	&€Bð 
�Š�w¥¤¨A¨q°"Ñ 5Ô 5Ð6Ñ	7Ô	7€BÝ�1�a‰[Œ[ð ð ˆÝŒh�r‰lŒlˆÝ”)˜A‘,”,ˆˆBˆQˆB‰ØŒi×#Ò# C°AÐ#Ñ6Ô6ˆØˆˆ:�!ˆ:ˆ:‰ˆà
7€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ,ð ,Ý�B dÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð 
�Š˜ˆÑ	!Ô	!€BÝ�2�xÑ Ô Ð Ð Ð å	Ô	 Ñ	"Ô	"ð ,ð ,ÝÔ˜g¥{Ñ3Ô3Ð3Ý�B dÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s$   ÃCÃC#Ã&C#Ä%,EÅE"Å%E"zntype1, ntype2)	)Ú
longdoublerH  )rH  re   )re   Údouble)rk   rc   )rc   Úlong)Úbyterm   )Úushortrn   )rn   Úuint64)rl   rj   c                 óø   — t          j        d¦  «        }|                     |j                             g d¢| d¬¦  «        |j                             g d¢|d¬¦  «        dœ¦  «        }t          |ddg¬	¦  «         d
S )zWCheck that pandas.DataFrame having sparse extension arrays with mixed dtypes
    works.rÙ   ©r   r‡   r   r   ©rZ   ró  ©r‡   r   r‡   ©Úcol1Úcol2r‚   rj  re  N)rP   rÝ   r(  rö  r÷  r   )Úntype1Úntype2rà   r  s       rT   Ú%test_check_pandas_sparse_mixed_dtypesr	  §  sŒ   € õ" 
Ô	˜XÑ	&Ô	&€BØ	�Šà”I×)Ò)¨)¨)¨)¸6ÈaÐ)ÑPÔPØ”I×)Ò)¨)¨)¨)¸6ÈaÐ)ÑPÔPð	
ð 	
ñ
ô 
€Bõ � 5¨% .Ð1Ñ1Ô1Ð1Ð1Ð1r€   z ntype1, ntype2, expected_subtyperû  rú  rÝ  re   rh   rj   rý  Úshortrk   Úintcrc   Úintprü  rÕ   rg   ÚlonglongÚint_Úubyterl   rm   rþ  Úuintcrn   Úuintrÿ  ÚuintpÚ	ulonglongc                 ó0  — t          j        d¦  «        }|                     |j                             g d¢| d¬¦  «        |j                             g d¢|d¬¦  «        dœ¦  «        }t          |ddg¬	¦  «        }t          j        |j        |¦  «        sJ ‚d S )
NrÙ   r  r   r  r  r  r‚   rj  re  )	rP   rÝ   r(  rö  r÷  r   rJ   Ú
issubdtyperZ   )r  r  Úexpected_subtyperà   r  rO  s         rT   Útest_check_pandas_sparse_validr  Â  s¦   € õ. 
Ô	˜XÑ	&Ô	&€BØ	�Šà”I×)Ò)¨)¨)¨)¸6ÈaÐ)ÑPÔPØ”I×)Ò)¨)¨)¨)¸6ÈaÐ)ÑPÔPð	
ð 	
ñ
ô 
€Bõ �b¨°¨Ð
7Ñ
7Ô
7€CÝŒ=˜œÐ$4Ñ5Ô5Ð5Ð5Ð5Ð5Ð5r€   )rÞ  rt  rµ   rÙ   Ú
sparse_csrÚ
sparse_cscc                 ó`   — g d¢g d¢g}t          || ¦  «        }t          |¦  «        dk    sJ ‚dS )z$Check _num_features for array-likes.rÚ   rC  rW   N)r   r9   rc  s     rT   Útest_num_featuresr  ä  sE   € ð 
ˆˆ�I�I�IÐ€AÝ˜1Ð.Ñ/Ô/€AÝ˜ÑÔ˜qÒ Ð Ð Ð Ð Ð r€   rÚ   r%  )FTF)r"  g333333@g      @rÏ   rÐ   r&  )rÕ   r  ri   r¶   Údict)rÞ  rt  rµ   r_  c                 ó°  — t          | |¦  «        } |dk    rd}n|dk    rd}n|}d|› �}t          | d¦  «        r|t          j        d¦  «        z  }nAt	          | d         t
          ¦  «        r|d	z  }n t	          | d         t          ¦  «        r|d
z  }t          j        t          |¬¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrµ   znumpy.ndarrayr_  zpandas.*Seriesú5Unable to find the number of features from X of type rœ   z with shape (3,)r   z" where the samples are of type strz# where the samples are of type dictr¿   )r   r÷   r„  r…  r‘   r  r  rP   rQ   rõ   r9   )ry   r^  Úexpected_type_nameÚmessages       rT   Ú&test_num_features_errors_1d_containersr!  ï  sI  € õ 	˜1Ð.Ñ/Ô/€AØ˜7Ò"Ð"Ø,ÐÐØ	˜XÒ	%Ð	%Ø-ÐÐà-ÐàTÐ@RÐTÐTð õ ˆq�'ÑÔð 9Ø•2”9Ð/Ñ0Ô0Ñ0ˆˆÝ	�A�a”D�#Ñ	Ô	ð 9ØÐ7Ñ7ˆˆÝ	�A�a”D�$Ñ	Ô	ð 9ØÐ8Ñ8ˆÝ	Œ•y¨Ð	0Ñ	0Ô	0ð ð Ý�aÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Â.CÃCÃC)r‡   rÐ   Fr$  )rÕ   r  ri   r¶   c                 óº   — dt          | ¦  «        j        › �}t          j        t          |¬¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr  r¿   )rß   rœ  rP   rQ   rõ   r9   )ry   râ   s     rT   Ú test_num_features_errors_scalarsr#    sŸ   € à
XÅ$ÀqÁ'Ä'ÔBVÐ
XÐ
X€CÝ	Œ•y¨Ð	,Ñ	,Ô	,ð ð Ý�aÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ³AÁAÁAÚnamesr¼  )zlist-intrb  ÚdefaultÚ
MultiIndexc                 ó  — t          j        d¦  «        }|                     ddgddgddgg| ¬¦  «        }t          j        ¦   «         5  t          j        dt          ¦  «         t          |¦  «        } d	d	d	¦  «         n# 1 swxY w Y   | �J ‚d	S )
z‘Get feature names with pandas.DataFrames without warning.

    Column names with consistent dtypes will not warn, such as int or MultiIndex.
    rÙ   r‡   r]   r�   r^   r†   rô  rX  N)rP   rÝ   r(  rY  rZ  r[  rÈ  r7   )r$  rà   ry   s      rT   Ú2test_get_feature_names_pandas_with_ints_no_warningr(    sÏ   € õ 
Ô	˜XÑ	&Ô	&€BØ
�Š�q˜!�f˜q !˜f q¨! fÐ-°uˆÑ=Ô=€Aå	Ô	 Ñ	"Ô	"ð &ð &ÝÔ˜g¥}Ñ5Ô5Ð5Ý" 1Ñ%Ô%ˆð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð ˆ=ˆ=ˆ=ˆ=ˆ=s   Á*A>Á>BÂBzconstructor_name, minversion))rf  z13.0.0)rÙ   z1.5.0)rg  z0.18.2c                 ó‚   — g d¢g d¢g}g d¢}t          || ||¬¦  «        }t          |¦  «        }t          ||¦  «         dS )z'Test _get_features_names on dataframes.)r‡   r�   r]   )rW   rW   r†   )rò  Úcol_1Úcol_2)Úcolumn_namesr7  N)r   r7   r!   )r^  r7  r®   r8  r  Úfeature_namess         rT   Ú#test_get_feature_names_4_dataframesr.  *  sd   € ð ˆIˆI�y�y�yÐ!€DØ)Ð)Ð)€GÝ	ØÐ¨WÀð
ñ 
ô 
€Bõ ' rÑ*Ô*€Må�} gÑ.Ô.Ð.Ð.Ð.r€   c                  ó`   — t          j        g d¢g d¢g¦  «        } t          | ¦  «        }|�J ‚dS )z/Get feature names return None for numpy arrays.rÚ   rC  N)rJ   rµ   r7   )ry   r$  s     rT   Útest_get_feature_names_numpyr0  :  s8   € å
Œ�)�)�)˜Y˜Y˜YÐ'Ñ(Ô(€AÝ˜qÑ!Ô!€EØˆ=ˆ=ˆ=ˆ=ˆ=r€   znames, dtypesz['int', 'str']Úpizzar!  z['str', 'tuple']zstr-intz	str-tuplec                 ó$  — t          j        d¦  «        }|                     ddgddgddgg| ¬¦  «        }t          j        d|› d	�¦  «        }t          j        t          |¬
¦  «        5  t          |¦  «        } ddd¦  «         dS # 1 swxY w Y   dS )zAGet feature names errors when the feature names have mixed dtypesrÙ   r‡   r]   r�   r^   r†   rô  z]Feature names are only supported if all input features have string names, but your input has a.   as feature name / column name types. If you want feature names to be stored and validated, you must convert them all to strings, by using X.columns = X.columns.astype(str) for example. Otherwise you can remove feature / column names from your input data, or convert them all to a non-string data type.r¿   N)rP   rÝ   r(  r„  r…  rQ   rõ   r7   )r$  r  rà   ry   râ   s        rT   Ú%test_get_feature_names_invalid_dtypesr3  A  sì   € õ 
Ô	˜XÑ	&Ô	&€BØ
�Š�q˜!�f˜q !˜f q¨! fÐ-°uˆÑ=Ô=€Aå
Œ)ð	?Ø$ð	?ð 	?ð 	?ñô €Cõ 
Œ•y¨Ð	,Ñ	,Ô	,ð &ð &Ý" 1Ñ%Ô%ˆð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s   Á(BÂB	ÂB	c                   ó$   — e Zd Zdd„Zd„ Zdd„ZdS )ÚPassthroughTransformerNc                 ó*   — t          | |d¬¦  «         | S )NT)Úreset)rE   rÓ  s      rT   rÊ   zPassthroughTransformer.fit[  s   € Ý�d˜A TÐ*Ñ*Ô*Ð*Øˆr€   c                 ó   — |S r˜  ré   )r™  ry   s     rT   Ú	transformz PassthroughTransformer.transform_  s   € Øˆr€   c                 ó"   — t          | |¦  «        S r˜  )r.   )r™  Úinput_featuress     rT   Úget_feature_names_outz,PassthroughTransformer.get_feature_names_outb  s   € Ý& t¨^Ñ<Ô<Ð<r€   r˜  )rÈ   r›  rœ  rÊ   r9  r<  ré   r€   rT   r5  r5  Z  sK   € € € € € ðð ð ð ðð ð ð=ð =ð =ð =ð =ð =r€   r5  )r^  r-  râ   rµ   )Úx0Úx1Úx2z*input_features should have length equal torÙ   zinput_features is not equal torg  c                 ór  — t          j        g d¢g¦  «        }t          || g d¢¬¦  «        }t          ¦   «                              |¦  «        }|                     ¦   «         }t          ||¦  «         |dd…         }t          j        t          |¬¦  «        5  |                     |¦  «         ddd¦  «         n# 1 swxY w Y   |`
| dk    rJt          j        t          d¬¦  «        5  |                     ¦   «          ddd¦  «         dS # 1 swxY w Y   dS t          |                     ¦   «         |¦  «         dS )	z4Check behavior of check_feature_names_in for arrays.)r  r"  r#  r%  )r,  Nr]   r¿   rµ   z Unable to generate feature names)rJ   rµ   r   r5  rÊ   r<  r!   rP   rQ   rR   Ún_features_in_)r^  r-  râ   ry   rÚ  r$  Úincorrect_len_namess          rT   Útest_check_feature_names_inrC  f  s¾  € õ 	Œ�/�/�/Ð"Ñ#Ô#€AÝ˜1Ð.¸_¸_¸_ÐMÑMÔM€AÝ
 Ñ
"Ô
"×
&Ò
& qÑ
)Ô
)€Cà×%Ò%Ñ'Ô'€EÝ�u˜mÑ,Ô,Ð,à'¨¨¨Ô+ÐÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 7ð 7Ø×!Ò!Ð"5Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 	ÐØ˜7Ò"Ð"ÝŒ]�:Ð-OÐPÑPÔPð 	(ð 	(Ø×%Ò%Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(õ 	˜3×4Ò4Ñ6Ô6¸ÑFÔFÐFÐFÐFs$   ÂB8Â8B<Â?B<Ã&DÄDÄDc                  óª   — d} t          j        t          | ¬¦  «        5  t          t	          ¦   «         d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z@Check the error message when passing an unknown response method.zKRandomForestRegressor has none of the following attributes: unknown_method.r¿   Úunknown_methodN)rP   rQ   rË  r2   r	   )rÖ   s    rT   Ú)test_check_response_method_unknown_methodrF  „  s´   € ð 	Vð õ 
Œ•~¨WÐ	5Ñ	5Ô	5ð Jð JÝÕ4Ñ6Ô6Ð8HÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jð Jð Js   žAÁAÁAÚresponse_method)Údecision_functionÚpredict_probaÚpredictc                 ó²   — d| › d�}t          j        t          |¬¦  «        5  t          t	          ¦   «         | ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zUCheck the error message when a response method is not supported by the
    estimator.z7EstimatorWithFit has none of the following attributes: ú.r¿   N)rP   rQ   rË  r2   r   )rG  rÖ   s     rT   Ú8test_check_response_method_not_supported_response_methodrM  �  s¾   € ð 	UÀ/ÐTÐTÐTð õ 
Œ•~¨WÐ	5Ñ	5Ô	5ð Dð DÝÕ/Ñ1Ô1°?ÑCÔCÐCðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð Dð Ds   ¢AÁAÁAc                  óº  — dg} t          | ¦  «        }d}ddg}dd                     |¦  «        › d�}t          j        t          |¬¦  «        5   t          ||¦  «        |¦  «         d	d	d	¦  «         n# 1 swxY w Y   ddg} t          ||¦  «        |¦  «        }|dk    sJ ‚ddg} t          | ¦  «        }g d
¢} t          ||¦  «        |¦  «        }|dk    sJ ‚d	S )z0Check that we can pass a list of ordered method.rI  Úmocking_datarH  rJ  zD_MockEstimatorOnOffPrediction has none of the following attributes: z, rL  r¿   N)rH  rJ  rI  )r   ÚjoinrP   rQ   rË  r2   )Úmethod_implementedÚmy_estimatorry   rG  rÖ   Úmethod_name_predictings         rT   Ú#test_check_response_method_list_strrT  š  s|  € à)Ð*ÐÝ0Ð1CÑDÔD€Là€Að +¨IÐ6€Oð	)Ø�9Š9�_Ñ%Ô%ð	)ð 	)ð 	)ð õ 
Œ•~¨WÐ	5Ñ	5Ô	5ð Að AØ=Õ˜|¨_Ñ=Ô=¸aÑ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Að +¨OÐ<€OØRÕ3°LÀ/ÑRÔRÐSTÑUÔUÐØ! _Ò4Ð4Ð4Ð4ð *¨9Ð5ÐÝ0Ð1CÑDÔD€LØGÐGÐG€OØRÕ3°LÀ/ÑRÔRÐSTÑUÔUÐØ! YÒ.Ð.Ð.Ð.Ð.Ð.s   ÁA3Á3A7Á:A7c                  óê   — t          j        d¦  «        } t          |                      ddg¦  «        d¬¦  «        }t	          j        ddg¦  «        }|j        |j        k    sJ ‚t          ||¦  «         dS )zRegression test for gh-25145rÙ   TFrÛ   N)rP   rÝ   r   rÞ   rJ   rµ   rZ   r!   )rà   rþ  Úexpecteds      rT   Ú#test_boolean_series_remains_booleanrW  ·  sr   € å	Ô	˜XÑ	&Ô	&€BÝ
�b—i’i  u Ñ.Ô.¸%Ð
@Ñ
@Ô
@€CÝŒx˜˜u˜Ñ&Ô&€HàŒ9˜œÒ&Ð&Ð&Ð&Ý�s˜HÑ%Ô%Ð%Ð%Ð%r€   Úinput_values)r   r‡   r   r‡   r   r‡   c                 óú   — t          j        d¦  «        }|                     | d¬¦  «        }t          |dddd¬¦  «        }t	          j        |j        j        t          j        ¦  «        sJ ‚t          || ¦  «         dS )zpCheck pandas array with extensions dtypes returns a numeric ndarray.

    Non-regression test for gh-25637.
    rÙ   ÚInt32rY   NF)rZ   rÜ   rç   rŠ   )
rP   rÝ   rµ   r   rJ   r  rZ   rU  Úfloatingr   )rX  rà   Úinput_seriesr  s       rT   Ú!test_pandas_array_returns_ndarrayr]  Á  sƒ   € õ 
Ô	˜XÑ	&Ô	&€BØ—8’8˜L°�8Ñ8Ô8€LÝØØØØØðñ ô €Fõ Œ=˜œÔ*­B¬KÑ8Ô8Ð8Ð8Ð8Ý�F˜LÑ)Ô)Ð)Ð)Ð)r€   c                  ó�  — t          j        d¦  «        } |                      | j        ddgd| j        dgg| j        ¬¦  «        }t          d¬¦  «        5  t          j        t          d¬	¦  «        5  t          |¦  «         d
d
d
¦  «         n# 1 swxY w Y   d
d
d
¦  «         n# 1 swxY w Y   |                      | j	        ddgd| j	        dgg| j        ¬¦  «        }t          d¬¦  «        5  t          j        t          d¬	¦  «        5  t          |¦  «         d
d
d
¦  «         n# 1 swxY w Y   d
d
d
¦  «         d
S # 1 swxY w Y   d
S )z9Checks that Array API arrays checks non-finite correctly.Úarray_api_strictr‡   r   rW   rY   Trê  rÓ   r¿   Nzinfinity or a value too large)
rP   rÝ   rž   rv   re   r   rQ   rR   r   rø  )rñ  ÚX_nanÚX_infs      rT   Ú)test_check_array_array_api_has_non_finiterb  Ô  s<  € õ 
Ô	Ð/Ñ	0Ô	0€Bà�JŠJ˜œ  A˜¨¨B¬F°A¨Ð7¸r¼zˆJÑJÔJ€EÝ	¨4Ð	0Ñ	0Ô	0ð ð ÝŒ]�:Ð-BÐCÑCÔCð 	ð 	Ý˜ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �JŠJ˜œ  A˜¨¨B¬F°A¨Ð7¸r¼zˆJÑJÔJ€EÝ	¨4Ð	0Ñ	0Ô	0ð ð ÝŒ]�:Ð-LÐMÑMÔMð 	ð 	Ý˜ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sl   ÁB"Á/BÁ?B"ÂB	ÂB"ÂB	ÂB"Â"B&Â)B&Ã+D;ÄD#ÄD;Ä#D'	Ä'D;Ä*D'	Ä+D;Ä;D?ÅD?zextension_dtype, regular_dtype))r  ri   )r=  rg   )r5  rh   )rý  ro   Úinclude_objectc                 ó¸  — t          j        d¦  «        }|                     |                     g d¢|¬¦  «        |                     g d¢d¬¦  «        dœ¦  «        }|r|                     g d¢d¬¦  «        |d	<   |                     |d
                              | ¦  «        ¬¦  «        }t          |d¬¦  «        }t          |d¬¦  «        }t          ||¦  «         dS )zKCheck pandas extension arrays give the same result as non-extension arrays.rÙ   )r‡   r   r‡   r   rY   )rF  rå   rE  r†   rg   )rÏ   r&  r¾  ro   rÐ   rÏ   )rÏ   N)rP   rÝ   r(  rÞ   Úassignrf   r   r!   )Úextension_dtypeÚregular_dtyperc  rà   Ú	X_regularÚX_extensionÚX_regular_checkedÚX_extension_checkeds           rT   Ú$test_check_array_multiple_extensionsrl  ä  sð   € õ 
Ô	˜XÑ	&Ô	&€BØ—’à—’˜<˜<˜<¨}�Ñ=Ô=Ø—’˜<˜<˜<¨w�Ñ7Ô7ð	
ð 	
ñô €Ið ð IØŸšÐ#7Ð#7Ð#7¸x˜ÑHÔHˆ	�#‰à×"Ò" Y¨s¤^×%:Ò%:¸?Ñ%KÔ%KÐ"ÑLÔL€Kå# I°TÐ:Ñ:Ô:ÐÝ% k¸Ð>Ñ>Ô>ÐÝÐ(Ð*=Ñ>Ô>Ð>Ð>Ð>r€   rë   Úoutput_format)r‚   rj  rî   c                 ó>  —  | ddgddggt           j        ¬¦  «        }t          |d¦  «        r*|j                             t           j        ¦  «        |_        n¼t          |d¦  «        r:t          |d¦  «        r*|j                             t           j        ¦  «        |_        nrt          |d¦  «        rbt          |d¦  «        rR|j                             t           j        ¦  «        |_        |j                             t           j        ¦  «        |_        t          ||¬	¦  «        }|d
k    r:|j        j
        t           j        k    sJ ‚|j        j
        t           j        k    sJ ‚dS |j        j
        t           j        k    sJ ‚|j        j
        t           j        k    sJ ‚dS )zGCheck the consistency of the indices dtype with sparse matrices/arrays.r   r‡   rY   Úoffsetsru  rv  rw  rx  re  rî   N)rJ   rh   r÷   ro  rf   rc   ru  rw  rx  r   rZ   rv  )rë   rm  ry   r¸   s       rT   Ú1test_check_array_dia_to_int32_indexed_csr_csc_coorp  	  sq  € ð 	Ð˜1˜a˜& 1 a &Ð)µ´Ð<Ñ<Ô<€Aõ ˆq�)ÑÔð -Ø”I×$Ò$¥R¤XÑ.Ô.ˆŒ	ˆ	Ý	��EÑ	Ô	ð -�w q¨%Ñ0Ô0ð -Ø”—’�RœXÑ&Ô&ˆŒˆÝ	��IÑ	Ô	ð -¥7¨1¨hÑ#7Ô#7ð -Ø”I×$Ò$¥R¤XÑ.Ô.ˆŒ	Ø”8—?’?¥2¤8Ñ,Ô,ˆŒå˜A¨]Ð;Ñ;Ô;€IØ˜ÒÐØŒ}Ô"¥b¤hÒ.Ð.Ð.Ð.ØŒ}Ô"¥b¤hÒ.Ð.Ð.Ð.Ð.Ð.àÔ Ô&­"¬(Ò2Ð2Ð2Ð2ØÔÔ%­¬Ò1Ð1Ð1Ð1Ð1Ð1r€   Úsequencec                 óš   — t          | ¦  «        }t          |t          j        ¦  «        sJ ‚|j        j        dk    sJ ‚|j        dk    sJ ‚d S )NÚOr‡   )r;   r‘   rJ   rû   rZ   rU  rö   )rq  Úouts     rT   Útest_to_object_arrayru  	  sO   € å
˜8Ñ
$Ô
$€CÝ�c�2œ:Ñ&Ô&Ð&Ð&Ð&ØŒ9Œ>˜SÒ Ð Ð Ð ØŒ8�qŠ=ˆ=ˆ=ˆ=ˆ=ˆ=r€   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)ÚspamÚeggrx  )r   r‡   r   r‡   Ú
continuousrX   g      4@Ú
multiclassrÚ   )r   r‡   r]   r]   r   r‡   r]   rW   zmultilabel-indicatorr  )r   r   r‡   zmulticlass-multioutputr^   r�   zcontinuous-multioutputé   )rª   rW   )rw  r{  rz  )	rJ   rd   r�   r!   rC   rŸ   rP   rQ   rR   )ÚEXAMPLESÚy_typer½   s      rT   Ú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	c                  ó:  — t           j                             d¬¦  «        } t          | dd¬¦  «        }t          j        || ¦  «        sJ ‚|j        j        sJ ‚d| j        _        t          | dd¬¦  «        }t          j        || ¦  «        rJ ‚|j        j        sJ ‚dS )zyCheck the behavior of check_array when a writeable array is requested
    without copy if possible, on numpy arrays.
    r›   ©ÚsizeFT©r\   Úforce_writeableN)rJ   rK   Úuniformr   r%  r¬   Ú	writeable)ry   rt  s     rT   Útest_check_array_writeable_npr‡  >	  s¨   € õ 	Œ	×Ò˜xÐÑ(Ô(€Aå
�a˜e°TÐ
:Ñ
:Ô
:€CåÔ˜s AÑ&Ô&Ð&Ð&Ð&ØŒ9ÔÐÐÐà€A„GÔå
�a˜e°TÐ
:Ñ
:Ô
:€CåÔ" 3¨Ñ*Ô*Ð*Ð*Ð*ØŒ9ÔÐÐÐÐÐr€   c                  óf  — t           j                             d¬¦  «        } t          | d¬¦  «        }t	          |dd¬¦  «        }t          j        ||¦  «        sJ ‚|j        j        sJ ‚t          | d¬¦  «        }t	          |dd¬¦  «        }t          j        ||¦  «        rJ ‚|j        j        sJ ‚d	S )
a  Check the behavior of check_array when a writeable array is requested
    without copy if possible, on a memory-map.

    A common situation is when a meta-estimators run in parallel using multiprocessing
    with joblib, which creates read-only memory-maps of large arrays.
    r›   r�  zw+r"  FTrƒ  r!  N)rJ   rK   r…  r"   r   r%  r¬   r†  )ry   Úmmaprt  s      rT   Útest_check_array_writeable_mmaprŠ  Q	  sÂ   € õ 	Œ	×Ò˜xÐÑ(Ô(€Aå$ Q°$Ð7Ñ7Ô7€DÝ
�d ¸Ð
=Ñ
=Ô
=€CåÔ˜s DÑ)Ô)Ð)Ð)Ð)ØŒ9ÔÐÐÐå$ Q°#Ð6Ñ6Ô6€DÝ
�d ¸Ð
=Ñ
=Ô
=€CåÔ" 3¨Ñ-Ô-Ð-Ð-Ð-ØŒ9ÔÐÐÐÐÐr€   c                  ó¾  — t          j        d¦  «        } t          j                             d¬¦  «        }|                      |d¬¦  «        }t          |dd¬¦  «        }t          j        ||¦  «        sJ ‚|j        j	        sJ ‚d|j        _	        |                      |d¬¦  «        }t          |dd¬¦  «        }t          j        ||¦  «        rJ ‚|j        j	        sJ ‚dS )	zxCheck the behavior of check_array when a writeable array is requested
    without copy if possible, on a dataframe.
    rÙ   r›   r�  Fr[   Trƒ  N)
rP   rÝ   rJ   rK   r…  r(  r   r%  r¬   r†  )rà   ry   r  rt  s       rT   Útest_check_array_writeable_dfrŒ  g	  sâ   € õ 
Ô	˜XÑ	&Ô	&€Bå
Œ	×Ò˜xÐÑ(Ô(€AØ	�Š�a˜eˆÑ	$Ô	$€Bå
�b˜u°dÐ
;Ñ
;Ô
;€CåÔ˜s BÑ'Ô'Ð'Ð'Ð'ØŒ9ÔÐÐÐà€A„GÔØ	�Š�a˜eˆÑ	$Ô	$€Bå
�b˜u°dÐ
;Ñ
;Ô
;€CåÔ" 3¨Ñ+Ô+Ð+Ð+Ð+ØŒ9ÔÐÐÐÐÐr€   c                  óV  — t          j        g d¢g d¢g¦  «        } t          d¬¦  «        5  t          j        t	          | d¬¦  «        ¦  «        sJ ‚t          j        t          ¦  «        5  t	          | ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nr  r  Trê  re  )rr   r­   r   rª  r   rP   rQ   rõ   )ÚX_sps    rT   Ú8test_check_array_on_sparse_inputs_with_array_api_enabledr�  ~	  s)  € åŒ<˜˜˜ I I IÐ.Ñ/Ô/€DÝ	¨4Ð	0Ñ	0Ô	0ð ð ÝŒ{�; t¸4Ð@Ñ@Ô@ÑAÔAÐAÐAÐAåŒ]�9Ñ%Ô%ð 	ð 	Ý˜ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s5   «?BÁ*BÁ:BÂB
	Â
BÂB
	ÂBÂB"Â%B"©ry   rÆ   Úexpected_error_messagezLFound array with dim 3, while dim <= 2 is required by RandomForestRegressor.z3Found array with dim 3, while dim <= 2 is required.c                 ó�   — t          j        t          |¬¦  «        5  t          | |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¿   rE  r  r�  s      rT   Ú test_check_array_allow_nd_errorsr“  ˆ	  s‘   € õ" 
Œ•zÐ)?Ð	@Ñ	@Ô	@ð ,ð ,Ý�A Ð+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   œ;»?Á?Úcategorical_featuresr  s   hellos   worldzMcategorical_features must be an array-like of bool, int or str, got: bytes40.gÍÌÌÌÌÌô?zRcategorical_features must be an array-like of bool, int or str, got: bytes, float.zJcategorical_features set as integer indices must be in [0, n_features - 1])TTFFTzHcategorical_features set as a boolean mask must have shape (n_features,)c                 ó
  — t           j                             d¦  «        }d\  }}|                     dd||f¬¦  «        }t	          j        t          |¬¦  «        5  t          || ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z<Test that check_categorical_features raises expected errors.r   r›   rW   r�  r¿   N)rJ   rK   rN   rO   rP   rQ   rR   r-   )r”  r  ÚrngÚ	n_samplesÚ
n_featuresry   s         rT   Ú&test_check_categorical_features_raisesr™  �	  sÊ   € õF Œ)×
Ò
 Ñ
"Ô
"€CØ"Ñ€IˆzØ�Š�A�q 	¨:Ð6ˆÑ7Ô7€Aå	Œ•z¨Ð	6Ñ	6Ô	6ð =ð =Ý# AÐ';Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s   ÁA8Á8A<Á?A<Úon_array©FTTF)Ú
from_dtypeF)rµ   rÙ   rg  c                 óH  — t           j                             d¦  «        }d\  }}|                     dd||f¬¦  «        }|dk    r|sdS |dk    r|                     t
          ¦  «        }t          ||g d¢d	d
g¬¦  «        }t          || ¦  «        }t          |g d¢¦  «         dS )zHTest that check_categorical_features returns as expected on simple data.r   )r|  r�   rW   r�  rµ   Nrg  r¾  rÐ   r&  )r,  Úcategorical_feature_namesr›  )	rJ   rK   rN   rO   rf   r  r   r-   r   )r”  rš  r^  r–  r—  r˜  ry   r  s           rT   Útest_check_categorical_featuresrŸ  È	  sÇ   € õ Œ)×
Ò
 Ñ
"Ô
"€CØ!Ñ€IˆzØ�Š�A�q 	¨:Ð6ˆÑ7Ô7€AØ˜7Ò"Ð"¨8Ð"ØˆØ	˜XÒ	%Ð	%Ø�HŠH•S‰MŒMˆÝØ	ØØ)Ð)Ð)Ø#&¨ *ð		ñ 	ô 	€Aõ )¨Ð,@ÑAÔA€FÝ�FÐ6Ð6Ð6Ñ7Ô7Ð7Ð7Ð7r€   c                  ó€   — t          j        d¦  «         ddlm}  t	           | g d¢g¦  «        ¦  «        }|dk    sJ ‚d S )Nrf  r   )Úchunked_array)r_   rN  g333333Ó?rW   )rP   rÝ   rf  r¡  r:   )r¡  r  s     rT   Ú!test_num_samples_pa_chunked_arrayr¢  æ	  sT   € å
Ô˜	Ñ"Ô"Ð"Ø%Ð%Ð%Ð%Ð%Ð%å˜-˜-¨¨¨Ð(9Ñ:Ô:Ñ;Ô;€FØ�QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;r€   )ûÚ__doc__ru  r„  rY  Ú	itertoolsr   Úoperatorr   Útempfiler   Únarwhals.stable.v2ÚstableÚv2rì  ÚnumpyrJ   rP   Úscipy.sparsere  rr   rù  Úsklearn._configr   Úsklearn.baser   Úsklearn.datasetsr   Úsklearn.ensembler	   Úsklearn.exceptionsr
   r   Úsklearn.linear_modelr   Ú(sklearn.metrics.tests.test_score_objectsr   Úsklearn.neighborsr   Úsklearn.random_projectionr   Úsklearn.svmr   Úsklearn.utilsr   r   r   r   r   r   Úsklearn.utils._array_apir   r   r   Úsklearn.utils._mockingr   r   Úsklearn.utils._testingr   r   r   r   r    r!   r"   r#   Úsklearn.utils.estimator_checksr$   Úsklearn.utils.fixesr%   r&   r'   r(   r)   r*   Úsklearn.utils.validationr+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rU   r   ÚmarkÚfilterwarningsÚparametrizerK   rŒ   r”   r£   r±   rø  rv   rž   r­   Ú
csr_matrixr¹   rÃ   rÍ   rÒ   rµ   ro   r×   rã   r  r  r.  re   rh   r;  rA  rL  rR  rV  rc  rg  ri  Úfixturerz  r}  r  rˆ  r“  rž  r±  r¼  rÉ  rÎ  rÛ  rÞ  rt  rã  rè  rò  rõ  rû  r   r	  r  r  r  r  r  r'  rß   rR   rË  r@  rs   Ú
coo_matrixÚ
lil_matrixÚ
bsr_matrixÚ
dok_matrixÚ
dia_matrixru   r’  r¥  r¦  r¤  Ú	dia_arrayrB  rF  r]  rd  rl  rx  r¶   rõ   rv  ÚIntegralri   rÕ   rˆ  Ú_psd_cases_validr*  Úkeysr“  Ú_psd_cases_invalidr˜  rŸ  r¢  r¤  r¨  r«  r®  r°  Ú	CS_SPARSErµ  r·  r¹  rÉ  rÍ  rÙ  rç  rð  rù  r	  r[  ÚintegerÚunsignedintegerr  r  r!  r#  rb  r(  r.  r0  r3  r5  rC  rF  rM  rT  rW  r]  rb  rl  rp  ru  r  r‡  rŠ  rŒ  r�  r“  r…  r™  rŸ  r¢  ré   r€   rT   ú<module>rÏ     sÈ  ðØ *Ð *à €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à Ð Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à €€€Ø *Ð *Ð *Ð *Ð *Ð *Ø &Ð &Ð &Ð &Ð &Ð &Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ .Ð .Ð .Ð .Ð .Ð .ð FÐ EÐ EÐ EÐ EÐ EØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 7Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð>0ð 0ð 0ð$(%ð (%ð (%ðV „×ÒÐJÑKÔKØ„×ÒØˆ"Œ)×
Ò
˜7Ñ
#Ô
#Ð%9Ð%9¸'È%Ð%PÑ%PÔ%PÐ	Qñô ð1ð 1ñô ñ LÔKð1ðFð Fð Fðð ð ð ,ð ,ð ,ð& „×ÒØØ„fˆe€_�r”v˜{Ð+¨b¬f°e¨_Ð=ñô ð „×Ò˜ B¤J°´¸b¼mÐ#LÑMÔMð/ð /ñ NÔMñ	ô ð
/ð „×ÒØ5à	Œ��TÐ4Ð5Ø	Œ��dÐ7Ð8Ø	Œ� $Ð(OÐPØ	Œ��kÐ#>Ð?Ø	Œ��TÐ/Ð0Ø	Œ��dÐ2Ð3Ø	Œ��dÐ2Ð3àŒFØØØ?ð		
ð 
Œ��QÐ,Ð-ðñô ð& „×Ò˜ B¤J°´¸b¼mÐ#LÑMÔMð
ð 
ñ NÔMñ'ô ð(
ð „×Ò˜Ð'BÐ'BÐ'BÑCÔCØ„×Ò˜ B¤J°´¸b¼mÐ#LÑMÔMð&1ð &1ñ NÔMñ DÔCð&1ðR
;ð 
;ð 
;ð „×ÒØð ˆBŒH�q˜"œ&�k�]Ñ#Ô#Ø!ð	
ð
 ˆBŒH�q˜"œ&�k�]Ñ#Ô#Ø!ð	
ð
 ˆBŒH�q˜"œ&�k�]Ñ#Ô#ØCð	
ð 
ˆŒ�A�r”v�;�- vÐ	.Ñ	.Ô	.Ð0UÐVðñô ð$ „×ÒÐ,¨t°U¨mÑ<Ô<ðGð Gñ =Ô<ñ%ô ð&Gð)ð )ð )ð „×ÒÐQÑRÔRðA
ð A
ñ SÔRðA
ðH „×ÒØà
ˆsˆ�c˜3�ZÐ ØˆŒ�3˜�*˜s C˜jÐ)°Ð5Ñ5Ô5ØˆŒ�3˜�*˜s C˜jÐ)°Ð5Ñ5Ô5Ø
�ˆ˜˜d�|Ð$ØˆŒ�4˜�,  t Ð-°TÐ:Ñ:Ô:ðñ	ô 	ð(ð (ñ	ô 	ð(ð-ð -ð -ðD „×ÒØÐJÐJÐJñô ð „×ÒØà
Œ*�b”jÐ	! 2¤:Ð.Ø	Œ�R”ZÐ Ø	�B”JÐðñô ð/ð /ñô ñô ð/ð:%ð %ð %ð*"Gð "Gð "GðJ5ð 5ð 5ð=ð =ð =ð()ð ()ð ()ðV9ð 9ð 9ð>/ð /ð /ð €„Ð3Ð3Ð3Ð4Ñ4Ô4ðð ñ 5Ô4ðð,Gð Gð Gð
Lð Lð Lð<%ð <%ð <%ð~'ð 'ð 'ðTð ð ð  0ð  0ð  0ðF'ð 'ð 'ð*ð *ð *ð!(ð !(ð !(ðH"Bð "Bð "BðJ „×ÒØ
ˆZˆZ˜‰]Œ]˜D %Ð(Ð.IÐ.IÐ.Ið ñ ô ð2ð 2ñô ð2ðAð Að Að( „×ÒØ.Ø-Ð-Ñ/Ô/ñô ðð ñ	ô ðð*"ð "ð "ðð ð ð	Eð 	Eð 	Eð „×ÒØˆrŒz˜2œ:Ð&¨¬
°D¸)ÐDñô ð „×Ò˜Ð':Ñ;Ô;ð8ð 8ñ <Ô;ñô ð8ð48ð 8ð 8ð&9ð 9ð 9ðð ð ð ð ñ ô ð ð
	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ðð ð ð6 „×Ò˜ $¨ Ñ/Ô/ð4ð 4ñ 0Ô/ð4ð „×ÒØUð ØˆD� Ð&9¸4Ð%@ÑAÔAØØØð	
ð ØˆD� Ð&9¸4Ð%@ÑAÔAØØØð	
ð à��^ RÐ*=¸tÐ)DÑEÔEðð ˆOØØð	
ð ØˆD� Ð&9¸4Ð%@ÑAÔAØÐ ØØð	
ð ØˆD� Ð&9¸4Ð%@ÑAÔAØØØð	
ð ØˆD� Ð&8¸$Ð%?Ñ@Ô@ØØØð	
ðM-ð\	ð 	ð 	ða ñ 8ô 8ðr+ð +ñs8ô 8ðr+ð< „×ÒØà
Œ
Ø
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
Œðñô ð(
"ð 
"ñ)ô ð(
"ð	;ð 	;ð 	;ð ð  ð  ðD „×ÒØÐMÐMÐMñô ð ð  ñô ð ð „×ÒØØGÐGÐGñô ð ð  ñ	ô ð ð „×Ò˜˜n˜n˜nÑ-Ô-ðð ñ .Ô-ðð  „×ÒØPð ØØØØØØˆIÐIÑJÔJð	
ð ØØŒLØØØØˆIÐNÑOÔOð	
ð ØØÔØØØØˆIÐLÑMÔMð	
ð ØØ�DˆMØØØØˆIÐQÑRÔRð	
ð ØØØØØØˆJÐ6Ñ7Ô7ð	
ð ØØØØØØˆJÐ6Ñ7Ô7ð	
ð ØØØØØØˆJÐ6Ñ7Ô7ð	
ð ØØØØØØˆJÐ6Ñ7Ô7ð	
ð ØØØØØ!ØˆJðMñô ð	
ð ØØØØØØˆJð#ñô ð	
ð ØØØØØØˆJð#ñô ð	
ðCmñpô pðb9ð 9ñcpô pðb9ð& ˜˜œ ! Q Ñ(Ô(¨$°Ð3Ø!˜œ 1 a &Ñ)Ô)¨8¨2¬8°Q¸°FÑ+;Ô+;¸TÀ2ÐFàØˆŒ�!�Q�ÑÔØØVð	ð % h b¤h°°1¨vÑ&6Ô&6Ð8OÐQSÐTàˆŒ�!�U� 2¤:Ð.Ñ.Ô.ØˆŒ�!�Q�˜rœzÐ*Ñ*Ô*ØØKð	"ð 	ˆŒ�!�V� B¤JÐ/Ñ/Ô/ØˆŒ�!�Q�˜rœzÐ*Ñ*Ô*ØØKð	"ð 	ØˆŒ�!�Q�ÑÔØØHð	ð-ð Ð ð> „×ÒØ.Ø€DÐ	×	 Ò	 Ñ	"Ô	"Ñ#Ô#ØˆÐ×"Ò"Ñ$Ô$Ñ%Ô%ð ñ ô ð
 „×ÒÐ*¨T°5¨MÑ:Ô:ð5ð 5ñ ;Ô:ñô ð5ð4 	ØØ9ðð 	ØØ7ðð 	ØØ4ðð 	ˆŒ�$˜� b¤jÐ1Ñ1Ô1ØØ4ð ð 	ˆŒ�$˜� r¤zÐ2Ñ2Ô2ØØ4ð ð+ð Ð ð: „×ÒØ Ø€DÐ	×	"Ò	"Ñ	$Ô	$Ñ%Ô%ØˆÐ×$Ò$Ñ&Ô&Ñ'Ô'ð ñ ô ð
(ð (ñô ð
(ð'Mð 'Mð 'MðT-ð -ð -ð „×ÒØ.Ø-Ð-Ñ/Ô/ñô ð(ð (ñ	ô ð(ð „×Ò˜ Q C¨!¨Q¨°"°a°¸)¸)¸)À\À\À\Ð#RÑSÔSð;ð ;ñ TÔSð;ð „×ÒØ.Ø-Ð-Ñ/Ô/ñô ð „×Ò˜ Q C¨!¨Q¨°"°a°¸)¸)¸)À\À\À\Ð#RÑSÔSð<ð <ñ TÔSñ	ô ð
<ð „×Ò˜ I I I°¨u°q¸"°gÐ#>Ñ?Ô?ð<ð <ñ @Ô?ð<ð „×ÒØ.Ø-Ð-Ñ/Ô/ñô ð „×Ò˜ I I I°¨u°q¸"°gÐ#>Ñ?Ô?ð	=ð 	=ñ @Ô?ñ	ô ð
	=ð Œ\˜2œ=¨"¬,¸¼ÐF€	ð „×Ò˜ R¤X J°Ñ$:Ñ;Ô;ð(ð (ñ <Ô;ð(ð „×Ò˜ R¤X J°Ñ$:Ñ;Ô;ð,ð ,ñ <Ô;ð,ð „×Ò˜ IÑ.Ô.ð%ð %ñ /Ô.ð%ðð ð ð6ð ð ðð ð ð0 „×Ò˜ T¨A¨q¨6 NÑ3Ô3ðð ñ 4Ô3ðð: „×ÒÐ.°¸°Ñ>Ô>Ø„×Ò˜Ð&HÐ&HÐ&HÑIÔIð1ð 1ñ JÔIñ ?Ô>ð1ð&,ð ,ð ,ð4 „×ÒØð
ð 
ð 
ñô ð
2ð 
2ñô ð
2ð „×ÒØ&à	�< ¤Ð-Ø	�9˜bœkÐ*Ø	�9˜bœkÐ*Ø	�˜œÐ$Ø	�'˜2œ:Ð&Ø	�˜"œ*Ð%Ø	�˜œÐ$Ø	�˜œ
Ð#Ø	�*˜bœjÐ)Ø	�˜œÐ$Ù	‘'˜2Ô-Ð.Ù	‘8˜RÔ/Ð0Ù	‘(˜BÔ.Ð/Ù	‘˜2Ô-Ð.Ù	‘+˜rÔ1Ð2ðñô ñ(6ð 6ñ)ô ð(6ð „×ÒØØDÑDÐDñô ñ!ð !ñ	ô ð!ð „×ÒØà‰	ˆ	Ø‰ˆØÑÐØ‰ˆÙ
ˆqˆ‘C˜�8™c 1˜XÐ&ðð 	0Ñ/Ð/ð ñ 
ô 
ð „×ÒÐ+Ð-QÑ-QÐ-QÑRÔRñð ñ SÔRñ
ô 
ðð* „×Ò˜Ð2Ñ2Ð2Ð8WÑ8WÐ8WÐÑXÔXñð ñ YÔXðð „×ÒÙØ	€Tˆ%ˆ%�‰(Œ(�^„^�U�U˜1‘X”X˜t¡s©C j±3¹°*Ð%=Ð>Ø6Ñ6Ð6ð ñ ô ñ
ð ñô ð
ð „×ÒÙ"ØFÑFÐFñô ñ	/ð 	/ñ	ô ð	/ñð ð ð „×ÒÙá
ˆqˆÑ#Ð$Ù
‘:Ð	Ñ 2Ð3ðñ 
‘KÐ ð ñ ô ñ&ð &ñô ð&ð"	=ð 	=ñ 	=ð 	=ñ 	=˜]ñ 	=ô 	=ð 	=ð „×ÒØ0Ñ0Ð0á	Ð$Ñ$Ð$Ñ&RÐSÙ	�?‘?�?Ñ$DÐEÙ	�?‘?�?Ñ$DÐEðñô ñGð Gñô ðGñ,Jð Jð Jð „×ÒÙÐHÑHÐHñô ñDð Dñô ðDñ/ð /ð /ñ:&ð &ð &ð „×Ò™¨1¨a°°A°q¸"¼&Ð*AÐCUÑCUÐCUÐ)VÑWÔWñ*ð *ñ XÔWð*ð$ )ñð ñ )Ô(ðð „×ÒÙ$ðñ ð ñô ð „×ÒÑ)¨D°%¨=Ñ9Ô9ñ?ð ?ñ :Ô9ñô ð?ð* „×ÒÙØ�^Ñ# nÑ4°~ÑEñô ð „×Ò™Ð*?Ñ*?Ð*?Ñ@Ô@ñ2ð 2ñ AÔ@ñ	ô ð
2ð, „×Ò™ x r¤x°¡{¤{°H°B´H¸Q±K´KÐ&@ÀAÀqÀ6ÈAÈqÈ6ÐBRÐ%SÑTÔTñð ñ UÔTðñ ð  ð  ñ0ð ð ñ&ð ð ñ,ð ð ð. )ñð ñ )Ô(ðð „×ÒØ0Ñ0Ð0ð ˆBŒH˜˜1�v  1˜vÐ&¨!¨Q¨°!°Q°Ð(8Ð9Ñ:Ô:Ø!Ð!Ñ#Ô#ñ%ð	
ð ˆBŒH˜˜1�v  1˜vÐ&¨!¨Q¨°!°Q°Ð(8Ð9Ñ:Ô:ØÙAð	
ðñô ñ ,ð ,ñ!ô ð ,ð
 „×ÒÙ™^Ð,ñ ‘xÐ ØˆBŒIñ ñô ð	
ð ˆBŒH‘h¡�_¨FÐ3Ñ3Ô3ØˆBŒIñ%ñô ð	
ð �ˆGØˆBŒIñ&ñô ð	
ð -Ñ,Ð,ØˆBŒIñ ñô ð	
ð-ñ ô  ñB=ð =ñC ô  ðB=ð „×ÒÙ™ZÐ(à	#Ñ	#Ð	# TÐ*Ø
ˆQˆ�ˆÙ
‰sˆ�UÐÙð	ñô ð „×ÒÐ+Ð-JÑ-JÐ-JÑKÔKñ8ð 8ñ LÔKñô ð8ñ(ð ð ð ð r€   