Ë
    ÜÍ:j	T ã                   ó<&  — 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
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+m,Z, ddl-m.Z.m/Z/m0Z0 ddl1m2Z2m3Z3 ddl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z< ddl=m>Z> ddl?m@Z@mAZAmBZBmCZCmDZDmEZE ddlFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZa d„ Zbd„ ZcejÈ                  jË                  dejÌ                  jÍ                  d«       eEdd¬«      g«      d„ «       Zgd„ Zhd„ Zid „ ZjejÈ                  jË                  d!ejÖ                  d"fejØ                  d#fejØ                  d"fg«      ejÈ                  jË                  d$ejÚ                  ejÜ                  ejÞ                  g«      d%„ «       «       ZpejÈ                  jË                  d&ejÖ                  d'd(d)fejÖ                  dd(d*fejÖ                  d+d(d,fejÖ                  dd#d*fejØ                  d'd(d-fejØ                  dd(d.fejØ                  d/d(d0fejØ                  d'd1d2fejØ                  d'd3d-fg	«      ejÈ                  jË                  d$ejÚ                  ejÜ                  ejÞ                  g«      d4„ «       «       ZqejÈ                  jË                  d5g d6¢«      ejÈ                  jË                  d$ejÚ                  ejÜ                  ejÞ                  g«      d7„ «       «       Zrd8„ ZsejÈ                  jË                  d9 ejè                  d3ejØ                  gg«      d:f ejè                  d3ejØ                  gg«      d:f ejè                  d3ejÖ                  gg«      d;f ejè                  d3ejØ                  ggeu¬<«      d=fg«      ejÈ                  jË                  d>d(d"g«      d?„ «       «       Zvd@„ ZwejÈ                  jñ                  dA«      dB„ «       ZyejÈ                  jË                  ddCdDgdEdFgg ejè                  dCdDgdEdFggdG¬<«       ejè                  dCdDgdEdFggdH¬<«      dIdJgdKdLgg ejè                  dIdJgdKdLggdM¬<«      g«      dN„ «       ZzdO„ Z{ejÈ                  jË                  dPg dQ¢«      ejÈ                  jË                  dRejø                  ejú                  gejø                  fejú                  ejú                  fdSejú                  fg«      dT„ «       «       Z~dU„ ZdV„ Z€dW„ Z�dX„ Z‚dY„ ZƒdZ„ Z„d[„ Z… e�j                  g d\¢¬]«      d^„ «       Z‡d_„ Zˆd`„ Z‰da„ ZŠdb„ Z‹dc„ ZŒdd„ Z�de„ ZŽdf„ Z�dg„ Z�dh„ Z‘ejÈ                  jË                  di ed«      e’e“gg dj¢¬k«      dl„ «       Z”dm„ Z•ejÈ                  jË                  dn e0«       «      do„ «       Z–dp„ Z—dq„ Z˜dr„ Z™ejÈ                  jË                  dsejú                  ejø                  fejú                  ddSf«      ejÈ                  jË                  dtdu«      dv„ «       «       Zšdw„ Z›dx„ Zœ G dy„ dz«      Z� G d{„ d|«      Zžd}„ ZŸejÈ                  jË                  d~d(d"g«      d„ «       Z ejÈ                  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Š¢¬k«      d‹„ «       Z¤ejÈ                  jË                  d$ejÚ                  ejÞ                  e�jJ                  e�jL                  e�jN                  e�jP                  e�jR                  e�jT                  ejÜ                  e�jV                  e�jX                  e�jZ                  e�j\                  e�j^                  e�j`                  g«      dŒ„ «       Z±d�„ Z²dŽ„ Z³ejÈ                  jË                  d�g d�¢«      d‘„ «       Z´ejÈ                  jË                  d�g d’¢«      d“„ «       ZµejÈ                  jË                  d”g d•¢«      d–„ «       Z¶ejÈ                  jË                  d—d3d˜e·d™dšd› e¸dœ«      fdd˜e�jr                  d™dšd› e¸d�«      fdd˜e�jt                  d™dšd› e¸dž«      fd3d˜e·e»fd™dšd› e¸dŸ«      fd3d 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jè                  d3d™g«      dd'f ejè                  d3d™g«       ejè                  d3d™g«      dd'fd´ ejè                  d¢dg«      edµfd¶ ejè                  d¢dg«      ed'f ejè                  d3d·gejø                  ¬<«       ejè                  d3dgejø                  ¬<«      ed¸f ejè                  d3d¹gejú                  ¬<«       ejè                  d3dgejú                  ¬<«      edºfd» ejè                  d¢dg«      ed¼fd½œZ¾ejÈ                  jË                  d¾ e’e¾�j                  «       «       e’e¾�j�                  «       «      ¬k«      ejÈ                  jË                  d¿d(d"g«      dÀ„ «       «       ZÁdÁe¢dÂfdÃe¢dÄfdÅe¢dÆf ejè                  dÇdÈgejø                  ¬<«      e¢dÆf ejè                  dÉdÊgejú                  ¬<«      e¢dÆfdËœZÂejÈ                  jË                  dÌ e’eÂ�j                  «       «       e’eÂ�j�                  «       «      ¬k«      dÍ„ «       ZÃdÎ„ ZÄdÏ„ ZÅejÈ                  jË                  dn e0«       «      dÐ„ «       ZÆejÈ                  jË                  dÑdgdd3gdÒd3gg dÓ¢g dÔ¢g«      dÕ„ «       ZÇejÈ                  jË                  dn e0«       «      ejÈ                  jË                  dÑdgdd3gdÒd3gg dÓ¢g dÔ¢g«      dÖ„ «       «       ZÈejÈ                  jË                  dÑg d×¢dØgddÒgg«      dÙ„ «       ZÉejÈ                  jË                  dn e0«       «      ejÈ                  jË                  dÑg d×¢dØgddÒgg«      dÚ„ «       «       ZÊejÜ                  ejÞ                  e�jV                  e�jJ                  gZËejÈ                  jË                  dÛejè                  geËz   «      dÜ„ «       ZÌejÈ                  jË                  dÛejè                  geËz   «      dÝ„ «       ZÍejÈ                  jË                  dÛeË«      dÞ„ «       ZÎdß„ ZÏdà„ ZÐdá„ ZÑejÈ                  jË                  dâdd3dãgg«      dä„ «       ZÒejÈ                  jË                  dåg dæ¢«      dç„ «       ZÓdè„ ZÔejÈ                  jË                  dég dê¢«      dë„ «       ZÕejÈ                  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jÈ                  jË                  d�g �d	¢«      �d
„ «       ZÚejÈ                  jË                  dg �d¢g �d¢g �d¢g �d¢�dd3i�dd™i�ddãiggg �d¢¬k«      ejÈ                  jË                  d�g �d¢«      �d„ «       «       ZÛejÈ                  jË                  dg �d¢g �d¢¬k«      �d„ «       ZÜejÈ                  jË                  �d e’ eÝd™«      «       eÝd™«      d�d�dg�d�dgggg �d¢¬k«      �d„ «       ZÞejÈ                  jË                  �dg �d¢«      �d„ «       Zß�d„ ZàejÈ                  jË                  �d �dd3g�d!f�d"�d#g�d$fg�d%�d&g¬k«      �d'„ «       Zá G �d(„ �d)e«      ZâejÈ                  jË                  g �d*¢�d+g �d,¢�d-f�d.g �d¢�d/f�d0g �d¢�d/fg«      �d1„ «       Zã�d2„ ZäejÈ                  jË                  �d3g �d4¢«      �d5„ «       Zå�d6„ Zæ�d7„ ZçejÈ                  jË                  �d8dd3dd3dejØ                  gg �d9¢g«      �d:„ «       Zèe<�d;„ «       ZéejÈ                  jË                  �d<g �d=¢«      ejÈ                  jË                  �d>d(d"g«      �d?„ «       «       ZêejÈ                  jË                  �d@eBeAz   e@z   eCz   «      ejÈ                  jË                  �dAg �dB¢«      �dC„ «       «       ZëejÈ                  jË                  �dD ejè                  d3«       ejè                  d™«      gd3d™gdãdšggg«      �dE„ «       Zì�dF„ Zí�dG„ Zî�dH„ Zï�dI„ Zðe<�dJ„ «       ZñejÈ                  jË                  g �dK¢ ejè                  d3d™gdãdšggd3d™gdãdšggg«       e«       �dLf ejè                  d3d™gdãdšggd3d™gdãdšggg«      d�dMfg«      �dN„ «       ZòejÈ                  jË                  �dO�dPg�dQ�dRg e�jæ                  �dS«      f ejè                  �dQ�dTgeu¬<«       e�jæ                  �dU«      fddÒg e�jæ                  �dV«      fg �dW¢ e�jæ                  �dX«      fg«      �dY„ «       ZôejÈ                  jË                  �dO�dZgg �d[¢d(fd3d™gd(f�d�dgd"f�d\g«      ejÈ                  jË                  d�g �d]¢«      �d^„ «       «       Zõ�d_„ Zöy(`  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                  j                  d«      } t        d«      j                  d«      | j                  d«      k(  sJ ‚t        j                  j                  d«      } t        | «      | u sJ ‚t        j                  j                  d«      } t        d«      j                  d«      | j                  d«      k7  sJ ‚t        j                  t        «      5  t        d«       d d d «       y # 1 sw Y   y xY w)Né*   éd   é+   zsome invalid seed)
rA   ÚnpÚrandomÚmtrandÚ_randÚRandomStateÚrandintÚpytestÚraisesÚ
ValueError)Úrng_42s    úx/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/sklearn/utils/tests/test_validation.pyÚtest_make_rngrU   ^   s  € ä˜dÓ#¤r§y¡y×'7Ñ'7×'=Ñ'=Ñ=Ð=Ð=ÜœbŸi™iÓ(¬B¯I©I×,<Ñ,<×,BÑ,BÑBÐBÐBä�Y‰Y×"Ñ" 2Ó&€FÜ˜bÓ!×)Ñ)¨#Ó.°&·.±.ÀÓ2EÒEÐEÐEä�Y‰Y×"Ñ" 2Ó&€FÜ˜fÓ%¨Ñ/Ð/Ð/ä�Y‰Y×"Ñ" 2Ó&€FÜ˜bÓ!×)Ñ)¨#Ó.°&·.±.ÀÓ2EÒEÐEÐEä	�‰”zÓ	"ñ 0ÜÐ.Ô/÷0÷ 0ñ 0ús   ÅE'Å'E0c                  óø  — t        j                  dt         j                  ¬«      } | t        j                  dt         j                  ¬«      z   } t	        | d¬«      }|j
                  t         j                  k(  sJ ‚| 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 ]=  }| j                  |«      } t	        | «      }|j
                  t         j                  k(  rŒ=J ‚ | 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«      «      j+                  «       t'        j,                  t        j                  d«      g«      j+                  «       t/        ddd	¬
«      j+                  «       g}|D ]G  }t	        |d¬«      }t         j0                  |d<   t        j2                  |«      j5                  «       sŒGJ ‚ y )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   p   s$  € ä
�‰�œrŸx™xÔ(€AØ	ŒB�I‰I�b¤§¡Ô)Ñ)€AÜ	˜ Ô	&€BØ�8‰8”r—z‘zÒ!Ð!Ð!à	�‰”—‘Ó€AÜ	˜ Ô	%€Bä˜! %Ô(°Ñ1Ð1Ð1Ø�8‰8”r—z‘zÒ!Ð!Ð!äœ2Ÿ7™7¤B§H¡H¬b¯h©h¼¿¹Ä"Ç)Á)ÌRÏYÉYÐW€MØò &ˆØ�H‰H�U‹OˆÜ˜AÓˆØ�x‰xœ2Ÿ:™:Ó%Ð%Ð%ð&ð 	
�‰”Ó€AÜ	˜ Ô	%€BØ�8‰8”r—z‘zÒ!Ð!Ð!ô 	�‰�œbŸj™jÔ)€AÜ˜! %Ô(¨AÑ-Ð-Ð-ä
×Ñ˜!Ó€AÜ�<‰<œ q¨tÔ4Ô5Ð5Ð5ô 	�‰”b—i‘i “lÓ#×+Ñ+Ó-Ü
�‰”b—i‘i “l�^Ó$×,Ñ,Ó.Ü˜b "¨dÔ3×;Ñ;Ó=ð€Hð
 ò %ˆÜ˜1 4Ô(ˆÜ—&‘&ˆˆ$‰Ü—8‘8˜A“;—?‘?Õ$Ð$Ð$ñ%ó    ry   ©rX   r]   Úcsr©Úformatc                 ó¢   — | j                  «       } t        j                  | d<   t        j                  | d<   t        | d¬«      }t	        || «       y )N)r^   r   )é   é   ú	allow-nan©Úensure_all_finite)r\   rJ   rv   r   r    )ry   ÚX_converteds     rT   Útest_as_float_array_nanrŒ   ›   s?   € ð 	
�‰‹€AÜ�f‰f€A€d�GÜ�f‰f€A€d�GÜ  °kÔB€KÜ  ¨aÕ0r€   c                  óx  — t        j                  d«      j                  dd«      } t        t	        | «      t         j
                  «      rJ ‚t        t	        t        j                  | «      «      t         j
                  «      rJ ‚t        t	        t        j                  | «      «      t         j
                  «      rJ ‚y )Né   rW   é   )	rJ   rd   ÚreshapeÚ
isinstancer   Úmatrixrr   rs   ru   ©ry   s    rT   Útest_np_matrixr”   ¦   s{   € ä
�	‰	�"‹×Ñ˜a Ó#€Aäœ.¨Ó+¬R¯Y©YÔ7Ð7Ð7Üœ.¬¯©°qÓ)9Ó:¼B¿I¹IÔFÐFÐFÜœ.¬¯©°a«Ó9¼2¿9¹9ÔEÐEÐEÐEr€   c                  óP  — d„ } t        d¬«      5 }t        j                  |dt        j                  ¬«      }d|d d  t        t        j
                  | fD ]<  } ||«      }d|d d  t        |j                  «       |j                  «       «       d|d d  Œ> 	 d d d «       y # 1 sw Y   y xY w)Nc                 ó   — t        | d¬«      S )NFr[   )r   ©Úxs    rT   ú<lambda>ztest_memmap.<locals>.<lambda>²   s   € ”n Q¨UÔ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€Eä	 >Ô	2ð °cÜ�I‰I�c ´·±Ô<ˆØˆ‰!ˆäœrŸz™z¨5Ð1ò 	ˆAÙ�!“ˆAØˆA‰aˆDÜ˜qŸw™w›y¨!¯'©'«)Ô4ØˆA‰a‰Dñ		÷	÷ ñ ús   �BBÂB%c                  ó~  — t        j                  d«      } | | j                  fD ]P  }dD ]I  }t        |d|¬«      }|j                  d   sJ ‚t        |d|¬«      }|j                  d   sJ ‚|sŒD||urŒIJ ‚ ŒR t        j                  | «      } | j                  d d d…   | _        | j                  j                  d   rJ ‚y )	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ˆAØ—7‘7˜>Ò*Ð*Ð*Ü˜A S¨tÔ4ˆAØ—7‘7˜>Ò*Ð*Ð*ÚØ ’zÐ!�zñ	"ð"ô 	�‰�Q‹€AØ�V‰V‘D�b�D‰\€A„FØ�v‰v�|‰|˜NÒ+Ð+Ð+Ð+r€   zvalue, ensure_all_finiteFrˆ   Úretypec                 ó¾   —  |t        j                  d«      j                  dd«      j                  t        «      «      }| |d<   t        ||d¬«      }t        ||«       y )Nr�   r]   ra   T)rŠ   Úaccept_sparse)rJ   rd   r�   rf   Úfloatr   r    )ÚvaluerŠ   r²   ry   Ú	X_checkeds        rT   Ú(test_check_array_ensure_all_finite_validr¸   Ò   sQ   € ñ 	Œr�y‰y˜‹|×#Ñ# A qÓ)×0Ñ0´Ó7Ó8€AØ€A€d�GÜ˜AÐ1BÐRVÔ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                 ó  —  |t        j                  d«      j                  dd«      j                  t         j                  «      «      }| |d<   t        j                  t        |¬«      5  t        |||d¬«       d d d «       y # 1 sw Y   y xY w)Nr�   r]   ra   ©ÚmatchT)Ú
input_namerŠ   r´   )	rJ   rd   r�   rf   rh   rP   rQ   rR   r   )r¶   rÀ   rŠ   Ú	match_msgr²   ry   s         rT   Ú*test_check_array_ensure_all_finite_invalidrÂ   Þ   sr   € ñ. 	Œr�y‰y˜‹|×#Ñ# A qÓ)×0Ñ0´·±Ó<Ó=€AØ€A€d�GÜ	�‰”z¨Ô	3ñ 
ÜØØ!Ø/Øõ		
÷
÷ 
ñ 
ús   Á)BÂBrÀ   )ry   r¼   rº   c                 ó(  —  |t        j                  d«      j                  dd«      j                  t         j                  «      «      }t         j
                  |d<   t        «       }d|j                  j                  › d�}t        j                  t        d| › d�¬«      5 }t        ||| d	¬
«       d d d «       | dk(  r|j                  j                  d   v sJ ‚|j                  j                  d   vsJ ‚| dk(  r€t        j                  t        d| › d�¬«      5 }t        «       j                  |t        j                   |j"                  d   «      «       d d d «       ||j                  j                  d   v sJ ‚y y # 1 sw Y   ŒÎxY w# 1 sw Y   Œ4xY w)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   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Ì      sh  € ñ ”"—)‘)˜A“,×&Ñ& q¨!Ó,×3Ñ3´B·J±JÓ?Ó@€DÜ—‘€Dˆ�JÜ“€Ià
ˆY× Ñ ×)Ñ)Ð*ð +-ð 	-ð ô 
�‰”z¨6°*°¸]Ð)KÔ	Lð 
ÐPSÜØØØ!Øõ		
÷
ð �SÒØ˜sŸy™yŸ~™~¨aÑ0Ñ0Ð0Ð0à 3§9¡9§>¡>°!Ñ#4Ñ4Ð4Ð4à�SÒô �]‰]œ:¨v°j°\ÀÐ-OÔPð 	4ÐTWÜ‹E�I‰I�dœBŸG™G D§J¡J¨q¡MÓ2Ô3÷	4à˜sŸy™yŸ~™~¨aÑ0Ñ0Ð0Ñ0ð ÷
ð 
ú÷ 	4ð 	4ús   ÂE<Ä;FÅ<FÆFc                  ó>  — 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 «       y # 1 sw Y   y xY w)
NÚaÚbrY   rˆ   ©rZ   rŠ   Fr»   r¾   T)	rJ   Úarrayrv   ro   r«   r   rP   rQ   rR   )ry   r·   s     rT   Ú)test_check_array_ensure_all_finite_objectrÒ   *  sŠ   € Ü
�‰�3˜œRŸV™VÐ$Ð%¬VÔ4×6Ñ6€Aä˜A T¸[ÔI€IØ�	‰>Ðˆ>ä˜A T¸UÔC€IØ�	‰>Ðˆ>ä	�‰”zÐ)=Ô	>ñ ;Ü�A˜T°TÕ:÷;÷ ;ñ ;ús   Á;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 «       y # 1 sw Y   y xY w)Nr¾   rÐ   )rP   rQ   rR   r   Úint)ry   Úerr_msgrŠ   s      rT   Ú8test_check_array_ensure_all_finite_object_unsafe_castingr×   7  s8   € ô0 
�‰”z¨Ô	1ñ GÜ�AœSÐ4EÕF÷G÷ Gñ Gús	   œ8¸Ac                  óì   — t        j                  d«      } | j                  g d¢«      }dt        |«      › d�}t        j                  t
        |¬«      5  t        |d¬«       ddd«       y# 1 sw Y   yxY w)	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ã   S  sa   € ô 
×	Ñ	˜XÓ	&€BØ
�)‰)’IÓ
€CØ7¼¸S»	°{À)Ð
L€CÜ	�‰”z¨Ô	-ñ )Ü�C 4Õ(÷)÷ )ñ )ús   ÁA*Á*A3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 «       t        g d¢d¬«      }|j                  dk(  sJ ‚t        j                  t        d¬	«      5  t        g d¢d
¬«       d d d «       t        j                  t        d¬	«      5  t        dd
¬«       d d d «       t        t         d«      rht        t        t        j                  | «      «      «      }|j                  dk(  r2t        j                  t        d¬	«      5  t        |d
d
¬«       d d d «       t        j                  d«      j                  ddd«      }t        j                  t        «      5  t        |«       d d d «       t        |d
¬«       t        j                  d«      j                  dd«      j                  d«      }|j                  d«      }|j                  t         «      }|j                  t"        «      }||||g}	t        j$                  t         t"        t        j&                  d t(        t*        g}
g d¢}d
dg}t-        |	|
||«      D ]û  \  } }}}t        | |||¬«      }|�|j.                  |k(  sJ ‚|j.                  | j.                  k(  sJ ‚|dk(  r"|j0                  d   sJ ‚|j0                  d   r)J ‚|dk(  r"|j0                  d   sJ ‚|j0                  d   rJ ‚|r| |urŒšJ ‚| j.                  |j.                  k(  sŒ¶|j0                  d   | j0                  d   k(  sŒÖ|j0                  d   | j0                  d   k(  sŒö| |u rŒûJ ‚ g }	|	j3                  t4        t6        z   t8        z   t:        z   D �cg c]
  } ||«      ‘Œ c}«       |	j3                  |	d   j                  t        j<                  «      |	d   j                  t        j>                  «      g«       ddgddgg}|
D �cg c]  }|t*        usŒ|‘Œ }}t-        |	|||«      D ]Ä  \  } }}}t        | |||¬«      }|�|j.                  |k(  sJ ‚|j.                  | j.                  k(  sJ ‚| j@                  |v r| j@                  |j@                  k(  sJ ‚|j@                  |d   k(  sJ ‚|r| |urŒ‰J ‚| j.                  |j.                  k(  sŒ¥| j@                  |j@                  k(  sŒ¿| |u rŒÄJ ‚ t        ddgddgg«      }tC        |t        jD                  «      sJ ‚t        j                  t        «      5  t        |jG                  «       «       d d d «       t        |jG                  «       d
¬«       tI        |«      }t        |«      }tC        |t        jD                  «      sJ ‚t        ddgddgg«      }d}t        j                  t        |¬	«      5  t        |d
dtK        «       ¬ «       d d d «       y # 1 sw Y   �Œ°xY w# 1 sw Y   �ŒjxY w# 1 sw Y   �ŒFxY w# 1 sw Y   �ŒÛxY w# 1 sw Y   �Œ•xY wc c}w c c}w # 1 sw Y   ŒðxY w# 1 sw Y   y xY w)!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©   r   r‚   ÚcooÚdok©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_CÚX_FÚX_intÚX_floatÚXsÚdtypesÚordersÚcopysrZ   r¦   r\   r·   Úsparse_containerÚaccept_sparsesÚdtÚnon_object_dtypesr´   ÚX_denseÚ
X_no_arrayÚresultÚX_negrÖ   s                              rT   Útest_check_arrayr	  b  s³  € ð ˆQˆ�!�Q�Ð€AÜ�L‰L˜‹O€EÜ	�‰”yÓ	!ñ Ü�EÔ÷ô š)¨uÔ5€GØ�<‰<˜1ÒÐÐä	�‰”zÐ)RÔ	Sñ /Ü’I¨Õ.÷/ô 
�‰”zÐ)VÔ	Wñ (Ü�B $Õ'÷(ô Œr�;ÔÜœ$œrŸ|™|¨A›Ó/Ó0ˆ
Ø�?‰?˜aÒä—‘œzÐ1IÔJñ LÜ˜J°dÀdÕK÷Lô �Y‰Y�q‹\×!Ñ! ! Q¨Ó*€FÜ	�‰”zÓ	"ñ Ü�FÔ÷ä� Õ&ô �)‰)�A‹,×
Ñ
˜q !Ó
$×
)Ñ
)¨#Ó
.€CØ
�(‰(�3‹-€CØ�J‰J”s‹O€EØ�j‰jœÓ€GØ
ˆs�E˜7Ð	#€BÜ�h‰hœœU¤B§J¡J°´d¼FÐC€FÚ€FØ�5ˆM€Eä!(¨¨V°V¸UÓ!Cò &Ñˆˆ5�%˜Ü ¨°eÀ$ÔGˆ	ØÐØ—?‘? eÒ+Ð+Ð+à—?‘? a§g¡gÒ-Ð-Ð-Ø�CŠ<Ø—?‘? >Ò2Ð2Ð2Ø —‘ ~Ò6Ð6Ð6Ø�cŠ\Ø—?‘? >Ò2Ð2Ð2Ø —‘ ~Ò6Ð6Ð6ÙØ˜IÒ%Ð%Ð%ð —‘˜9Ÿ?™?Ó*Ø—O‘O NÑ3°q·w±w¸~Ñ7NÓNØ—O‘O NÑ3°q·w±w¸~Ñ7NÓNà˜I’~Ð%�~ð+&ð4 
€BØ‡I�Iô %3Üñ%äñ%ô ñ%ö	
à ñ ˜SÕ!ò	
ôð ‡I�Iˆr�!‰u�|‰|œBŸH™HÓ% r¨!¡u§|¡|´B·J±JÓ'?Ð@ÔAà˜e�n u¨e nÐ5€Nð '-ÖA °¼&Ò0@šÐAÐÐAÜ)0Ø
Ð˜~¨uó*ò &Ñ%ˆˆ5�- ô   ¨¸mÐRVÔWˆ	ØÐØ—?‘? eÒ+Ð+Ð+à—?‘? a§g¡gÒ-Ð-Ð-Ø�8‰8�}Ñ$à—8‘8˜y×/Ñ/Ò/Ð/Ð/ð ×#Ñ# }°QÑ'7Ò7Ð7Ð7ÙØ˜IÒ%Ð%Ð%ð �w‰w˜)Ÿ/™/Ó)¨a¯h©h¸)×:JÑ:JÓ.JØ˜I’~Ð%�~ð'&ô. ˜A˜q˜6 A q 6Ð*Ó+€GÜ�gœrŸz™zÔ*Ð*Ð*ä	�‰”zÓ	"ñ %Ü�F—M‘M“OÔ$÷%ä�—‘“¨$Õ/ô ˜WÓ%€JÜ˜Ó$€FÜ�fœbŸj™jÔ)Ð)Ð)ô ˜!˜Q˜ " a Ð)Ó*€EØL€GÜ	�‰”z¨Ô	1ñ 
ÜØØ $ØÜ+Ó-õ		
÷
ð 
÷mñ ú÷/ñ /ú÷(ñ (ú÷Lñ Lú÷
ñ üòT	
ùò B÷6%ð %ú÷
ð 
úse   ·W1ÂW>Â9XÄ0XÆX%ÎX2ÐX7ÐX7Ô3X<×Y×1W;×>XØXØX"Ø%X/Ø<YÙYÚ1Ú2Ú3Ú4ÚUÚSó   1ó   2ó   3ó   4ÚV1c                 ó‚   — d}t        j                  t        |¬«      5  t        | d¬«       ddd«       y# 1 sw Y   yxY w)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  ç  s7   € ð U€LÜ	�‰”z¨Ô	6ñ (Ü�A˜YÕ'÷(÷ (ñ (ús   ž5µ>c                  ó$  — t        j                  d«      } | j                  g d¢g d¢dœ«      }t        j                  t        «      5  t        |d¬«       ddd«       | j                  g d¢g d¢dœ«      }t        j                  t        «      5  t        |d¬«       ddd«       | j                  g d	¢«      }t        j                  t        «      5  t        |dd
¬«       ddd«       t        |d¬«      }|j                  t        j                  k(  sJ ‚t        ||j                  «       t        |dd
¬«      }|j                  t        j                  k(  sJ ‚t        ||j                  «       y# 1 sw Y   �ŒxY w# 1 sw Y   ŒßxY w# 1 sw Y   Œ¨xY w)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)  ù  s5  € ô 
×	Ñ	˜XÓ	&€Bð �\‰\¢²oÑFÓG€FÜ	�‰”zÓ	"ñ -Ü�F )Õ,÷-ð �|‰|¢/ºÑHÓI€HÜ	�‰”zÓ	"ñ /Ü�H IÕ.÷/ð �I‰I’oÓ&€EÜ	�‰”zÓ	"ñ =Ü�E °eÕ<÷=ô ˜ tÔ,€FØ�<‰<œ2Ÿ:™:Ò%Ð%Ð%Ü�v˜vŸ}™}Ô-ä˜ d°eÔ<€FØ�<‰<œ2Ÿ:™:Ò%Ð%Ð%Ü�v˜uŸ|™|Õ,÷)-ñ -ú÷
/ð /ú÷
=ð =ús$   ÁE-ÂE:ÃFÅ-E7Å:FÆFÚ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
                  }|j                  || g d¢¬«      }|d   j                  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 «       y # 1 sw Y   y xY w)NrÙ   >   r/  r0  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_supportr6    s'  € ô 
×	Ñ	˜XÓ	&€BàÐ)Ñ)ä× Ñ  °eÔ<ˆä�8‰8Ø
ˆQ�”2—6‘6œ2Ÿ6™6Ð	"¤R§V¡V¬R¯V©V°Q¸¸1Ð$=ºÐOóç�að 	ð
 	�‰�T ²?ˆÓC€Aàˆs‰V�]‰]˜7Ó#€A€c�FÜ˜A°ÀEÔJ€IÜ�I˜tÔ$Ø�?‰?˜nÒ,Ð,Ð,ä˜A°¸eÔD€IÜ�I˜tÔ$Ø�?‰?˜nÒ,Ð,Ð,à
€CÜ	�‰”z¨Ô	-ñ /Ü�A¨Õ.÷/÷ /ñ /ús   Ä7EÅEc                  ó4  — t        j                  d«      } | j                  dd| j                  gd¬«      }d}t        j                  t
        |¬«      5  t        |dd	¬
«       ddd«       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 ‚y# 1 sw Y   Œ­xY w)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_seriesr<  C  sã   € ä	×	Ñ	˜XÓ	&€Bà�i‰i˜˜A˜rŸu™u˜¨WˆiÓ5€Gà
€CÜ	�‰”z¨Ô	-ñ FÜ�G¨t¸uÕE÷Fô ˜°5ÀEÔJ€EÜ�E˜A˜q¤"§&¡&˜>Ô*Ø�;‰;œ"Ÿ*™*Ò$Ð$Ð$äØ 5°EÄÇÁô€Eô �E˜A˜q¤"§&¡&˜>Ô*Ø�;‰;œ"Ÿ*™*Ò$Ð$Ñ$÷Fð Fús   ÁDÄDc                  ó†  — t        j                  d«      } t        j                  g d¢g d¢g d¢gt        j                  ¬«      }| j                  |«      }t        |«      j                  t        j                  k(  sJ ‚t        |t        ¬«      j                  t        j                  k(  sJ ‚|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 ‚|j                  dt        j                  i«      }t        |«      j                  t        j                  k(  sJ ‚t        |t        ¬«      j                  t        j                  k(  sJ ‚|j                  dt        j                  i«      }t        |«      j                  t        j                  k(  sJ ‚t        |t        ¬«      j                  t        j                  k(  sJ ‚|j                  t        j                  «      }t        |«      j                  t        j                  k(  sJ ‚t        |t        ¬«      j                  t        j                  k(  sJ ‚| j                  d| j                  g d¢«      i«      }t        |«      j                  t        j                   k(  sJ ‚t        |t        ¬«      j                  t        j                  k(  sJ ‚y )	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_castingrG  X  s7  € ä	×	Ñ	˜XÓ	&€BÜ
�‰’)šYª	Ð2¼"¿*¹*ÔE€AØ�<‰<˜‹?€DÜ�tÓ×"Ñ"¤b§j¡jÒ0Ð0Ð0Ü�t¤<Ô0×6Ñ6¼"¿*¹*ÒDÐDÐDà�;‰;˜œ2Ÿ:™:�Ó'€DÜ�t—{‘{¤R§Z¡Z´·±¼R¿Z¹ZÐ$HÔIÜ�tÓ×"Ñ"¤b§j¡jÒ0Ð0Ð0Ü�t¤<Ô0×6Ñ6¼"¿*¹*ÒDÐDÐDà�;‰;˜œ2Ÿ8™8�}Ó%€Dä�tÓ×"Ñ"¤b§j¡jÒ0Ð0Ð0Ü�t¤<Ô0×6Ñ6¼"¿*¹*ÒDÐDÐDà�;‰;˜œ2Ÿ:™:�Ó'€Dä�tÓ×"Ñ"¤b§j¡jÒ0Ð0Ð0Ü�t¤<Ô0×6Ñ6¼"¿*¹*ÒDÐDÐDà�;‰;”r—x‘xÓ €DÜ�tÓ×"Ñ"¤b§h¡hÒ.Ð.Ð.ô �t¤<Ô0×6Ñ6¼"¿*¹*ÒDÐDÐDð
 �\‰\˜9 b§n¡n²YÓ&?Ð@ÓA€FÜ�vÓ×$Ñ$¬¯©Ò0Ð0Ð0Ü�v¤\Ô2×8Ñ8¼B¿J¹JÒFÐFÑFr€   c                  óB  — 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 ‚y )Nçš™™™™™É?gffffffæ?g333333ã?g      à?gš™™™™™Ù?r_   rY   )rJ   rÑ   r   r   rZ   re   )ÚarrÚmock_dfÚchecked_arrs      rT   Ú"test_check_array_on_mock_dataframerM  }  s†   € Ü
�(‰(�S˜#�J  c 
¨S°#¨J¸¸c¸
ÐCÓ
D€CÜ˜CÓ €GÜ˜gÓ&€KØ×Ñ §	¡	Ò)Ð)Ð)Ü˜g¬R¯Z©ZÔ8€KØ×Ñ¤§¡¬¯©Ó 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 ‚y )NrÚ   r>  r?  ÚiFrÛ   )r   rZ   Úkindr“   s    rT   Ú test_check_array_dtype_stabilityrQ  †  sM   € â	’IšyÐ)€AÜ�q‹>×Ñ×$Ñ$¨Ò+Ð+Ð+Ü�q EÔ*×0Ñ0×5Ñ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 ]=  }t        |t         j                  d¬«      }	|	j                  t         j                  k(  rŒ=J ‚ |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rŒ§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 «       y # 1 sw Y   y xY w)NrÚ   r>  r?  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_warningr^  �  så  € ÚšYª	Ð2€JÜ—
‘
˜:¬R¯Z©ZÔ8€IÜ�j‰j˜¬2¯8©8Ô4€GÜ—L‘L Ó+€MÜ—L‘L Ó+€MÜ—,‘,˜w¬b¯h©hÔ7€KØ˜[Ð)€LØ˜}¨mÐ<€LÜ	×	 Ñ	 Ó	"ñ )Ü×Ñ˜gÔ&àò 	1ˆAÜ# A¬R¯Z©ZÀtÔLˆIØ—?‘?¤b§j¡jÓ0Ð0Ð0ð	1ð ò 	&ˆAÜ#Øœ"Ÿ*™*¤b§j¡jÐ1ÀôˆIð —?‘?¤b§j¡jÒ0Ð0Ð0Ø ‘>Ð!�>ä#ØÜ—z‘z¤2§:¡:Ð.Ø$ e˜nØô	ˆIð —?‘?¤b§j¡jÒ0Ð0Ð0Ø AÒ%Ð%Ð%ð	&ô   ØÜ—:‘:œrŸz™zÐ*Ø  %˜.Øô	
ˆ	ð �‰¤"§*¡*Ò,Ð,Ð,Ø Ñ-Ð-Ð-Ø×Ñ 5Ò(Ð(Ñ(÷?)÷ )ñ )ús   ÃAH5ÄB+H5ÇA(H5È5H>c                  óÂ  — ddgddgg} t        j                  | «      }t        «       }d}t        j                  t
        |¬«      5  t        |d¬«       d d d «       d	}t        j                  t        |¬«      5  t        ||¬«       d d d «       d
}t        j                  t        |¬«      5  t        |g ¬«       d d d «       t        j                  t        |¬«      5  t        |d¬«       d d d «       t        j                  t
        d¬«      5  t        ||g¬«       d d d «       y # 1 sw Y   ŒÓxY w# 1 sw Y   Œ¬xY w# 1 sw Y   Œ…xY w# 1 sw Y   Œ`xY w# 1 sw Y   y xY w)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   )rr   r­   r   rP   rQ   rí   r   rR   )ry   rõ   Úinvalid_typerâ   s       rT   Ú-test_check_array_accept_sparse_type_exceptionrc  ¸  s6  € Ø
ˆQˆ�!�Q�Ð€AÜ�L‰L˜‹O€EÜ“5€Lð	Að ô 
�‰”y¨Ô	,ñ 0Ü�E¨Õ/÷0ð	Gð ô 
�‰”z¨Ô	-ñ 7Ü�E¨Õ6÷7ð	5ð ô 
�‰”z¨Ô	-ñ -Ü�E¨Õ,÷-ä	�‰”z¨Ô	-ñ -Ü�E¨Õ,÷-ä	�‰”y¨Ô	.ñ 9Ü�E¨,¨Õ8÷9ð 9÷%0ð 0ú÷7ð 7ú÷-ð -ú÷-ð -ú÷9ð 9ús<   ÁD%Á8D1Â+D=ÃE	ÄEÄ%D.Ä1D:Ä=EÅ	EÅEc                  ó¨   — ddgddgg} t        j                  | «      }t        |d¬«       t        |d¬«       t        |dg¬«       t        |d¬«       y )	Nr‡   r]   rW   r�   Tr`  r‚   )r‚   )rr   r­   r   )ry   rõ   s     rT   Ú+test_check_array_accept_sparse_no_exceptionre  ×  sK   € Ø
ˆQˆ�!�Q�Ð€AÜ�L‰L˜‹O€Eä� TÕ*Ü� UÕ+Ü� e WÕ-Ü� XÖ.r€   )r‚   Úcscrè   Úbsr)Úparamsc              #   ó¾  K  — t        d| j                  ¬«      }| j                  dk(  rot        |d«      r"t        d„ |j                  D «       «      |_        n�|j
                  j                  d«      |_        |j                  j                  d«      |_        n@|j                  j                  d«      |_        |j                  j                  d«      |_	        |–— y ­w)N)é   rX   rƒ   rè   Úcoordsc              3   ó>   K  — | ]  }|j                  d «      –— Œ y­w)rg   N)rf   )Ú.0Úvs     rT   ú	<genexpr>zX_64bit.<locals>.<genexpr>ì  s   è ø€ ÒA°1˜QŸX™X g×.ÑAùs   ‚rg   )
r*   Úparamrï   Útuplerk  Úrowrf   ÚcolÚindicesÚindptr)Úrequestry   s     rT   ÚX_64bitrw  á  s�   è ø€ ä˜X¨g¯m©mÔ<€Aà‡}�}˜ÒÜ�1�hÔô ÑA¸¿¹ÔAÓAˆA�Hð —E‘E—L‘L Ó)ˆAŒEØ—E‘E—L‘L Ó)ˆA�Eà—I‘I×$Ñ$ WÓ-ˆŒ	Ø—8‘8—?‘? 7Ó+ˆŒà
ƒGùs   ‚CCc                 ó    — t        | dd¬«       y )NT)Úaccept_large_sparser´   )r   )rw  s    rT   Ú1test_check_array_accept_large_sparse_no_exceptionrz  ø  s   € ä�¨TÀÖFr€   c                 ó„   — d}t        j                  t        |¬«      5  t        | dd¬«       d d d «       y # 1 sw Y   y xY w)NzbOnly sparse matrices with 32-bit integer indices are accepted. Got int64 indices. Please do reportr¾   TF)r´   ry  r  )rw  râ   s     rT   Ú4test_check_array_accept_large_sparse_raise_exceptionr|  ý  sA   € ð	<ð ô 
�‰”z¨Ô	-ñ LÜ�G¨4ÀUÕK÷L÷ Lñ Lús   ž6¶?c                  óê  — d} t        j                  t        | ¬«      5  t        g g«       d d d «       d} t        j                  t        | ¬«      5  t        g d¬«       d d d «       t	        j
                  d«      } t        j                  t        | ¬«      5  t        dd¬«       d d d «       t        j                  d«      }t        j                  d	«      }d
} t        j                  t        | ¬«      5  t        ||d¬«       d d d «       t        j                  t        | ¬«      5  t        ||dd¬«       d d d «       t        j                  d«      }t        j                  d«      }d} t        j                  t        | ¬«      5  t        ||d¬«       d d d «       t        j                  t        | ¬«      5  t        ||dd¬«       d d d «       t        j                  d«      j                  dd«      }t        j                  d«      }d} t        j                  t        | ¬«      5  t        ||«       d d d «       t        j                  d«      }t        j                  d«      }t        ||d¬«      \  }}t        ||«       t        ||«       y # 1 sw Y   �ŒexY w# 1 sw Y   �Œ?xY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒµxY w# 1 sw Y   �Œ�xY w# 1 sw Y   �Œ>xY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ¸xY w)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…    sU  € à
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Ñ€IˆyÜ�q˜)Ô$Ü�q˜)Õ$÷sñ ú÷)ñ )ú÷)ñ )ú÷.ñ .ú÷
?ñ ?ú÷/ñ /ú÷
>ñ >ú÷ð ús_   žJÁJÂJ(Ã3J5Ä%KÆKÆ6KÈ%K)ÊJÊJ%Ê(J2Ê5J?ËKËKËK&Ë)K2c                  ól  — t        j                  g d¢g d¢g«      } t        j                  t        d¬«      5  t        | «       d d d «       g d¢g d¢g} t        j                  t        d¬«      5  t        | «       d d d «       d} t        j                  t        d¬«      5  t        | «       d d d «       t        j                  g d¢«      t        j                  g d¢«      g} t        j                  t        d¬«      5  t        | «       d d d «       t        j                  g d¢«      t        j                  g d¢«      f} t        j                  t        d¬«      5  t        | «       d d d «       t        t        j                  g d¢g d¢g«      «      } t        j                  t        d¬«      5  t        | «       d d d «       t        j                  ddgddgg«      } t        j                  t        d¬«      5  t        | «       d d d «       t        j                  g d¢«      }t        j                  t        d¬«      5  t        |«       d d d «       y # 1 sw Y   �ŒxY w# 1 sw Y   �ŒæxY w# 1 sw Y   �ŒÂxY w# 1 sw Y   �ŒrxY w# 1 sw Y   �Œ"xY w# 1 sw Y   ŒÛxY w# 1 sw Y   Œ�xY w# 1 sw Y   y xY w)	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�  F  s  € Ü
�‰Ò*Ò,DÐEÓF€AÜ	�‰”zÐ)EÔ	Fñ Ü�AŒ÷ò 
"Ò#;Ð<€AÜ	�‰”zÐ)EÔ	Fñ Ü�AŒ÷ð 	=€AÜ	�‰”zÐ)EÔ	Fñ Ü�AŒ÷ô 
�‰Ò*Ó	+¬R¯X©XÒ6NÓ-OÐP€AÜ	�‰”zÐ)EÔ	Fñ Ü�AŒ÷ô 
�‰Ò*Ó	+¬R¯X©XÒ6NÓ-OÐP€AÜ	�‰”zÐ)EÔ	Fñ Ü�AŒ÷ô 	”b—h‘hÒ 8Ò:RÐSÓTÓU€AÜ	�‰”zÐ)EÔ	Fñ Ü�AŒ÷ô 	�‰�q˜&�k A q 6Ð*Ó+€AÜ	�‰”zÐ)EÔ	Fñ Ü�AŒ÷ô
 	�‰ÒAÓB€AÜ	�‰”zÐ)EÔ	Fñ Ü�Œ÷ð ÷Iñ ú÷
ñ ú÷
ñ ú÷
ñ ú÷
ñ ú÷
ð ú÷
ð ú÷ð ús_   ·IÁ.IÂI+Ã<I8ÅJÆ,JÇ6JÈ<J*ÉIÉI(É+I5É8JÊJÊJÊJ'Ê*J3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«       ‚y )Nrº   c                   ó*   — e Zd Z ed«      dd„«       Zy)ú@test_has_fit_parameter.<locals>.TestClassWithDeprecatedFitMethodz7Deprecated for the purpose of testing has_fit_parameterNc                  ó   — y ©Nra  )Úselfry   r¼   rº   s       rT   rÉ   zDtest_has_fit_parameter.<locals>.TestClassWithDeprecatedFitMethod.fitw  ó   € àr€   r•  )rÇ   Ú
__module__Ú__qualname__r   rÉ   ra  r€   rT   Ú TestClassWithDeprecatedFitMethodr“  v  s   „ Ù	ÐMÓ	Nò	ó 
Oñ	r€   rš  z=has_fit_parameter fails for class with deprecated fit method.)rD   r   r	   r   )rš  s    rT   Útest_has_fit_parameterr›  p  sm   € Ü Ô!5°ÔGÐGÐGÜÔ2°OÔDÐDÐDÜœS /Ô2Ð2Ð2ÜœS›U OÔ4Ð4Ð4÷ñ ô
 Ð=¸ÔOð ØGóÑOr€   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 «       |j                  «       D ]»  \  }}t        j                  t         «      5  t        |«       d d d «       t        j                  t        «      5  t        |d¬«       d d d «       t        |d¬«      }t        j"                  |«      r,|j$                  |k(  sJ ‚t'        |j)                  «       | «       Œ°t'        || «       Œ½ y # 1 sw Y   ŒØxY w# 1 sw Y   Œ¡xY w# 1 sw Y   Œ~xY w)	Nr   r‡   r]   )Údenseré   r‚   rf  rè   Úlilrg  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_formatrJ  Úoutputs          rT   Útest_check_symmetricr®  €  s}  € Ü�h‰h˜˜A˜  A Ð'Ó(€GÜ�g‰g�a‹j€GÜ�x‰x˜!˜Q˜ ! Q Ð(Ó)€Hð Ü�|‰|˜HÓ%Ü�|‰|˜HÓ%Ü�|‰|˜HÓ%Ü�|‰|˜HÓ%Ü�|‰|˜HÓ%Ü�|‰|˜HÓ%ñ€Kô 
�‰”zÓ	"ñ !Ü˜Ô ÷!ð '×,Ñ,Ó.ò 0‰ˆ
�Cä�\‰\œ+Ó&ñ 	!Ü˜CÔ ÷	!ä�]‰]œ:Ó&ñ 	7Ü˜C°Õ6÷	7ô ! °EÔ:ˆÜ�;‰;�vÔØ—=‘= JÒ.Ð.Ð.Ü˜vŸ~™~Ó/°Õ9ä˜v wÕ/ñ0÷	!ð !ú÷	!ð 	!ú÷	7ð 	7ús$   Ã!GÄ$GÅGÇGÇG	ÇG%	c                  óÚ   —  G d„ dt         «      } t        j                  t        «      5  t	         | «       «       d d d «       t	         | «       j                  «       «       y # 1 sw Y   Œ(xY w)Nc                   ó   — e Zd Zd„ Zd„ Zy)ú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                 ó6   — t        | d«      xr | 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·  ra  r€   rT   Ú	Estimatorr±  ¤  s   „ ò	ó	Cr€   r¸  )r   rP   rQ   r
   r>   rÉ   )r¸  s    rT   Ú#test_check_is_fitted_with_is_fittedr¹  £  sN   € ôC”Mô Cô 
�‰”~Ó	&ñ %Ü™	›Ô$÷%ä‘I“K—O‘OÓ%Õ&÷%ð %ús   ©A!Á!A*c                  óB   —  G d„ dt         «      } t         | «       «       y)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•  ra  r³  s     rT   rÉ   z>test_check_is_fitted_stateless.<locals>.StatelessEstimator.fitµ  ó   € ØˆKr€   c                 ó2   •— 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Ñ+Ó-ˆDØ %ˆDÔØˆKr€   )rÇ   r˜  r™  rÉ   rÁ  Ú__classcell__)rÆ   s   @rT   ÚStatelessEstimatorr¼  ´  s   ø„ ò	÷	ð 	r€   rÅ  N)r   r>   )rÅ  s    rT   Útest_check_is_fitted_statelessrÆ  ±  s   € ôœ]ô ô Ñ&Ó(Õ)r€   c                  óÀ  — t        j                  t        «      5  t        t        «       d d d «       t        j                  t        «      5  t        d«       d d d «       t	        «       } t        «       }	 t        j                  t        «      5  t        | «       d d d «       t        j                  t        «      5  t        |«       d d d «       d}d}t        j                  t        |¬«      5  t        | |¬«       d d d «       d}d}t        j                  t        |¬«      5  t        ||¬«       d d d «        | j                  t        «       Ž   |j                  t        «       Ž  t        | «      �J ‚t        |«      �J ‚y # 1 sw Y   �ŒYxY w# 1 sw Y   �Œ9xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒãxY w# t        $ r J d«       ‚w xY w# 1 sw Y   ŒÎxY w# 1 sw Y   Œ¥xY w)	Nr   z&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Ë  À  sŠ  € ä	�‰”yÓ	!ñ 'ÜœÔ&÷'ä	�‰”yÓ	!ñ Ü˜Ô÷ô ‹/€CÜ
‹%€Cð?Ü�]‰]œ>Ó*ñ 	!Ü˜CÔ ÷	!ä�]‰]œ>Ó*ñ 	!Ü˜CÔ ÷	!ð .€CØ9€EÜ	�‰”z¨Ô	/ñ &Ü˜ Õ%÷&ð /€CØ&€EÜ	�‰”~¨UÔ	3ñ &Ü˜ Õ%÷&ð €C‡G�GŒZ‹\ÑØ€C‡G�GŒZ‹\Ñä˜3ÓÐ'Ð'Ð'Ü˜3ÓÐ'Ð'Ñ'÷?'ñ 'ú÷ñ ú÷	!ñ 	!ú÷	!ð 	!ûäò ?Ø>Ð>Ó>ˆuð?ú÷&ð &ú÷
&ð &úsk   šFÁFÁ4F4 ÂFÂ!F4 Â:F(ÃF4 Ã-GÄ"GÆFÆFÆF%Æ F4 Æ(F1Æ-F4 Æ4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 «       t        |ddgt        ¬«      rJ ‚t        j                  t        |¬«      5  t        |ddgt        ¬«       d d d «       t        |ddgt        ¬«      rJ ‚t        j                  t        |¬«      5  t        |ddgt        ¬«       d d d «       d	|_        t        |ddg¬«      rJ ‚t        j                  t        |¬«      5  t        |ddg¬«       d d d «       t        |ddgt        ¬«      rJ ‚t        j                  t        |¬«      5  t        |ddgt        ¬«       d d d «       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        ¬«       y # 1 sw Y   �ŒåxY w# 1 sw Y   �Œ¤xY w# 1 sw Y   �ŒcxY w# 1 sw Y   �Œ%xY w# 1 sw Y   ŒãxY w)Nc                   ó   — e Zd Zd„ Zy)ú4test_check_is_fitted_attributes.<locals>.MyEstimatorc                 ó   — | S r•  ra  ©r–  ry   r¼   s      rT   rÉ   z8test_check_is_fitted_attributes.<locals>.MyEstimator.fitæ  r¾  r€   N)rÇ   r˜  r™  rÉ   ra  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Ø  ä  s1  € ô”mô ð €CÙ
‹-€Cä˜#¨4°¨,Õ7Ð7Ð7Ü	�‰”~¨SÔ	1ñ 6Ü˜¨¨t¨Õ5÷6ä˜#¨4°¨,Ä3ÕGÐGÐGÜ	�‰”~¨SÔ	1ñ FÜ˜¨¨t¨ÄÕE÷Fä˜#¨4°¨,Ä3ÕGÐGÐGÜ	�‰”~¨SÔ	1ñ FÜ˜¨¨t¨ÄÕE÷Fð €C„FÜ˜#¨4°¨,Õ7Ð7Ð7Ü	�‰”~¨SÔ	1ñ 6Ü˜¨¨t¨Õ5÷6ä˜#¨4°¨,Ä3ÕGÐGÐGÜ	�‰”~¨SÔ	1ñ FÜ˜¨¨t¨ÄÕE÷Fä�c t¨T l¼sÕCÐCÐCÜ�C T¨4 L¼SÕAà€C„FÜ�c t¨T lÕ3Ð3Ð3Ü�C T¨4 LÕ1Ü�c t¨T l¼sÕCÐCÐCÜ�C T¨4 L¼SÕAÜ�c t¨T l¼sÕCÐCÐCÜ�C T¨4 L¼SÖA÷36ñ 6ú÷Fñ Fú÷Fñ Fú÷
6ñ 6ú÷Fð Fús<   ÁH8ÂIÃIÄ,IÅ5I,È8IÉIÉIÉI)É,I5Úwrap)ÚsingleÚlistrq  )Úidsc                 óx  — t        «       }t        j                  t        d¬«      5  t	        | | dg«      «       d d d «        |j
                  t        «       Ž  t	        | | dg«      «       t        j                  t        d¬«      5  t	        | | dg«      «       d d d «       y # 1 sw Y   ŒkxY w# 1 sw Y   y xY w)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ñ .Ü˜™T 7 )›_Ô-÷.ð €C‡G�GŒZ‹\Ñô �C™˜w˜i›Ô)ô 
�‰”~Ð-@Ô	Añ 2Ü˜™T ; -Ó0Ô1÷2ð 2÷.ð .ú÷2ð 2ús   ¦B$ÂB0Â$B-Â0B9c                  óx  — 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«       t        j                  t        d¬«      5  t        ddgd«       ddd«       t        j                  t        d¬«      5  t        ddgt        «       «       ddd«       t        j                  t        «      5  t        ddgt        j                  d«      «       ddd«       t        j                  t        d¬«      5  t        ddgt        «       «       ddd«       y# 1 sw Y   ŒóxY w# 1 sw Y   ŒÍxY w# 1 sw Y   ŒŸxY w# 1 sw Y   ŒhxY w# 1 sw Y   yxY w)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	   ra  r€   rT   Útest_check_consistent_lengthrå    sw  € ô ˜Q˜C !  q c¨A¨3°°Ô4Ü˜a ˜V q¨! f XÐ.°°A°¸¸c¸
ÔCÜ˜Q˜C ¤r§x¡x°°£}´b·l±lÀ6Ó6JÔKÜ	�‰”zÐ)JÔ	Kñ -Ü  A ¨¨Ô,÷-ä	�‰”yÐ(:Ô	;ñ +Ü  A ¨Ô*÷+ä	�‰”yÐ(=Ô	>ñ 2Ü  A ¬«Ô1÷2ä	�‰”yÓ	!ñ 5Ü  A ¬¯©°«Ô4÷5ô 
�‰”yÐ(IÔ	Jñ AÜ  A Ô(=Ó(?Ô@÷Að A÷-ð -ú÷+ð +ú÷2ð 2ú÷5ð 5ú÷Að Aús<   Á>F Â1FÃ#FÄ"F$Å F0Æ F	ÆFÆF!Æ$F-Æ0F9z(array_namespace, device_name, dtype_namec                 ó  — t        | ||«      \  }}t        d¬«      5  t        |j                  g d¢|¬«      |j                  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        |j                  ddg|¬«      |j                  dg|¬«      «       ddd«       ddd«       y# 1 sw Y   ŒxY w# 1 sw Y   yxY w)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ï  /  sú   € ô & o°{ÀJÓO�J€Bˆä	¨4Ô	0ñ ÜØ�J‰J’y¨ˆJÓ0Ø�J‰J˜˜A˜  A ¨¨A¨Ð/¸ˆJÓ?ÚÚÜ�J‰J�¬fÔ5Ü�L‰L˜1˜a˜& 1 a &¨1¨a¨&Ð1Ó2ô	
ô �]‰]œ:Ð-NÔOñ 	Ü#Ø—
‘
˜A˜q˜6¨&�
Ó1Ø—
‘
˜A˜3 v�
Ó.ô÷	÷ð ÷	ð 	ú÷ð ús$   �BC>Â/2C2Ã!C>Ã2C;	Ã7C>Ã>Dc                  óª   — t        j                  d«      } t        j                  g d¢g d¢g d¢g«      }| j	                  |g d¢¬«      }t        |«       y )NrÙ   rÚ   r>  r?  )rÎ   rÏ   rÉ   ©r3  )rP   rÝ   rJ   rÑ   r#  r=   )rà   ry   rE  s      rT   Ú"test_check_dataframe_fit_attributerò  H  sD   € ô 
×	Ñ	˜XÓ	&€BÜ
�‰’)šYª	Ð2Ó3€AØ�<‰<˜Ò#4ˆ<Ó5€DÜ˜DÕ!r€   c                  ó   — t        j                  dt         j                  g«      } t        j                  t
        «      5  t        | «       d d d «       t        j                  d¬«       t        | «       t        j                  d¬«       t        j                  t
        «      5  t        | «       d d d «       y # 1 sw Y   ŒnxY w# 1 sw Y   y xY w)Nr   T)Úassume_finiteF)	rJ   rÑ   ÚinfrP   rQ   rR   r<   ÚsklearnÚ
set_configr“   s    rT   Útest_suppress_validationrø  R  s“   € Ü
�‰�!”R—V‘V�Ó€AÜ	�‰”zÓ	"ñ Ü˜!Ô÷ä×Ñ TÕ*Ü�aÔÜ×Ñ UÕ+Ü	�‰”zÓ	"ñ Ü˜!Ô÷ð ÷ð ú÷
ð ús   ¿B8Â#CÂ8CÃCc                  óZ  — t        j                  d«      } t        | j                  g d¢«      d¬«      }t	        |t        j                  g d¢«      «       | j                  g d¢«      j                  d«      }t        |d d¬«      }t	        |t        j                  g d¢t        ¬«      «       y )	NrÙ   rÚ   FrÛ   r   Úcategoryr"  rY   )	rP   rÝ   r   rÞ   r!   rJ   rÑ   rf   ro   )rà   ÚresÚss      rT   Útest_check_array_seriesrý  ]  sx   € ä	×	Ñ	˜XÓ	&€BÜ
�b—i‘i¢	Ó*°eÔ
<€CÜ�sœBŸH™H¢YÓ/Ô0ð 	�	‰	’/Ó"×)Ñ)¨*Ó5€AÜ
�a˜t¨uÔ
5€CÜ�sœBŸH™H¢_¼FÔCÕDr€   rZ   Ú
bool_dtype)ri   Úbooleanc                 óF  — t        j                  d«      }|j                  g d¢g d¢|j                  g d¢|¬«      dœg d¢¬«      }t	        || ¬«      }|j
                  t        j                  k(  sJ ‚t        j                  g d¢g d	¢g d
¢gt        ¬«      }t        ||«       y )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  i  s’   € ô 
×	Ñ	˜XÓ	&€Bà	�‰âÚ"Ø—I‘IÒ1¸�IÓDñ	
ò
 )ð 
ó 
€Bô ˜ %Ô(€EØ�;‰;œ"Ÿ*™*Ò$Ð$Ð$Ü—X‘XÚ	š/ª?Ð;Ä5ô€Nô ! ¨Õ7r€   c                  óŽ  — t        j                  d«      } | j                  dg d¢i«      }t        |d¬«      }|j                  t
        j                  k(  sJ ‚t        |dgdgdgg«       | j                  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«       y)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Ð3Ó	4€Bä˜ $Ô'€EØ�;‰;œ"Ÿ(™(Ò"Ð"Ð"Ü�u ˜v¨ w°°Ð7Ô8ð 
�‰Ú$ªYÑ7Ø˜�ð 
ó 
€Bô ˜ )Ô,€EØ�;‰;œ"Ÿ(™(Ò"Ð"Ð"Ü�u  1˜v¨¨1 v°°1¨vÐ6Õ7r€   c                  óö   — t        j                  d«      } | j                  d| j                  g d¢d¬«      i«      }t	        |d¬«      }|j
                  t        j                  k(  sJ ‚t        |dgdgdgg«       y)	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  š  sl   € ä	×	Ñ	˜XÓ	&€BØ	�‰�v˜rŸy™yÒ)<ÀI˜yÓNÐOÓ	P€Bä˜ $Ô'€EØ�;‰;œ"Ÿ*™*Ò$Ð$Ð$Ü�u ˜v¨ w°°Ð7Õ8r€   c                   ó   — e Zd Zd„ Zy)ÚDummyMemoryc                 ó   — |S r•  ra  )r–  Úfuncs     rT   ÚcachezDummyMemory.cache¥  s   € Øˆr€   N)rÇ   r˜  r™  r  ra  r€   rT   r  r  ¤  s   „ ór€   r  c                   ó   — e Zd Zy)ÚWrongDummyMemoryN©rÇ   r˜  r™  ra  r€   rT   r  r  ©  s   „ Ør€   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 «       t        «       }dj                  |«      }t	        j
                  t        |¬«      5  t        |«       d d d «       y # 1 sw Y   ŒTxY w# 1 sw Y   y xY w)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€OÜ˜/Ó*€FØ�?‰?˜oÒ-Ð-Ð-ä˜$Ó€FØ�?‰?Ð"Ð"Ð"ä‹M€EÜ˜%Ó €FØ�U‰?Ðˆ?ð	2ð ô 
�‰”z¨Ô	-ñ Ü�QŒ÷äÓ€Eð	3ß39±6¸%³=ð ô 
�‰”z¨Ô	-ñ Ü�UÔ÷ð ÷ð ú÷ð ús   Á<CÃC'ÃC$Ã'C0r\   c                 óî   — t        j                  d«      }t        |d¬«      5 }t        || ¬«      }t        j                  ||«      |  k(  sJ ‚|j
                  d   | k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)N)r�   r�   Úr©Ú	mmap_moder[   Ú	WRITEABLE)rJ   rb   r   r   Úmay_share_memoryr¬   )r\   ry   ÚX_memmapr·   s       rT   Útest_check_array_memmapr$  È  sp   € ä
�‰�‹€AÜ	�A Ô	%ð 4¨Ü ¨tÔ4ˆ	Ü×"Ñ" 8¨YÓ7À¸HÒEÐEÐEØ�‰˜{Ñ+¨tÒ3Ð3Ñ3÷4÷ 4ñ 4ús   £>A+Á+A4zOestimator_name, estimator_value, delegates, expected_result, expected_exceptionÚ
estimator_ÚSubEstimatorra  Ú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                 óú   — |€t        d«      }nt        d|¬«      } G d„ d«      } |«       }t        || |«       |r't        j                  |«      5   ||«       ddd«       y ||«      |k(  sJ ‚y# 1 sw Y   yxY w)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y)ú)test_estimator_has.<locals>.MockEstimatorNr  ra  r€   rT   ÚMockEstimatorr5    s   „ Ør€   r6  )r6   ÚsetattrrP   rQ   )Úestimator_nameÚestimator_valuer3  Úexpected_resultÚexpected_exceptionÚcheckr6  rÎ   s           rT   Útest_estimator_hasr=  Ñ  s‡   € ðJ ÐÜÐ2Ó3‰äÐ2¸iÔHˆ÷ñ ñ 	‹€AÜˆAˆ~˜Ô/áÜ�]‰]Ð-Ó.ñ 	Ù�!ŒH÷	ð 	ñ �Q‹x˜?Ò*Ð*Ñ*÷	ð 	ús   Á	A1Á1A:c                 ó4  — 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 «       y # 1 sw Y   y xY w)	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_negativer?  (  sŽ   € ô* 	�‰’,¢ªlºLÐIÓJ€AÙˆq‹	€AÜ�q˜"ÔÙ��A�˜˜A˜ÐÓ €AÜ�q˜"Ôà€A€d�GÙˆq‹	€AÜ	�‰”z¨Ô	5ñ "Ü˜1˜bÔ!÷"÷ "ñ "ús   Á8BÂBc                  ó>  — t        j                  d«      } d }d}t        j                  t        |¬«      5  t        | |«       d d d «       d}t        j                  t        |¬«      5  t        | |t        «       ¬«       d d d «       y # 1 sw Y   ŒFxY w# 1 sw Y   y xY w)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_errorrC  I  s…   € Ü
�‰�‹€AØ€AØ
G€CÜ	�‰”z¨Ô	-ñ Ü�!�QŒ÷ð T€CÜ	�‰”z¨Ô	-ñ ;Ü�!�QÔ"7Ó"9Õ:÷;ð ;÷	ð ú÷;ð ;ús   µBÁ'BÂBÂBc                  óÌ  —  G d„ d«      }  | «       }t        |«      t        |«      k(  sJ ‚ G d„ d«      }t        j                  t        d¬«      5  t         |«       «       ddd«        G d„ d	«      } |t        j                  d
«      «      }t        |«      d
k(  sJ ‚ |t        j                  d«      j                  d
d«      «      }t        |«      d
k(  sJ ‚y# 1 sw Y   ŒzxY w)z4Test _num_samples on different non standard input X.c                   ó   — e Zd Zd„ Zd„ Zy)úCtest_num_samples_on_non_standard_shape.<locals>.TestNonNumericShapec                 ó   — d| _         y ©N)znot numeric©rœ   r¶  s    rT   Ú__init__zLtest_num_samples_on_non_standard_shape.<locals>.TestNonNumericShape.__init__Y  ó	   € Ø)ˆD�Jr€   c                 ó   — t        g d¢«      S )NrÚ   )Úlenr¶  s    rT   Ú__len__zKtest_num_samples_on_non_standard_shape.<locals>.TestNonNumericShape.__len__\  s   € Ü’y“>Ð!r€   N)rÇ   r˜  r™  rJ  rN  ra  r€   rT   ÚTestNonNumericShaperF  X  s   „ ò	*ó	"r€   rO  c                   ó   — e Zd Zd„ Zy)úCtest_num_samples_on_non_standard_shape.<locals>.TestNoLenWeirdShapec                 ó   — d| _         y rH  rI  r¶  s    rT   rJ  zLtest_num_samples_on_non_standard_shape.<locals>.TestNoLenWeirdShape.__init__d  rK  r€   N)rÇ   r˜  r™  rJ  ra  r€   rT   ÚTestNoLenWeirdShaperQ  c  s   „ ó	*r€   rS  rä  r¾   Nc                   ó   — e Zd Zd„ Zdd„Zy)úPtest_num_samples_on_non_standard_shape.<locals>.TestNoLenNoShapeButArrayProtocolc                 ó   — || _         y r•  r—   )r–  r˜   s     rT   rJ  zYtest_num_samples_on_non_standard_shape.<locals>.TestNoLenNoShapeButArrayProtocol.__init__k  s	   € ØˆD�Fr€   Nc                 óD   — t        j                  | j                  |¬«      S )NrY   )rJ   rž   r˜   )r–  rZ   r\   s      rT   Ú	__array__zZtest_num_samples_on_non_standard_shape.<locals>.TestNoLenNoShapeButArrayProtocol.__array__n  s   € Ü—:‘:˜dŸf™f¨EÔ2Ð2r€   )NN)rÇ   r˜  r™  rJ  rX  ra  r€   rT   Ú TestNoLenNoShapeButArrayProtocolrU  j  s   „ ò	ô	3r€   rY  rW   r†   r]   )r:   rM  rP   rQ   rí   rJ   rd   r�   )rO  ry   rS  rY  s       rT   Ú&test_num_samples_on_non_standard_shaperZ  U  sÉ   € ÷"ñ "ñ 	Ó€AÜ˜‹?œc !›fÒ$Ð$Ð$÷*ñ *ô 
�‰”yÐ(IÔ	Jñ ,ÜÑ(Ó*Ô+÷,÷3ñ 3ñ 	)¬¯©°1«Ó6€AÜ˜‹?˜aÒÐÐÙ(¬¯©°1«×)=Ñ)=¸aÀÓ)CÓD€AÜ˜‹?˜aÒÐÑ÷,ð ,ús   ÁCÃC#Úconstructor_name)rÛ  rq  rÑ   ÚseriesÚpolars_seriesc                 ó`   — t        t        t        d«      «      | «      }t        |«      dk(  sJ ‚y)z*Test _num_samples on different 1d input X.rW   N)r   rÛ  Úranger:   ©r[  ry   s     rT   Útest_num_samples_on_1dra  w  s+   € ô
 	œ4¤ a£›>Ð+;Ó<€AÜ˜‹?˜aÒÐÑr€   )rÛ  rq  rÑ   ÚsparserÙ   ÚpyarrowÚpolarsc                 óN   — t        ddgddgddgg| «      }t        |«      dk(  sJ ‚y)z6Test _num_samples on different dataframe-like input X.r‡   é   r]   é   rW   é!   N)r   r:   r`  s     rT   Ú#test_num_samples_on_dataframe_likesri  €  s6   € ô 	˜Q ˜G a¨ W¨q°"¨gÐ6Ð8HÓ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«       | k(  sJ ‚y# 1 sw Y   ŒxY w)zPTest that check_scalar returns no error/warning if valid inputs are
    providedrS  Ú	test_namer]   r^   Úboth©Útarget_typeÚmin_valÚmax_valÚinclude_boundariesN)rT  rU  rV  rB   ÚnumbersÚReal)r˜   Úscalars     rT   Útest_check_scalar_validru  Š  sa   € ô 
×	 Ñ	 Ó	"ñ 	
Ü×Ñ˜gÔ&ÜØØÜŸ™ØØØ%ô
ˆ÷	
ð �QŠ;Ð‰;÷	
ð 	
ús   •5AÁ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«       t	        j
                  «      t	        |«      k(  sJ ‚t        |j
                  t        |«      «      sJ ‚y# 1 sw Y   ŒNxY w)zLTest that check_scalar returns the right error if a wrong input is
    givenrm  N)rP   rQ   Ú	ExceptionrB   r  r¶   r‘   rß   )r˜   Útarget_namern  ro  rp  rq  rÖ   Úraised_errors           rT   Útest_check_scalar_invalidr…  ›  s{   € ôl 
�‰”yÓ	!ð 
 \ÜØØØ#ØØØ1õ	
÷
ô ˆ|×!Ñ!Ó"¤c¨'£lÒ2Ð2Ð2Ü�l×(Ñ(¬$¨w«-Ô8Ð8Ñ8÷
ð 
ús   šA9Á9B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 }|€Et        j                  «       5  t        j                  dt        «       t	        | |¬«      }d d d «       n-t        j                  ||¬«      5  t	        | |¬«      }d d d «       t        |«       y # 1 sw Y   ŒxY w# 1 sw Y   Œ"xY w)NrS  )r‰  r¾   )rT  rU  rV  r   r1   rP   r¥  r   )ÚlambdasÚexpected_lambdasÚw_typeÚw_msgr‰  Úlambdas_fixeds         rT   Ú test_check_psd_eigenvalues_validr�  =  s˜   € ñ Øˆà€~Ü×$Ñ$Ó&ñ 	Ü×!Ñ! 'Ô+BÔCÜ2Ø¨ôˆM÷	ð 	ô �\‰\˜&¨Ô.ñ 	Ü2Ø¨ôˆM÷	ô
 Ð$ mÕ4÷	ð 	ú÷	ð 	ús   ›(BÁ#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                 ór   — t        j                  ||¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nr¾   )rP   rQ   r1   )r‹  Úerr_typerÖ   s      rT   Ú"test_check_psd_eigenvalues_invalidr•  x  s/   € ô 
�‰�x wÔ	/ñ (Ü˜wÔ'÷(÷ (ñ (ús   ˜-­6c                 ój  — t        d | j                  d«      ¬«      }t        t        |t        d¬«      t	        j                  d«      «       t        d| j                  d«      ¬«      }t        t        |t        d¬«      dt	        j                  d«      z  «       t        j                  t        d¬	«      5  t        | j                  d
«      | j                  d«      ¬«       d d d «       t        j                  d| j                  d«      j                  › d�«      }t        j                  t        |¬	«      5  t        | j                  d«      | j                  d«      ¬«       d d d «       | j                  d«      }| j                  d| j                  ¬«      }t        ||«      }|j                  | j                  k(  sJ ‚| j                  d«      }| j                  t        |«      «      }d|d<   d}t        j                  t        |¬	«      5  t        ||d¬«       d d d «       | j                  d«      }| j                  t        |«      «      }d}t        j                  t        |¬	«      5  t        ||d¬«       d d d «       y # 1 sw Y   �Œ¤xY w# 1 sw Y   �Œ0xY w# 1 sw Y   ŒƒxY w# 1 sw Y   y xY w)N©r^   r]   r“   Úcpu)rî  rê  r^   r  r]   z)Sample weights must be 1D array or scalarr¾   )r]   r�   rA  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€MÜ”G˜M¬b¸Ô?ÄÇÁÈÃÔLô )¨°·±¸³Ô@€MÜ”G˜M¬b¸Ô?ÀÄRÇWÁWÈQÃZÁÔPô 
�‰”zÐ)UÔ	Vñ AÜ˜RŸW™W V›_°·±¸³Õ@÷Aô �)‰)Ð-¨b¯g©g°a«j×.>Ñ.>Ð-?Ð?OÐPÓ
Q€CÜ	�‰”z¨Ô	-ñ <Ü˜RŸW™W Q›Z¨2¯7©7°6«?Õ;÷<ð 	�‰�‹€AØ—G‘G˜A R§Z¡Z�GÓ0€MÜ(¨¸Ó:€MØ×Ñ "§*¡*Ò,Ð,Ð,ð 	�‰�‹€AØ—G‘GœL¨›OÓ,€MØ€M�"ÑØA€GÜ	�‰”z¨Ô	1ñ IÜ˜]¨AÀ4ÕH÷Ið 	�‰�‹€AØ—H‘Hœ\¨!›_Ó-€MØI€GÜ	�‰”z¨Ô	1ñ MÜ˜]¨AÀeÕL÷Mð M÷5Añ Aú÷
<ñ <ú÷Ið Iú÷Mð Mús0   Â5,JÄ6,JÈJÉ+J)ÊJÊJÊJ&Ê)J2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 ‚y )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‘G˜B“K¡ ! Ñ$€MØ×"Ñ" >Ò2Ð2Ð2Ü(¨¼"¿'¹'À&»/ÔJ€MØ×Ñ˜~Ò.Ð.Ð.ä¤Ô#ô 	�‰�œcÔ"€AÜ(¨¨q¸¿¹Ô@€MØ×Ñ¤"§*¡*Ò,Ð,Ñ,r€   c                 óR  — t        | ||«      \  }}t        d¬«      5  |j                  d«      d d d…   }t        |«      r|j                  d   rJ ‚t        ||j                  d«      ¬«      }t        |«      r|j                  d   sJ ‚t        |«       d d d «       y # 1 sw Y   y xY w)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�J€BˆÜ	¨4Ô	0ñ 	(àŸ™ ›¡C a CÑ(ˆÜ˜rÔ"Ø$×*Ñ*¨>Ò:Ð:Ð:Ü,¨]¸b¿g¹gÀf»oÔNˆÜ˜rÔ"Ø ×&Ñ& ~Ò6Ð6Ð6ä# BÔ'÷	(÷ 	(ñ 	(ús   �A7BÂB&Úy_truerª   )r‡   r‡   r‡   )rª   rª   rª   c                 ó&   — t        d | «      dk(  sJ ‚y )Nr‡   )r0   ©r¢  s    rT   Ú test_check_pos_label_consistencyr¥  Ð  s   € ä'¨¨fÓ5¸Ò:Ð:Ñ:r€   c                 ó°   — t        | ||«      \  }}t        d¬«      5  |j                  ||¬«      }t        d |«      dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)NTrç  ré  r‡   )r   r   rž   r0   ©rë  rì  rí  r¢  rî  rê  rJ  s          rT   Ú*test_check_pos_label_consistency_array_apir¨  Õ  sZ   € ô & o°{ÀJÓO�J€BˆÜ	¨4Ô	0ñ <Ø�j‰j˜¨ˆjÓ/ˆÜ+¨D°#Ó6¸!Ò;Ð;Ñ;÷<÷ <ñ <ús   �%AÁA)r]   rW   r�   r™  c                 óž   — t        j                  t        d¬«      5  t        d | «       d d d «       t        d| «      dk(  sJ ‚y # 1 sw Y   ŒxY w)Núy_true takes value inr¾   rÎ   )rP   rQ   rR   r0   r¤  s    rT   Ú(test_check_pos_label_consistency_invalidr«  ã  sG   € ä	�‰”zÐ)@Ô	Añ 3Ü$ T¨6Ô2÷3ô (¨¨VÓ4¸Ò;Ð;Ñ;÷3ð 3ús   œAÁAc                 ó(  — t        | ||«      \  }}t        d¬«      5  |j                  ||¬«      }t        j                  t
        d¬«      5  t        d |«       d d d «       t        d|«      dk(  sJ ‚	 d d d «       y # 1 sw Y   Œ$xY w# 1 sw Y   y xY w)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�J€BˆÜ	¨4Ô	0ñ =Ø�j‰j˜¨ˆjÓ/ˆÜ�]‰]œ:Ð-DÔEñ 	4Ü(¨¨sÔ3÷	4ô ,¨C°Ó5¸Ò<Ð<Ñ<÷=ð =÷	4ð 	4ú÷=ð =ús#   �/BÁA<ÁBÁ<B	ÂBÂBrt   c                 óŠ   — t        j                  d«      j                  dd«      } | |«       | |«      }}t        ||«      sJ ‚y )NrA  rW   ©rJ   rd   r�   r,   ©rt   Úbaser˜   r¼   s       rT   Ú!test_allclose_dense_sparse_equalsr²  ÿ  s=   € ä�9‰9�Q‹<×Ñ  1Ó%€DÙ�4‹=™' $›-€q€AÜ! ! QÔ'Ð'Ñ'r€   c                 ó�   — t        j                  d«      j                  dd«      } | |«       | |dz   «      }}t        ||«      rJ ‚y )NrA  rW   r‡   r¯  r°  s       rT   Ú%test_allclose_dense_sparse_not_equalsr´    sE   € ä�9‰9�Q‹<×Ñ  1Ó%€DÙ�4‹=™' $¨¡(Ó+€q€AÜ% a¨Ô+Ð+Ð+Ð+r€   c                 óà   — t        j                  d«      j                  dd«      } | |dz   «      }d}t        j                  t
        |¬«      5  t        ||«       d d d «       y # 1 sw Y   y xY w)NrA  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   ÁA$Á$A-c                  ó6  — t         dddœd„«       } t        j                  t        d¬«      5   | ddd«       d d d «       t        j                  t        d¬«      5   | dddd	«       d d d «       t         ddddd
œd„«       }t        j                  t        d¬«      5   |dd«       d d d «       t         dddœd„«       }t        j                  t        d¬«      5   |dd«       d d d «       y # 1 sw Y   ŒµxY w# 1 sw Y   Œ’xY w# 1 sw Y   Œ_xY w# 1 sw Y   y xY w)Nr‡   ©r!  Údc                 ó   — y r•  ra  ©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                 ó   — y r•  ra  r»  s       rT   Úf2z=test_deprecate_positional_args_warns_for_function.<locals>.f2"  r½  r€   zPass b=2 as keyword argsc                 ó   — y r•  ra  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ñ Ù
ˆ1ˆa�Œ÷ô 
�‰”mÐ+KÔ	Lñ Ù
ˆ1ˆa��AŒ÷ô  ð�Q˜!˜qó ó  ðô 
�‰”mÐ+FÔ	Gñ Ù
ˆ1ˆaŒ÷ô  Ø˜1ó ó  ðô 
�‰”mÐ+FÔ	Gñ Ù
ˆ1ˆaŒ÷ð ÷%ð ú÷ð ú÷ð ú÷ð ús/   ¬C+ÁC7Â
DÃ
DÃ+C4Ã7D ÄDÄDc                  óš   — t        d¬«      d„ «       } t        j                  t        d¬«      5   | dd«       d d d «       y # 1 sw Y   y xY w)Nz1.1)Úversionc                 ó   — y r•  ra  r  s     rT   r¼  zEtest_deprecate_positional_args_warns_for_function_version.<locals>.f13  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Ê  2  sM   € Ü¨Ô.ñó /ðô 
�‰ÜÐLô
ñ ñ 	ˆ1ˆaŒ÷÷ ñ ús   ®
AÁA
c                  ó   —  G d„ d«      } t        j                  t        d¬«      5   | ddd«       d d d «       t        j                  t        d¬«      5   | dddd	«       d d d «        G d
„ d«      }t        j                  t        d¬«      5   |ddd«       d d d «       t        j                  t        d¬«      5   |dddd	«       d d d «       y # 1 sw Y   Œ xY w# 1 sw Y   Œ}xY w# 1 sw Y   ŒQxY w# 1 sw Y   y xY w)Nc                   ó$   — e Zd Zedddœd„«       Zy)ú:test_deprecate_positional_args_warns_for_class.<locals>.A1r‡   r¸  c                 ó   — y r•  ra  ©r–  rÎ   rÏ   r!  r¹  s        rT   rJ  zCtest_deprecate_positional_args_warns_for_class.<locals>.A1.__init__?  r—  r€   N©rÇ   r˜  r™  r5   rJ  ra  r€   rT   ÚA1rÍ  >  s   „ Ø	#Ø&'¨1ó 	ó 
$ñ	r€   rÑ  r¾  r¾   r‡   r]   rW   r¿  r�   c                   ó&   — e Zd Zeddddœd„«       Zy)ú:test_deprecate_positional_args_warns_for_class.<locals>.A2r‡   r¸  c                 ó   — y r•  ra  rÏ  s        rT   rJ  zCtest_deprecate_positional_args_warns_for_class.<locals>.A2.__init__J  r—  r€   N)r‡   r‡   rÐ  ra  r€   rT   ÚA2rÓ  I  s   „ Ø	#ð	¨!¨qó 	ó 
$ñ	r€   rÕ  )rP   r¥  rÅ  )rÑ  rÕ  s     rT   Ú.test_deprecate_positional_args_warns_for_classrÖ  =  sã   € ÷ñ ô
 
�‰”mÐ+FÔ	Gñ Ù
ˆ1ˆa�Œ÷ô 
�‰”mÐ+KÔ	Lñ Ù
ˆ1ˆa��AŒ÷÷ñ ô
 
�‰”mÐ+FÔ	Gñ Ù
ˆ1ˆa�Œ÷ô 
�‰”mÐ+KÔ	Lñ Ù
ˆ1ˆa��AŒ÷ð ÷ð ú÷ð ú÷ð ú÷ð ús/   ¦CÁCÂC(Â;C4ÃCÃC%Ã(C1Ã4C=rt  rW   c           
      óÄ  — t         j                  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 rŒJ ‚ |d
   t        |d
   |«      k(  sJ ‚t        |d   t        |d   |«      «       t        |d   t        |d   |«      «       t        |d   t        |d   |«      «       y )Nr�   r]   )r‡   r]   rW   r�   r‡   Úxxx)	rÛ  rÑ   úsparse-col2úsparse-row2ú
sparse-colú
sparse-rowú
scalar-intú
scalar-strÚNone)rh  rt  r   )rÜ  rÚ  rÝ  rÞ  rß  rÛ  rÑ   rÛ  rÙ  )rJ   rK   ÚrandnrÑ   rr   rs   r«   ru   r/   rÛ  r_  rœ   r   r!   r    )rt  ry   Ú_paramsr  Úindices_Úkeys         rT   Útest_check_method_paramsrä  U  sC  € ä
�	‰	�‰˜˜1Ó€AâÜ—‘š,Ó'Ü—}‘}¢l ^Ó4×6Ñ6Ü—}‘}¢l ^Ó4Ü—l‘l¢L >Ó2×4Ñ4Ü—l‘l¢L >Ó2ØØØñ
€Gô " !¨G¸WÔE€FØ!Ð-‰w´4¼¸a¿g¹gÀa¹jÓ8IÓ3J€HàPò +ˆØ�c‰{˜g c™lÒ*Ð*Ð*ð+ð �&‰>œ^¨G°F©O¸XÓFÒFÐFÐFÜ�v˜g‘¬°w¸wÑ7GÈÓ(RÔSÜ Øˆ|Ñœn¨W°\Ñ-BÀHÓMôô !Øˆ}Ñœ~¨g°mÑ.DÀhÓOõr€   Ú	sp_format)Tr‚   rf  rè   rg  c                 ó  — t        j                  d«      }t        dd«      }|j                  j                  j                  |«      }t        || ¬«      }| du rd} t        j                  |«      sJ ‚|j                  | k(  sJ ‚t        ||«       y )NrÙ   rX   rW   r`  Trè   )rP   rÝ   r   r#  rb  Úfrom_spmatrixr   rr   r§  r„   r    )rå  rà   Úsp_matÚsdfr  s        rT   Ú"test_check_sparse_pandas_sp_formatrê  s  s�   € ô 
×	Ñ	˜XÓ	&€BÜ" 2 qÓ)€Fà
�,‰,×
Ñ
×
+Ñ
+¨FÓ
3€CÜ˜¨IÔ6€Fà�DÑàˆ	ä�;‰;�vÔÐÐØ�=‰=˜IÒ%Ð%Ð%Ü  ¨Õ0r€   c                  ó¢  — t        j                  d«      } | j                  dt        j                  ddd«      i«      }t        dd«      D ]T  }t        j                  d«      }t        j                  d«      |dd | j                  j                  |d¬«      }||d	|› �<   ŒV d
}t        j                  t        |¬«      5  t        |d¬«       ddd«       |j                  d¬«      }t        |d«      sJ ‚t        j                   «       5  t        j"                  dt        «       t        |d¬«       ddd«       y# 1 sw Y   ŒnxY w# 1 sw Y   yxY w)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¾   Tr`  rñ  rb  rS  )rP   rÝ   r#  rJ   Úlinspacer_  r›  rd   ÚarraysÚSparseArrayr¥  r¦  r   Údroprï   rT  rU  rV  )rà   r  rO  rJ  râ   s        rT   Ú,test_check_array_pd_sparse_dataframe_warningró  …  s'  € ä	×	Ñ	˜XÓ	&€Bð 
�‰�w¤§¡¨A¨q°"Ó 5Ð6Ó	7€BÜ�1�a‹[ò ˆÜ�h‰h�r‹lˆÜ—)‘)˜A“,ˆˆBˆQˆØ�i‰i×#Ñ# C°AÐ#Ó6ˆØˆˆT�!�ˆ:Šð	ð 8€CÜ	�‰”k¨Ô	-ñ ,Ü�B dÕ+÷,ð 
�‰˜ˆÓ	!€BÜ�2�xÔ Ð Ð ä	×	 Ñ	 Ó	"ñ ,Ü×Ñ˜g¤{Ô3Ü�B dÕ+÷,ð ,÷,ð ,ú÷,ð ,ús   Â>D9Ä(EÄ9EÅEzntype1, ntype2)	)Ú
longdoublerC  )rC  re   )re   Údouble)rk   rc   )rc   Úlong)Úbyterm   )Úushortrn   )rn   Úuint64)rl   rj   c                 óì   — t        j                  d«      }|j                  |j                  j	                  g d¢| d¬«      |j                  j	                  g d¢|d¬«      dœ«      }t        |ddg¬	«       y
)zWCheck that pandas.DataFrame having sparse extension arrays with mixed dtypes
    works.rÙ   ©r   r‡   r   r   ©rZ   rí  ©r‡   r   r‡   ©Úcol1Úcol2r‚   rf  r`  N)rP   rÝ   r#  rð  rñ  r   )Úntype1Úntype2rà   r  s       rT   Ú%test_check_pandas_sparse_mixed_dtypesr  Ÿ  si   € ô" 
×	Ñ	˜XÓ	&€BØ	�‰à—I‘I×)Ñ)ª)¸6ÈaÐ)ÓPØ—I‘I×)Ñ)ª)¸6ÈaÐ)ÓPñ	
ó
€Bô � 5¨% .Ö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                  |j                  j	                  g d¢| d¬«      |j                  j	                  g d¢|d¬«      dœ«      }t        |ddg¬	«      }t        j                  |j                  |«      sJ ‚y )
NrÙ   rû  r   rü  rý  rþ  r‚   rf  r`  )	rP   rÝ   r#  rð  rñ  r   rJ   Ú
issubdtyperZ   )r  r  Úexpected_subtyperà   r  rJ  s         rT   Útest_check_pandas_sparse_validr  º  s„   € ô. 
×	Ñ	˜XÓ	&€BØ	�‰à—I‘I×)Ñ)ª)¸6ÈaÐ)ÓPØ—I‘I×)Ñ)ª)¸6ÈaÐ)ÓPñ	
ó
€Bô �b¨°¨Ô
7€CÜ�=‰=˜Ÿ™Ð$4Ô5Ð5Ñ5r€   )rÛ  rq  rÑ   rÙ   Ú
sparse_csrÚ
sparse_cscc                 óL   — g d¢g d¢g}t        || «      }t        |«      dk(  sJ ‚y)z$Check _num_features for array-likes.rÚ   r>  rW   N)r   r9   r`  s     rT   Útest_num_featuresr  Ü  s.   € ò 
’IÐ€AÜ˜1Ð.Ó/€AÜ˜Ó˜qÒ Ð Ñ r€   rÚ   r   )FTF)r  g333333@g      @rÎ   rÏ   r!  )rÕ   r  ri   rµ   Údict)rÛ  rq  rÑ   r\  c                 ól  — t        | |«      } |dk(  rd}n
|dk(  rd}n|}d|› �}t        | d«      r|t        j                  d«      z  }n1t	        | d   t
        «      r|d	z  }nt	        | d   t        «      r|d
z  }t        j                  t        |¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)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  ç  sÁ   € ô 	˜1Ð.Ó/€AØ˜7Ò"Ø,ÑØ	˜XÒ	%Ø-Ñà-Ðà
?Ð@RÐ?SÐTð ô ˆq�'ÔØ”2—9‘9Ð/Ó0Ñ0‰Ü	�A�a‘Dœ#Ô	ØÐ7Ñ7‰Ü	�A�a‘Dœ$Ô	ØÐ8Ñ8ˆÜ	�‰”y¨Ô	0ñ Ü�aÔ÷÷ ñ ús   ÂB*Â*B3)r‡   rÏ   Fr  )rÕ   r  ri   rµ   c                 óª   — dt        | «      j                  › �}t        j                  t        |¬«      5  t        | «       d d d «       y # 1 sw Y   y xY w)Nr  r¾   )rß   r™  rP   rQ   rí   r9   )ry   râ   s     rT   Ú test_num_features_errors_scalarsr    sD   € àAÄ$ÀqÃ'×BVÑBVÐAWÐ
X€CÜ	�‰”y¨Ô	,ñ Ü�aÔ÷÷ ñ ús   ´A	Á	AÚnamesr¹  )zlist-intr_  ÚdefaultÚ
MultiIndexc                 ó
  — t        j                  d«      }|j                  ddgddgddgg| ¬«      }t        j                  «       5  t        j
                  dt        «       t        |«      } d	d	d	«       | �J ‚y	# 1 sw Y   ŒxY w)
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ñ  rS  N)rP   rÝ   r#  rT  rU  rV  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Ü" 1Ó%ˆ÷&ð ˆ=Ð‰=÷&ð &ús   Á&A9Á9Bzconstructor_name, minversion))rc  z13.0.0)rÙ   z1.5.0)rd  z0.18.2c                 óh   — g d¢g d¢g}g d¢}t        || ||¬«      }t        |«      }t        ||«       y)z'Test _get_features_names on dataframes.)r‡   r�   r]   )rW   rW   r†   )rì  Úcol_1Úcol_2)Úcolumn_namesr2  N)r   r7   r!   )r[  r2  r®   r3  r  Úfeature_namess         rT   Ú#test_get_feature_names_4_dataframesr(  "  s=   € ò ’yÐ!€DÚ)€GÜ	ØÐ¨WÀô
€Bô ' rÓ*€Mä�} gÕ.r€   c                  óX   — t        j                  g d¢g d¢g«      } t        | «      }|�J ‚y)z/Get feature names return None for numpy arrays.rÚ   r>  N)rJ   rÑ   r7   )ry   r  s     rT   Útest_get_feature_names_numpyr*  2  s)   € ä
�‰’)šYÐ'Ó(€AÜ˜qÓ!€EØˆ=Ð‰=r€   znames, dtypesz['int', 'str']Úpizzar  z['str', 'tuple']zstr-intz	str-tuplec                 ó  — t        j                  d«      }|j                  ddgddgddgg| ¬«      }t        j                  d|› d	�«      }t        j
                  t        |¬
«      5  t        |«      } ddd«       y# 1 sw Y   yxY w)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_dtypesr-  9  sŠ   € ô 
×	Ñ	˜XÓ	&€BØ
�‰�q˜!�f˜q !˜f q¨! fÐ-°uˆÓ=€Aä
�)‰)ð	Ø$˜Xð &?ð	?ó€Cô 
�‰”y¨Ô	,ñ &Ü" 1Ó%ˆ÷&÷ &ñ &ús   Á&A;Á;Bc                   ó"   — e Zd Zdd„Zd„ Zdd„Zy)ÚPassthroughTransformerNc                 ó"   — t        | |d¬«       | S )NT)Úreset)rE   rÐ  s      rT   rÉ   zPassthroughTransformer.fitS  s   € Ü�d˜A TÕ*Øˆr€   c                 ó   — |S r•  ra  )r–  ry   s     rT   Ú	transformz PassthroughTransformer.transformW  s   € Øˆr€   c                 ó   — t        | |«      S r•  )r.   )r–  Úinput_featuress     rT   Úget_feature_names_outz,PassthroughTransformer.get_feature_names_outZ  s   € Ü& t¨^Ó<Ð<r€   r•  )rÇ   r˜  r™  rÉ   r3  r6  ra  r€   rT   r/  r/  R  s   „ óòô=r€   r/  )r[  r'  râ   rÑ   )Úx0Úx1Úx2z*input_features should have length equal torÙ   zinput_features is not equal tord  c                 ó  — t        j                  g d¢g«      }t        || g d¢¬«      }t        «       j	                  |«      }|j                  «       }t        ||«       |dd }t        j                  t        |¬«      5  |j                  |«       ddd«       |`
| dk(  r5t        j                  t        d¬«      5  |j                  «        ddd«       yt        |j                  «       |«       y# 1 sw Y   Œ`xY w# 1 sw Y   yxY w)	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   r/  rÉ   r6  r!   rP   rQ   rR   Ún_features_in_)r[  r'  râ   ry   r×  r  Úincorrect_len_namess          rT   Útest_check_feature_names_inr=  ^  sè   € ô 	�‰’/Ð"Ó#€AÜ˜1Ð.º_ÔM€AÜ
 Ó
"×
&Ñ
& qÓ
)€Cà×%Ñ%Ó'€EÜ�u˜mÔ,à'¨¨Ð+ÐÜ	�‰”z¨Ô	-ñ 7Ø×!Ñ!Ð"5Ô6÷7ð 	ÐØ˜7Ò"Ü�]‰]œ:Ð-OÔPñ 	(Ø×%Ñ%Ô'÷	(ð 	(ô 	˜3×4Ñ4Ó6¸ÕF÷7ð 7ú÷	(ð 	(ús   Á>C/Â:C;Ã/C8Ã;Dc                  ó�   — d} t        j                  t        | ¬«      5  t        t	        «       d«       ddd«       y# 1 sw Y   yxY w)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_methodr@  |  sE   € ð 	Vð ô 
�‰”~¨WÔ	5ñ JÜÔ4Ó6Ð8HÔI÷J÷ Jñ Jús	   ž<¼AÚresponse_method)Údecision_functionÚpredict_probaÚpredictc                 ó˜   — d| › d�}t        j                  t        |¬«      5  t        t	        «       | «       ddd«       y# 1 sw Y   yxY w)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   )rA  rÖ   s     rT   Ú8test_check_response_method_not_supported_response_methodrG  …  sO   € ð BÀ/ÐARÐRSÐTð ô 
�‰”~¨WÔ	5ñ DÜÔ/Ó1°?ÔC÷D÷ Dñ Dús   ¢A Á A	c                  ól  — dg} t        | «      }d}ddg}ddj                  |«      › d�}t        j                  t        |¬«      5   t        ||«      |«       d	d	d	«       ddg} t        ||«      |«      }|dk(  sJ ‚ddg} t        | «      }g d
¢} t        ||«      |«      }|dk(  sJ ‚y	# 1 sw Y   ŒSxY w)z0Check that we can pass a list of ordered method.rC  Úmocking_datarB  rD  zD_MockEstimatorOnOffPrediction has none of the following attributes: z, rF  r¾   N)rB  rD  rC  )r   ÚjoinrP   rQ   rÈ  r2   )Úmethod_implementedÚmy_estimatorry   rA  rÖ   Úmethod_name_predictings         rT   Ú#test_check_response_method_list_strrN  ’  sñ   € à)Ð*ÐÜ0Ð1CÓD€Là€Að +¨IÐ6€OàNØ�9‰9�_Ó%Ð
& að	)ð ô 
�‰”~¨WÔ	5ñ AØ=Ô˜|¨_Ó=¸aÔ@÷Að +¨OÐ<€OØRÔ3°LÀ/ÓRÐSTÓUÐØ! _Ò4Ð4Ð4ð *¨9Ð5ÐÜ0Ð1CÓD€LÚG€OØRÔ3°LÀ/ÓRÐSTÓUÐØ! YÒ.Ð.Ñ.÷Að Aús   ÁB*Â*B3c                  óæ   — t        j                  d«      } t        | j                  ddg«      d¬«      }t	        j
                  ddg«      }|j                  |j                  k(  sJ ‚t        ||«       y)zRegression test for gh-25145rÙ   TFrÛ   N)rP   rÝ   r   rÞ   rJ   rÑ   rZ   r!   )rà   rû  Úexpecteds      rT   Ú#test_boolean_series_remains_booleanrQ  ¯  s]   € ä	×	Ñ	˜XÓ	&€BÜ
�b—i‘i  u Ó.¸%Ô
@€CÜ�x‰x˜˜u˜Ó&€Hà�9‰9˜Ÿ™Ò&Ð&Ð&Ü�s˜HÕ%r€   Úinput_values)r   r‡   r   r‡   r   r‡   c                 ó   — t        j                  d«      }|j                  | d¬«      }t        |dddd¬«      }t	        j
                  |j                  j                  t        j                  «      sJ ‚t        || «       y)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   rP  Úfloatingr   )rR  rà   Úinput_seriesr  s       rT   Ú!test_pandas_array_returns_ndarrayrW  ¹  sm   € ô 
×	Ñ	˜XÓ	&€BØ—8‘8˜L°�8Ó8€LÜØØØØØô€Fô �=‰=˜Ÿ™×*Ñ*¬B¯K©KÔ8Ð8Ð8Ü�F˜LÕ)r€   c                  ó‚  — t        j                  d«      } | j                  | j                  ddgd| j                  dgg| j                  ¬«      }t        d¬«      5  t        j                  t        d¬	«      5  t        |«       d
d
d
«       d
d
d
«       | j                  | j                  ddgd| j                  dgg| j                  ¬«      }t        d¬«      5  t        j                  t        d¬	«      5  t        |«       d
d
d
«       d
d
d
«       y
# 1 sw Y   Œ�xY w# 1 sw Y   Œ“xY w# 1 sw Y   Œ*xY w# 1 sw Y   y
xY w)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_finiter\  Ì  s  € ô 
×	Ñ	Ð/Ó	0€Bà�J‰J˜Ÿ™  A˜¨¨B¯F©F°A¨Ð7¸r¿z¹zˆJÓJ€EÜ	¨4Ô	0ñ Ü�]‰]œ:Ð-BÔCñ 	Ü˜Ô÷	÷ð �J‰J˜Ÿ™  A˜¨¨B¯F©F°A¨Ð7¸r¿z¹zˆJÓJ€EÜ	¨4Ô	0ñ Ü�]‰]œ:Ð-LÔMñ 	Ü˜Ô÷	÷ð ÷		ð 	ú÷ð ú÷	ð 	ú÷ð úsH   ÁDÁ7DÂDÃD5Ã4D)Ä D5ÄD	ÄDÄD&Ä)D2	Ä.D5Ä5D>zextension_dtype, regular_dtype))rÿ  ri   )r8  rg   )r0  rh   )rú  ro   Úinclude_objectc                 ój  — t        j                  d«      }|j                  |j                  g d¢|¬«      |j                  g d¢d¬«      dœ«      }|r|j                  g d¢d¬«      |d	<   |j	                  |d
   j                  | «      ¬«      }t        |d¬«      }t        |d¬«      }t        ||«       y)zKCheck pandas extension arrays give the same result as non-extension arrays.rÙ   )r‡   r   r‡   r   rY   )rA  rå   r@  r†   rg   )rÎ   r!  r»  ro   rÏ   rÎ   )rÎ   N)rP   rÝ   r#  rÞ   Úassignrf   r   r!   )Úextension_dtypeÚregular_dtyper]  rà   Ú	X_regularÚX_extensionÚX_regular_checkedÚX_extension_checkeds           rT   Ú$test_check_array_multiple_extensionsrf  Ü  s«   € ô 
×	Ñ	˜XÓ	&€BØ—‘à—‘š<¨}�Ó=Ø—‘š<¨w�Ó7ñ	
ó€Iñ ØŸ™Ò#7¸x˜ÓHˆ	�#‰à×"Ñ" Y¨s¡^×%:Ñ%:¸?Ó%KÐ"ÓL€Kä# I°TÔ:ÐÜ% k¸Ô>ÐÜÐ(Ð*=Õ>r€   r  Úoutput_format)r‚   rf  rè   c                 óš  —  | ddgddggt         j                  ¬«      }t        |d«      r/|j                  j	                  t         j
                  «      |_        n»t        |d«      r;t        |d«      r/|j                  j	                  t         j
                  «      |_        ntt        |d«      rht        |d«      r\|j                  j	                  t         j
                  «      |_        |j                  j	                  t         j
                  «      |_        t        ||¬	«      }|d
k(  rS|j                  j                  t         j
                  k(  sJ ‚|j                  j                  t         j
                  k(  sJ ‚y|j                  j                  t         j
                  k(  sJ ‚|j                  j                  t         j
                  k(  sJ ‚y)zGCheck the consistency of the indices dtype with sparse matrices/arrays.r   r‡   rY   Úoffsetsrr  rs  rt  ru  r`  rè   N)rJ   rh   rï   ri  rf   rc   rr  rt  ru  r   rZ   rs  )r  rg  ry   r·   s       rT   Ú1test_check_array_dia_to_int32_indexed_csr_csc_coorj  û  s?  € ñ 	˜1˜a˜& 1 a &Ð)´·±Ô<€Aô ˆq�)ÔØ—I‘I×$Ñ$¤R§X¡XÓ.ˆ�	Ü	��EÔ	œw q¨%Ô0Ø—‘—‘œRŸX™XÓ&ˆ�Ü	��IÔ	¤7¨1¨hÔ#7Ø—I‘I×$Ñ$¤R§X¡XÓ.ˆŒ	Ø—8‘8—?‘?¤2§8¡8Ó,ˆŒä˜A¨]Ô;€IØ˜ÒØ�}‰}×"Ñ"¤b§h¡hÒ.Ð.Ð.Ø�}‰}×"Ñ"¤b§h¡hÒ.Ð.Ñ.à× Ñ ×&Ñ&¬"¯(©(Ò2Ð2Ð2Ø×Ñ×%Ñ%¬¯©Ò1Ð1Ñ1r€   Úsequencec                 óª   — t        | «      }t        |t        j                  «      sJ ‚|j                  j
                  dk(  sJ ‚|j                  dk(  sJ ‚y )NÚOr‡   )r;   r‘   rJ   ró   rZ   rP  rî   )rk  Úouts     rT   Útest_to_object_arrayro  	  sF   € ä
˜8Ó
$€CÜ�cœ2Ÿ:™:Ô&Ð&Ð&Ø�9‰9�>‰>˜SÒ Ð Ð Ø�8‰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«      j                  d«      fg} | D ]_  \  }}|dv r)t        t	        |«      t        j
                  |«      «       Œ3t        j                  t        «      5  t	        |«       d d d «       Œa y # 1 sw Y   ŒlxY w)NÚbinary)ÚspamÚeggrr  )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   )rq  ru  rt  )	rJ   rd   r�   r!   rC   rŸ   rP   rQ   rR   )ÚEXAMPLESÚy_typer¼   s      rT   Útest_column_or_1dry  	  s&  € à	Ò*Ð+Ø	’<Ð Ø	”r—y‘y “} tÑ+Ð,Ø	’yÐ!Ø	’Ð'Ø	˜˜˜a˜S 1 #�Ð'Ø	¢)ªYÐ!7Ð8Ø	!¢I ;Ð/Ø	! Q¨ F¨Q°¨F°Q¸°FÐ#;Ð<Ø	! Q¨ F¨Q°¨F°Q¸°FÐ#;Ð<Ø	!¢I ;Ð/Ø	!¤2§9¡9¨R£=×#8Ñ#8¸Ó#AÐBð€Hð ò  ‰	ˆ�ØÐ;Ñ;Üœ|¨A›´·±¸³Õ<ä—‘œzÓ*ñ  Ü˜Q”÷ ð  ñ	 ÷ ð  ús   ÃC0Ã0C9	c                  ó^  — t         j                  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 ‚y)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   rn  s     rT   Útest_check_array_writeable_npr�  6	  s•   € ô 	�	‰	×Ñ˜xÐÓ(€Aä
�a˜e°TÔ
:€Cä×Ñ˜s AÔ&Ð&Ð&Ø�9‰9×ÒÐÐà€A‡G�GÔä
�a˜e°TÔ
:€Cä×"Ñ" 3¨Ô*Ð*Ð*Ø�9‰9×ÒÐÑr€   c                  óp  — t         j                  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 ‚y	)
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   Úmmaprn  s      rT   Útest_check_array_writeable_mmapr„  I	  s¡   € ô 	�	‰	×Ñ˜xÐÓ(€Aä$ Q°$Ô7€DÜ
�d ¸Ô
=€Cä×Ñ˜s DÔ)Ð)Ð)Ø�9‰9×ÒÐÐä$ Q°#Ô6€DÜ
�d ¸Ô
=€Cä×"Ñ" 3¨Ô-Ð-Ð-Ø�9‰9×ÒÐÑr€   c                  óÔ  — t        j                  d«      } t        j                  j	                  d¬«      }| j                  |d¬«      }t        |dd¬«      }t        j                  ||«      sJ ‚|j                  j                  sJ ‚d|j                  _	        | j                  |d¬«      }t        |dd¬«      }t        j                  ||«      rJ ‚|j                  j                  sJ ‚y)	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  rn  s       rT   Útest_check_array_writeable_dfr†  _	  sÉ   € ô 
×	Ñ	˜XÓ	&€Bä
�	‰	×Ñ˜xÐÓ(€AØ	�‰�a˜eˆÓ	$€Bä
�b˜u°dÔ
;€Cä×Ñ˜s BÔ'Ð'Ð'Ø�9‰9×ÒÐÐà€A‡G�GÔØ	�‰�a˜eˆÓ	$€Bä
�b˜u°dÔ
;€Cä×"Ñ" 3¨Ô+Ð+Ð+Ø�9‰9×ÒÐÑr€   c                  ó2  — t        j                  g d¢g d¢g«      } t        d¬«      5  t        j                  t	        | d¬«      «      sJ ‚t        j                  t        «      5  t	        | «       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nrû  rý  Trç  r`  )rr   r­   r   r§  r   rP   rQ   rí   )ÚX_sps    rT   Ú8test_check_array_on_sparse_inputs_with_array_api_enabledr‰  v	  sy   € ä�<‰<š¢IÐ.Ó/€DÜ	¨4Ô	0ñ Ü�{‰{œ; t¸4Ô@ÔAÐAÐAä�]‰]œ9Ó%ñ 	Ü˜Ô÷	÷ð ÷	ð 	ú÷ð ús#   ¨<BÁ$BÁ0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 «       y # 1 sw Y   y xY w)Nr¾   rB  r  rŠ  s      rT   Ú test_check_array_allow_nd_errorsr�  €	  s2   € ô" 
�‰”zÐ)?Ô	@ñ ,Ü�A Õ+÷,÷ ,ñ ,ús   œ3³<Ú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                  j                  d«      }d\  }}|j                  dd||f¬«      }t	        j
                  t        |¬«      5  t        || «       ddd«       y# 1 sw Y   yxY w)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“  •	  sj   € ôF �)‰)×
Ñ
 Ó
"€CØ"Ñ€IˆzØ�‰�A�q 	¨:Ð6ˆÓ7€Aä	�‰”z¨Ô	6ñ =Ü# AÐ';Ô<÷=÷ =ñ =ús   ÁA,Á,A5Úon_array©FTTF)Ú
from_dtypeF)rÑ   rÙ   rd  c                 ó  — t         j                  j                  d«      }d\  }}|j                  dd||f¬«      }|dk(  r|sy|dk(  r|j	                  t
        «      }t        ||g d¢d	d
g¬«      }t        || «      }t        |g d¢«       y)zHTest that check_categorical_features returns as expected on simple data.r   )rv  r�   rW   r{  rÑ   Nrd  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€AØ˜7Ò"©8ØØ	˜XÒ	%Ø�H‰H”S‹MˆÜØ	ØÚ)Ø#&¨ *ô		€Aô )¨Ð,@ÓA€FÜ�FÒ6Õ7r€   c                  óp   — t        j                  d«       ddlm}  t	         | g d¢g«      «      }|dk(  sJ ‚y )Nrc  r   )Úchunked_array)r_   rI  g333333Ó?rW   )rP   rÝ   rc  r›  r:   )r›  r  s     rT   Ú!test_num_samples_pa_chunked_arrayrœ  Þ	  s1   € ä
×Ñ˜	Ô"Ý%ä™-ªÐ(9Ó:Ó;€FØ�QŠ;Ð‰;r€   )÷Ú__doc__rr  r�  rT  Ú	itertoolsr   Úoperatorr   Útempfiler   ÚnumpyrJ   rP   Úscipy.sparserb  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ÚparametrizerK   rŒ   r”   r£   r±   rõ  rv   rž   r­   Ú
csr_matrixr¸   rÂ   rÌ   rÒ   rÑ   ro   r×   rã   Úfilterwarningsr	  r  r)  re   rh   r6  r<  rG  rM  rQ  r^  rc  re  Úfixturerw  rz  r|  r…  r�  r›  r®  r¹  rÆ  rË  rØ  rÛ  rq  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_arrayr?  rC  rZ  ra  ri  ru  rµ   rí   rs  Ú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  rU  ÚintegerÚunsignedintegerr  r  r  r  r_  r"  r(  r*  r-  r/  r=  r@  rG  rN  rQ  rW  r\  rf  rj  ro  ry  r�  r„  r†  r‰  r�  r‚  r“  r™  rœ  ra  r€   rT   ú<module>rÆ     s  ðÙ *ã Û 	Û Ý Ý Ý 'ã Û Ý ã Ý *Ý &Ý 'Ý 2ß FÝ .õ FÝ 2Ý ;Ý ÷÷ ÷ñ ÷
÷	÷ 	ó 	õ 7÷÷ ÷÷ ÷ ÷ ÷ ÷ ÷ ñ ò>0ò$(%ðV ‡�×ÑØˆ"�)‰)×
Ñ
˜7Ó
#Ñ%9¸'È%Ô%PÐ	Qóñ1óð1òFòò ,ð& ‡�×ÑØØ‡f�fˆe€_�r—v‘v˜{Ð+¨b¯f©f°e¨_Ð=óð ‡�×Ñ˜ B§J¡J°·±¸b¿m¹mÐ#LÓMñ/ó Nó	ð
/ð ‡�×ÑØ5à	�‰��TÐ4Ð5Ø	�‰��dÐ7Ð8Ø	�‰� $Ð(OÐPØ	�‰��kÐ#>Ð?Ø	�‰��TÐ/Ð0Ø	�‰��dÐ2Ð3Ø	�‰��dÐ2Ð3à�F‰FØØØ?ð		
ð 
�‰��QÐ,Ð-ðóð& ‡�×Ñ˜ B§J¡J°·±¸b¿m¹mÐ#LÓMñ
ó Nó'ð(
ð ‡�×Ñ˜Ò'BÓCØ‡�×Ñ˜ B§J¡J°·±¸b¿m¹mÐ#LÓMñ%1ó Nó Dð%1òP
;ð ‡�×ÑØð ˆB�H‰H�q˜"Ÿ&™&�k�]Ó#Ø!ð	
ð
 ˆB�H‰H�q˜"Ÿ&™&�k�]Ó#Ø!ð	
ð
 ˆB�H‰H�q˜"Ÿ&™&�k�]Ó#ØCð	
ð 
ˆ�‰�A�r—v‘v�;�- vÔ	.Ð0UÐVðóð$ ‡�×ÑÐ,¨t°U¨mÓ<ñGó =ó%ð&Gò)ð ‡�×ÑÐQÓRñA
ó SðA
ðH ‡�×ÑØà
ˆsˆ�c˜3�ZÐ Øˆ�‰�3˜�*˜s C˜jÐ)°Ô5Øˆ�‰�3˜�*˜s C˜jÐ)°Ô5Ø
�ˆ˜˜d�|Ð$Øˆ�‰�4˜�,  t Ð-°TÔ:ðó	ñ(ó	ð(ò-ðD ‡�×ÑØÒJóð ‡�×ÑØà
�*‰*�b—j‘jÐ	! 2§:¡:Ð.Ø	�‰�R—Z‘ZÐ Ø	�B—J‘JÐðóñ/óóð/ò:%ò*"GòJ5ò=ò()òV9ò>/ð €‡‚Ò3Ô4ñó 5ðò,Gò
Lò<%ò~'òTò  0òF'ò*ò!(òH"BðJ ‡�×ÑØ
‰Z˜‹]˜D %Ð(Ò.Ið ó ñ2óð2òAð( ‡�×ÑØ.Ù-Ó/óñó	ðò*"òò	Eð ‡�×ÑØˆr�z‰z˜2Ÿ:™:Ð&¨¯
©
°D¸)ÐDóð ‡�×Ñ˜Ð':Ó;ñ8ó <óð8ò48ò&9÷ñ ÷
	ñ 	òð6 ‡�×Ñ˜ $¨ Ó/ñ4ó 0ð4ð ‡�×ÑØUð Ù� Ð&9¸4Ð%@ÓAØØØð	
ð Ù� Ð&9¸4Ð%@ÓAØØØð	
ð á�^ RÐ*=¸tÐ)DÓEðð ˆOØØð	
ð Ù� Ð&9¸4Ð%@ÓAØÐ ØØð	
ð Ù� Ð&9¸4Ð%@ÓAØØØð	
ð Ù� Ð&8¸$Ð%?Ó@ØØØð	
ðM-ò\	ða ó 8ñr+ós8ðr+ð< ‡�×ÑØà
�
‰
Ø
�‰Ø
�ŠØ
�ŠØ
�ŠØ
�ŠØ
�ŠØ
�ŠØ
�‰Ø
�ŠØ
�ŠØ
�ŠØ
�ŠØ
�ŠØ
�Šðóñ(
"ó)ð(
"ò	;ò ðD ‡�×ÑØÒMóñ óð ð ‡�×ÑØÚGóñ ó	ð ð ‡�×Ñ˜šnÓ-ñó .ðð  ‡�×ÑØPð ØØØØØÙÐIÓJð	
ð ØØ�LŠLØØØÙÐNÓOð	
ð ØØ×ÒØØØÙÐLÓMð	
ð ØØ�DˆMØØØÙÐQÓRð	
ð ØØØØØÙÐ6Ó7ð	
ð ØØØØØÙÐ6Ó7ð	
ð ØØØØØÙÐ6Ó7ð	
ð ØØØØØÙÐ6Ó7ð	
ð ØØØØØ!ÙðMóð	
ð ØØØØØÙð#óð	
ð ØØØØØÙð#óð	
ðCmópñb9ócpðb9ð& ˜˜Ÿ™ ! Q Ó(¨$°Ð3Ø!˜Ÿ™ 1 a &Ó)¨8¨2¯8©8°Q¸°FÓ+;¸TÀ2ÐFàØˆ�‰�!�Q�ÓØØVð	ð % h b§h¡h°°1¨vÓ&6Ð8OÐQSÐTàˆ�‰�!�U� 2§:¡:Ô.Øˆ�‰�!�Q�˜rŸz™zÔ*ØØKð	"ð 	ˆ�‰�!�V� B§J¡JÔ/Øˆ�‰�!�Q�˜rŸz™zÔ*ØØKð	"ð 	Øˆ�‰�!�Q�ÓØØHð	ñ-Ð ð> ‡�×ÑØ.ÙÐ	×	 Ò	 Ó	"Ó#ÙÐ×"Ò"Ó$Ó%ð ó ð
 ‡�×ÑÐ*¨T°5¨MÓ:ñ5ó ;óð5ð4 	ØØ9ðð 	ØØ7ðð 	ØØ4ðð 	ˆ�‰�$˜� b§j¡jÔ1ØØ4ð ð 	ˆ�‰�$˜� r§z¡zÔ2ØØ4ð ñ+Ð ð: ‡�×ÑØ ÙÐ	×	"Ò	"Ó	$Ó%ÙÐ×$Ò$Ó&Ó'ð ó ñ
(óð
(ò'MòT-ð ‡�×ÑØ.Ù-Ó/óñ(ó	ð(ð ‡�×Ñ˜ Q C¨!¨Q¨°"°a°º)Â\Ð#RÓSñ;ó Tð;ð ‡�×ÑØ.Ù-Ó/óð ‡�×Ñ˜ Q C¨!¨Q¨°"°a°º)Â\Ð#RÓSñ<ó Tó	ð
<ð ‡�×Ñ˜¢I°¨u°q¸"°gÐ#>Ó?ñ<ó @ð<ð ‡�×ÑØ.Ù-Ó/óð ‡�×Ñ˜¢I°¨u°q¸"°gÐ#>Ó?ñ	=ó @ó	ð
	=ð �\‰\˜2Ÿ=™=¨"¯,ª,¸¿ºÐF€	ð ‡�×Ñ˜ R§X¡X J°Ñ$:Ó;ñ(ó <ð(ð ‡�×Ñ˜ R§X¡X J°Ñ$:Ó;ñ,ó <ð,ð ‡�×Ñ˜ IÓ.ñ%ó /ð%òò6òð0 ‡�×Ñ˜ T¨A¨q¨6 NÓ3ñó 4ðð: ‡�×Ñ˜Ò&HÓIñ1ó Jð1ò",ð4 ‡�×ÑØò
óñ
2óð
2ð ‡�×ÑØ&à	�< §¢Ð-Ø	�9˜bŸkškÐ*Ø	�9˜bŸkškÐ*Ø	�˜ŸšÐ$Ø	�'˜2Ÿ:š:Ð&Ø	�˜"Ÿ*š*Ð%Ø	�˜ŸšÐ$Ø	�˜Ÿ
š
Ð#Ø	�*˜bŸjšjÐ)Ø	�˜ŸšÐ$Ø	�'˜2×-Ò-Ð.Ù	‘8˜R×/Ò/Ð0Ù	‘(˜B×.Ò.Ð/Ù	‘˜2×-Ò-Ð.Ù	‘+˜r×1Ò1Ð2ðóò(6ó)ð(6ð ‡�×ÑØÛDóò!ó	ð!ð ‡�×ÑØãÛÛÛÙ
ˆqˆ‘C˜�8™c 1˜XÐ&ðó 	0ð ó 
ð ‡�×ÑÐ+Ó-QÓRòó Só
ðð* ‡�×Ñ˜Ó2Ó8WÐÓXòó Yðð ‡�×ÑÙÙ	‰%�‹(ƒ^‘U˜1“X˜t¡s©C j±3¹°*Ð%=Ð>Û6ð ó ò
óð
ð ‡�×ÑÙ"ÛFóò	/ó	ð	/óð ‡�×ÑÙá
ˆqˆÑ#Ð$Ù
‘:Ð	Ñ 2Ð3ðñ 
‘KÐ ð ó ò&óð&ö"	=˜]ô 	=ð ‡�×ÑÛ0á	Ó$Ñ&RÐSÙ	“?Ñ$DÐEÙ	“?Ñ$DÐEðóòGóðGó,Jð ‡�×ÑÙÓHóòDóðDó/ó:&ð ‡�×Ñ™¨1¨a°°A°q¸"¿&¹&Ð*AÓCUÐ)VÓWò*ó Xð*ð$ )òó )ðð ‡�×ÑÙ$óóð ‡�×ÑÑ)¨D°%¨=Ó9ò?ó :óð?ð* ‡�×ÑÙØ�^Ñ# nÑ4°~ÑEóð ‡�×Ñ™Ó*?Ó@ò2ó Aó	ð
2ð, ‡�×Ñ™ x r§x¡x°£{°H°B·H±H¸Q³KÐ&@ÀAÀqÀ6ÈAÈqÈ6ÐBRÐ%SÓTòó Uðó ó0ó&ó,ð. )òó )ðð ‡�×ÑÛ0ð ˆB�H‰H˜˜1�v  1˜vÐ&¨!¨Q¨°!°Q°Ð(8Ð9Ó:Ù!Ó#ñ%ð	
ð ˆB�H‰H˜˜1�v  1˜vÐ&¨!¨Q¨°!°Q°Ð(8Ð9Ó:ØÙAð	
ðóò ,ó!ð ,ð
 ‡�×ÑÙ™^Ð,ñ ‘xÐ ØˆB�IŠIñ óð	
ð ˆB�H‰H‘h¡�_¨FÔ3ØˆB�IŠIñ%óð	
ð �ˆGØˆB�IŠIñ&óð	
ó -ØˆB�IŠIñ óð	
ð-ó òB=óC ðB=ð ‡�×ÑÙ™ZÐ(ã	# TÐ*Ø
ˆQˆ�ˆÙ
‰sˆ�UÐÙð	óð ‡�×ÑÐ+Ó-JÓKò8ó Lóð8ô(r€   