Ë
    ÷Q(hx<  ã                   ó8  — d Z ddlZddlZddlZddlZddlZddlZddlZ	 ddl	Z
ddlmZ ddlmZ d ej"                  d«      z  d	k(  Z ej&                  «       d
v Z eej*                  «      Z eej.                  «      Z eej*                  «      Z eej.                  «      Zej6                  j8                  gZej6                  j<                  gZej6                  j@                  gZ!ej6                  jD                  gZ#ej6                  jH                  gZ%ej6                  jL                  gZ'ej6                  jP                  gZ) eej*                  «       ed«      k\  �rejU                  ej6                  jV                  «       ejU                  ej6                  jX                  «       e!jU                  ej6                  jZ                  «       e#jU                  ej6                  j\                  «       e%jU                  ej6                  j^                  «       e'jU                  ej6                  j`                  «       e)jU                  ej6                  jb                  «       	 ddl2m3Z3 dZ4	 ddl2m+Z+ dZ5	 ddl6m7Z7m8Z8 d„ Z:ddœd„Z;e ed«      k  re;Z<nddlm<Z< d0d„Z=e ed«      k\  r!ej6                  j|                  j~                  Z@nd„ Z@e ed«      k\  rd„ ZAd„ ZBnd„ ZCd„ ZDd „ ZEd!„ ZAd"„ ZBe ed#«      k\  r	dd$lFmGZGmHZH ndd$lmGZGmHZH d%„ ZId&„ ZJd1d'„ZKe ed(«      k  rdd)lLmMZM ndd)lNmMZM d*„ ZOd+„ ZPe
�" ee
j*                  «       ed,«      k  rd-„ ZQd/„ ZRyd.„ ZQd/„ ZRy# e$ r dZ
Y �ŒDw xY w# e$ r dZ4Y �Œ
w xY w# e$ r dZ5Y �Œw xY w# e$ r ddl9m8Z8m7Z7 Y �Œw xY w)2z°Compatibility fixes for older version of python, numpy and scipy

If you add content to this file, please give the version of the package
at which the fix is no longer needed.
é    Né   )Úparseé   )Ú_get_threadpool_controlleré   ÚPé    )Úwasm32Úwasm64z1.8)ÚsparrayTF)Ú	csr_array)Úline_search_wolfe1Úline_search_wolfe2)r   r   c                 ó   — | | k7  S ©N© )ÚXs    úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/utils/fixes.pyÚ_object_dtype_isnanr   S   s   € Ø�‰6€Mó    Úlinear)Úmethodc                ó4   — t        j                  | |fd|i|¤ŽS )NÚinterpolation)ÚnpÚ
percentile)ÚaÚqr   Úkwargss       r   Ú_percentiler    Y   s   € Ü�=‰=˜˜AÑ>¨VÐ>°vÑ>Ð>r   z1.22)r   c                 ó  — t         t        d«      k\  rMt        j                  j	                  | |d¬«      }t         t        d«      k\  r|€t        j                  |«      }|S t        j                  j	                  | |¬«      S )Nz1.9.0T)ÚaxisÚkeepdimsz1.10.999©r"   )Ú
sp_versionÚparse_versionÚscipyÚstatsÚmoder   Úravel)r   r"   r)   s      r   Ú_moder+   d   sj   € Ü”] 7Ó+Ò+Ü�{‰{×Ñ ¨°tÐÓ<ˆÜœ zÓ2Ò2ð ˆ|Ü—x‘x “~�ØˆÜ�;‰;×Ñ˜A DÐÓ)Ð)r   z1.12.0c                 óš   — d|v r|j                  d«      |d<   d|vrd|d<   t        j                  j                  j                  | |fi |¤ŽS )NÚrtolÚtolÚatolÚlegacy)Úpopr'   ÚsparseÚlinalgÚcg)ÚAÚbr   s      r   Ú_sparse_linalg_cgr7   u   sO   € Ø�VÑØ"ŸJ™J vÓ.ˆF�5‰MØ˜ÑØ%ˆF�6‰NÜ�|‰|×"Ñ"×%Ñ% a¨Ñ5¨fÑ5Ð5r   z1.11.0c                 óÎ   — | j                  |¬«      }| j                  |¬«      }|�<|j                  «       j                  «       }|j                  «       j                  «       }||fS ©Nr$   )ÚminÚmaxÚtoarrayr*   ©r   r"   Úthe_minÚthe_maxs       r   Ú_sparse_min_maxr@   ‚   s]   € Ø—%‘%˜T�%Ó"ˆØ—%‘%˜T�%Ó"ˆàÐØ—o‘oÓ'×-Ñ-Ó/ˆGØ—o‘oÓ'×-Ñ-Ó/ˆGà˜ÐÐr   c                 óÎ   — | j                  |¬«      }| j                  |¬«      }|�<|j                  «       j                  «       }|j                  «       j                  «       }||fS r9   )ÚnanminÚnanmaxr<   r*   r=   s       r   Ú_sparse_nan_min_maxrD   Œ   s]   € Ø—(‘( �(Ó%ˆØ—(‘( �(Ó%ˆàÐØ—o‘oÓ'×-Ñ-Ó/ˆGØ—o‘oÓ'×-Ñ-Ó/ˆGà˜ÐÐr   c                 ó<  — t        j                  t        j                  | j                  «      «      } t	        | «      | j
                  | j                  | j                  f| j                  ¬«      } |j                  | j
                  | j                  |   «      }||fS )N)Úshape)	r   ÚflatnonzeroÚdiffÚindptrÚtypeÚdataÚindicesrF   Úreduceat)r   ÚufuncÚmajor_indexÚvalues       r   Ú_minor_reducerQ   ™   sp   € Ü—n‘n¤R§W¡W¨Q¯X©XÓ%6Ó7ˆð
 ŒD�‹G�Q—V‘V˜QŸY™Y¨¯©Ð1¸¿¹ÔAˆØ—‘˜qŸv™v q§x¡x°Ñ'<Ó=ˆØ˜EÐ!Ð!r   c           	      ó.  — | j                   |   }|dk(  rt        d«      ‚| j                   d|z
     }|dk(  r| j                  «       n| j                  «       }|j	                  «        t        ||«      \  }}t        j                  |j                  «      |   |k  } |||   d«      ||<   |dk7  }	t        j                  |	|«      }t        j                  |	|«      }|dk(  rOt        j                  j                  |t        j                  t        |«      «      |ff| j                  d|f¬«      }
nNt        j                  j                  ||t        j                  t        |«      «      ff| j                  |df¬«      }
|
j                   j#                  «       S )Nr   ú&zero-size array to reduction operationr   )ÚdtyperF   )rF   Ú
ValueErrorÚtocscÚtocsrÚsum_duplicatesrQ   r   rH   rI   Úcompressr'   r2   Ú
coo_matrixÚzerosÚlenrT   r5   r*   )r   r"   Ú
min_or_maxÚNÚMÚmatrO   rP   Únot_fullÚmaskÚress              r   Ú_min_or_max_axisrd   £   s`  € Ø�G‰G�D‰MˆØ�Š6ÜÐEÓFÐFØ�G‰G�A˜‘HÑˆØ 1š9ˆa�g‰gŒi¨!¯'©'«)ˆØ×ÑÔÜ*¨3°
Ó;Ñˆ�UÜ—7‘7˜3Ÿ:™:Ó& {Ñ3°aÑ7ˆÙ$ U¨8¡_°aÓ8ˆˆh‰Ø˜‰zˆÜ—k‘k $¨Ó4ˆÜ—‘˜D %Ó(ˆà�1Š9Ü—,‘,×)Ñ)ØœŸ™¤# e£*Ó-¨{Ð;Ð<Ø—g‘gØ˜!�fð *ó ‰Cô —,‘,×)Ñ)Ø˜¤b§h¡h¬s°5«zÓ&:Ð;Ð<Ø—g‘gØ˜!�fð *ó ˆCð
 �u‰u�{‰{‹}Ðr   c                 ó¨  — |€¥d| j                   v rt        d«      ‚| j                  j                  d«      }| j                  dk(  r|S |j                  | j                  j                  «       «      }| j                  t        j                  | j                   «      k7  r	 |||«      }|S |dk  r|dz  }|dk(  s|dk(  rt        | ||«      S t        d«      ‚)Nr   rS   r   r   z.invalid axis, use 0 for rows, or 1 for columns)rF   rU   rT   rJ   ÚnnzÚreducerK   r*   r   Úprodrd   )r   r"   r]   ÚzeroÚms        r   Ú_sparse_min_or_maxrk   ¿   s»   € Øˆ<Ø�A—G‘G‰|Ü Ð!IÓJÐJØ—7‘7—<‘< “?ˆDØ�u‰u˜ŠzØ�Ø×!Ñ! !§&¡&§,¡,£.Ó1ˆAØ�u‰uœŸ™ §¡Ó(Ò(Ù˜t QÓ'�ØˆHØ�!Š8Ø�A‰IˆDØ�AŠI˜4 1š9Ü# A t¨ZÓ8Ð8äÐMÓNÐNr   c                 ón   — t        | |t        j                  «      t        | |t        j                  «      fS r   )rk   r   ÚminimumÚmaximum©r   r"   s     r   r@   r@   Ñ   s,   € ä˜q $¬¯
©
Ó3Ü˜q $¬¯
©
Ó3ð
ð 	
r   c                 ón   — t        | |t        j                  «      t        | |t        j                  «      fS r   )rk   r   ÚfminÚfmaxro   s     r   rD   rD   ×   s,   € ä˜q $¬¯©Ó0Ü˜q $¬¯©Ó0ð
ð 	
r   z1.25.0)ÚComplexWarningÚVisibleDeprecationWarningc                 ó¢  — t        | j                  «      j                  }t        |«      t        d«      k  r"|j                  t        j
                  ¬«      }|S t        |«      t        d«      k\  ri nddi} | j                  dd«      5   |j                  t        j
                  ¬«      j                  di |¤Ž}d d d «       |S # 1 sw Y   |S xY w)	Nz2.2)rP   Ú3ÚcopyFzfuture.no_silent_downcastingTr   )r&   Ú__version__Úbase_versionÚfillnar   ÚnanÚoption_contextÚinfer_objects)ÚpdÚframeÚ
pd_versionÚinfer_objects_kwargss       r   Ú	pd_fillnar‚   ç   s¼   € Ü˜rŸ~™~Ó.×;Ñ;€JÜ�ZÓ ¤=°Ó#7Ò7Ø—‘¤2§6¡6�Ó*ˆð €Lô	   
Ó+¬}¸SÓ/AÒA‰BÈÐPUÀð 	ð ˆR×ÑÐ=¸tÓDñ 	UØ<�E—L‘L¤r§v¡v�LÓ.×<Ñ<ÑTÐ?SÑTˆE÷	Uà€L÷	Uà€Lús   Â	1CÃCc                 óþ  — |dk(  rø|dv ró|dk(  rŠt        | j                  | j                  ft        | j                  | j
                  d   «      d¬«      }| j                  j                  |d¬«      | _        | j                  j                  |d¬«      | _        y
t        t        | j
                  «      ¬	«      }| j                  j                  |d¬«      | _        | j                  j                  |d¬«      | _        y
y
y
)a‘  Preserve indices dtype for SciPy < 1.12 when converting from DIA to CSR/CSC.

    For SciPy < 1.12, DIA arrays indices are upcasted to `np.int64` that is
    inconsistent with DIA matrices. We downcast the indices dtype to `np.int32` to
    be consistent with DIA matrices.

    The converted indices arrays are affected back inplace to the sparse container.

    Parameters
    ----------
    sparse_container : sparse container
        Sparse container to be checked.
    requested_sparse_format : str or bool
        The type of format of `sparse_container`.

    Notes
    -----
    See https://github.com/scipy/scipy/issues/19245 for more details.
    Ú	dia_array)ÚcsrÚcoor…   r   T)ÚarraysÚmaxvalÚcheck_contentsF)rw   )rˆ   N)	Ú _smallest_admissible_index_dtyperI   rL   r;   rf   rF   ÚastypeÚrowÚcol)Úsparse_containerÚoriginal_container_formatÚrequested_sparse_formatÚindex_dtypes       r   Ú_preserve_dia_indices_dtyper’   õ   s  € ð, ! KÒ/Ð4Kð Pñ 5ð # eÒ+Ü:Ø(×/Ñ/Ð1A×1IÑ1IÐJÜÐ+×/Ñ/Ð1A×1GÑ1GÈÑ1JÓKØ#ôˆKð
 (8×'?Ñ'?×'FÑ'FØ %ð (Gó (ÐÔ$ð '7×&=Ñ&=×&DÑ&DØ %ð 'Eó 'ÐÕ#ô ;ÜÐ+×1Ñ1Ó2ôˆKð $4×#7Ñ#7×#>Ñ#>¸{ÐQVÐ#>Ó#WÐÔ Ø#3×#7Ñ#7×#>Ñ#>¸{ÐQVÐ#>Ó#WÐÕ ð+5Ð/r   c                 ó(  — t        j                  t        j                  t         j                  «      j                  «      }t        j                  t        j                  t         j                  «      j                  «      }|�T|t        j                  t         j
                  «      j                  kD  rt        d|› d�«      ‚||kD  rt         j
                  S t        | t         j                  «      r| f} | D �]
  }t        |t         j                  «      st        dt        |«      › d�«      ‚t        j                  |j                  t         j                  «      st        d|j                  › d�«      ‚t        j                  |j                  t         j                  «      rŒ¬|st         j
                  c S |j                  dk(  rŒÐ|j	                  «       }|j                  «       }||k  s||kD  sŒût         j
                  c S  t         j                  S )a�  Based on input (integer) arrays `a`, determine a suitable index data
    type that can hold the data in the arrays.

    This function returns `np.int64` if it either required by `maxval` or based on the
    largest precision of the dtype of the arrays passed as argument, or by the their
    contents (when `check_contents is True`). If none of the condition requires
    `np.int64` then this function returns `np.int32`.

    Parameters
    ----------
    arrays : ndarray or tuple of ndarrays, default=()
        Input arrays whose types/contents to check.

    maxval : float, default=None
        Maximum value needed.

    check_contents : bool, default=False
        Whether to check the values in the arrays and not just their types.
        By default, check only the types.

    Returns
    -------
    dtype : {np.int32, np.int64}
        Suitable index data type (int32 or int64).
    zmaxval=z+ is to large to be represented as np.int64.z)Arrays should be of type np.ndarray, got z	 instead.zArray dtype z= is not supported for index dtype. We expect integral values.r   )r   Úint32Úiinfor:   r;   Úint64rU   Ú
isinstanceÚndarrayÚ	TypeErrorrJ   Ú
issubdtyperT   ÚintegerÚcan_castÚsize)r‡   rˆ   r‰   Úint32minÚint32maxÚarrÚminvals          r   rŠ   rŠ   $  sŠ  € ô6 �x‰xœŸ™¤§¡Ó*×.Ñ.Ó/€HÜ�x‰xœŸ™¤§¡Ó*×.Ñ.Ó/€HàÐØ”B—H‘HœRŸX™XÓ&×*Ñ*Ò*ÜØ˜&˜Ð!LÐMóð ð �HÒÜ—8‘8ˆOä�&œ"Ÿ*™*Ô%Ø�ˆàó $ˆÜ˜#œrŸz™zÔ*ÜØ;¼DÀ»I¸;ÀiÐPóð ô �}‰}˜SŸY™Y¬¯
©
Ô3ÜØ˜sŸy™y˜kð *#ð #óð ô �{‰{˜3Ÿ9™9¤b§h¡hÕ/Ù!ô —x‘x’Ø�x‰x˜1Š}ààŸ™›�ØŸ™›�Ø˜HÒ$¨°Ó(9äŸ8™8’Oð/$ô2 �8‰8€Or   z1.12)Ú	laplacianc                 ól   — 	 | j                  |d¬«       y # t        $ r | j                  |«       Y y w xY w)NrK   )Úfilter)Ú
extractallr™   )ÚtarfileÚpaths     r   Útarfile_extractallr¨   u  s7   € ð!Ø×Ñ˜4¨ÐÕ/øÜò !Ø×Ñ˜4Ö ð!ús   ‚ –3²3c                  ó   — ddl } ddl}t        «       j                  «       }t	        d„ |D «       «      }|syt        d«      }|D ]I  }|d   dk7  rŒ|j                  d«      }|j                  d	«      }|�|€ y
|dk(  sŒ:t        |«      |k  sŒI y
 y)z8Return True if in an unstable configuration for OpenBLASr   Nc              3   ó,   K  — | ]  }|d    dk(  –— Œ y­w)Úinternal_apiÚopenblasNr   )Ú.0Úinfos     r   ú	<genexpr>z6_in_unstable_openblas_configuration.<locals>.<genexpr>…  s   è ø€ ÒUÀ˜˜nÑ-°Õ;ÑUùs   ‚Fz0.3.16r«   r¬   ÚversionÚarchitectureTÚ
neoversen1)Únumpyr'   r   r®   Úanyr&   Úget)r³   r'   Úmodules_infoÚopen_blas_usedÚopenblas_arm64_stable_versionr®   Úopenblas_versionÚopenblas_architectures           r   Ú#_in_unstable_openblas_configurationr»   |  s«   € ó Ûä-Ó/×4Ñ4Ó6€LäÑUÈÔUÓU€NÙØô %2°(Ó$;Ð!Øò ˆØ�Ñ :Ò-ØØŸ8™8 IÓ.ÐØ $§¡¨Ó 8ÐØÐ#Ð'<Ð'Dáà! \Ó1ÜÐ.Ó/Ð2OÓOñ ðð r   z1.4c                óì   — t         j                  j                  d«      }|�t        | |j                  «      st        j                  | ||¬«      S t        j                  | j                  «       ||¬«      S )NÚpolars©Úindexrw   )ÚsysÚmodulesrµ   r—   Ú	DataFramer~   Úto_numpy)r   r¿   rw   Úpls       r   Ú2_create_pandas_dataframe_from_non_pandas_containerrÅ      sT   € Ü�[‰[�_‰_˜XÓ&ˆØˆ:œZ¨¨2¯<©<Ô8Ü—<‘< ¨°TÔ:Ð:ô �|‰|˜AŸJ™J›L°¸DÔAÐAr   c                ó2   — t        j                  | ||¬«      S )Nr¾   )r~   rÂ   )r   r¿   rw   s      r   rÅ   rÅ   «  s   € Ü�|‰|˜A U°Ô6Ð6r   c                  ó4   — t         j                  dk  ri S ddiS )N)é   é
   ÚslotsT)rÀ   Úversion_infor   r   r   Ú_dataclass_argsrÌ   °  s   € Ü
×Ñ˜'Ò!Øˆ	Ø�Tˆ?Ðr   )r   )r   NF)SÚ__doc__ÚplatformÚstructrÀ   r³   r   r'   Úscipy.sparse.linalgÚscipy.statsÚpandasr~   ÚImportErrorÚexternals._packaging.versionr   r&   Úparallelr   ÚcalcsizeÚ	_IS_32BITÚmachineÚ_IS_WASMrx   Ú
np_versionry   Únp_base_versionr%   Úsp_base_versionr2   Ú
csr_matrixÚCSR_CONTAINERSÚ
csc_matrixÚCSC_CONTAINERSrZ   ÚCOO_CONTAINERSÚ
lil_matrixÚLIL_CONTAINERSÚ
dok_matrixÚDOK_CONTAINERSÚ
bsr_matrixÚBSR_CONTAINERSÚ
dia_matrixÚDIA_CONTAINERSÚappendr   Ú	csc_arrayÚ	coo_arrayÚ	lil_arrayÚ	dok_arrayÚ	bsr_arrayr„   Úscipy.sparser   ÚSPARRAY_PRESENTÚSPARSE_ARRAY_PRESENTÚscipy.optimize._linesearchr   r   Úscipy.optimize.linesearchr   r    r   r+   r3   r4   r7   r@   rD   rQ   rd   rk   Únumpy.exceptionsrs   rt   r‚   r’   rŠ   Úexternals._scipy.sparse.csgraphr¢   Úscipy.sparse.csgraphr¨   r»   rÅ   rÌ   r   r   r   ú<module>rø      se  ðñó Û Û 
ã Û Û Û ðÛõ BÝ 0à��—‘ Ó$Ñ$¨Ñ*€	Øˆ8×ÑÓÐ!5Ð5€á˜2Ÿ>™>Ó*€
Ù 
× 7Ñ 7Ó8€Ù˜5×,Ñ,Ó-€
Ù 
× 7Ñ 7Ó8€ð —,‘,×)Ñ)Ð*€Ø—,‘,×)Ñ)Ð*€Ø—,‘,×)Ñ)Ð*€Ø—,‘,×)Ñ)Ð*€Ø—,‘,×)Ñ)Ð*€Ø—,‘,×)Ñ)Ð*€Ø—,‘,×)Ñ)Ð*€á�×"Ñ"Ó#¡}°UÓ';Ó;ð
 ×Ñ˜%Ÿ,™,×0Ñ0Ô1Ø×Ñ˜%Ÿ,™,×0Ñ0Ô1Ø×Ñ˜%Ÿ,™,×0Ñ0Ô1Ø×Ñ˜%Ÿ,™,×0Ñ0Ô1Ø×Ñ˜%Ÿ,™,×0Ñ0Ô1Ø×Ñ˜%Ÿ,™,×0Ñ0Ô1Ø×Ñ˜%Ÿ,™,×0Ñ0Ô1ðÝ$à€Oð!Ý&àÐð
QßQò
ð !)ô ?ð ‘˜fÓ%Ò%Ø�Jå ó	*ð ‘m HÓ-Ò-ØŸ™×+Ñ+×.Ñ.Ñò6ð ‘m HÓ-Ò-ò ó ò"òò8Oò$
ò
ð ‘˜xÓ(Ò(ßJÐJç?ò
ò+Xó^BðL ‘˜fÓ%Ò%Þ;å.ò!òðD €>‘m B§N¡NÓ3±mÀEÓ6JÒJòBó ò7ó
øðw ò Ø	ƒBðûðV ò ØƒOðûð ò !Ø Óð!ûð ò QßPÒPðQúsG    M É$M, É-M: É6N ÍM)Í(M)Í,M7Í6M7Í:NÎNÎNÎN