Ë
    ¯ŒjÆP  ã                   ó  — d dl Zd dlZd dlZd dlZd„ Z e«        [ddl­ d dlmZ d dl	­ d dl
­ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z! de"e#e$fz  Z% ejL                  e'«      Z( ejR                  e*«        ejV                  e,«        ejZ                  e.«        ej^                  e0«        ejb                  e2«        ejf                  e4«        ejj                  e6«        ejn                  e8«        ejr                  e:«        ejv                  e<«        ejz                  e>d¬	«        ejz                  e?d
¬	«        ejz                  e@d
d
¬«        ej‚                  eB«        ej†                  eD«        ej†                  eE«        ejŒ                  eG«        ej�                  eI«        ej”                  eK«        ej˜                  eM«        ejœ                  eO«      ZOej                   e'   ZQ eReQ«      D ]ç  ZS eTeQeS«      ZU ej¬                  eU«      sŒeUZW eXeWeY«      r ej´                  eW«        eXeWe[«      r ej¸                  eW«        eXeWe]«      r ej¼                  eW«        eXeWe_«      r ejÀ                  eW«        eXeWea«      s	 eXeWeb«      r ejÆ                  eW«        eXeWed«      r ejÊ                  eW«        eXeWef«      sŒÖ ejÎ                  eW«       Œé d„ Zhd„ Zid„ Zjd„ Zkd„ Zld em«       v r- ehend«        eheod«        ehepd«        eheqd«        eherd«        ehesd «        ehetd «        eheud «        ehevd dgd gdœ«        ejevdd «        ehewd «        ehexd «        eheyd «        ehezd «        ehe{d «        ehe|d «        ehe}d «        ehe~d «        eke~d«        ehed «        ehe€d «        ehe�d «        ehead «        ehebd «        ehe‚d «        eheƒd «        ehe„d «        eje…dd «        eje†dd «        ehe‡d gd gdœ«        eheˆdd dgi«        ehe‰dd dgi«        eheŠd «        ehe‹d «        eheŒd «        ehe�d «        ejeŽdd «        eje�dd «        ehe�d «        ehe‘d «        ehe’d «        ehe“ e”d«      «        ehe• e”d«      «        ehe– e”d«      «        ehe— e”d«      «        ehe– e”d«      «        ehe˜ e”d«      «        ehe™d «        ehešd «        ehe›d «       d em«       v r$ eheœd «        ehe�d «        ehežd «        eheŸd «       e Z¡d#d„Z e¢Z£	 d#d„Z¢e¤Z¥d„ Z¤eŽZ¦e§Z¨e©Zªe«Z¬d$d„Z­d$d„Z®d„ Z¯d „ Z° G d!„ d"«      Z±	  e²«        y# e³$ r Y yw xY w)%é    Nc                  ód  ‡‡— 	 ddl m}  ddlŠddlŠˆˆfd„}	 ddl m} d}|rc	 ddlm} ‰j                  j                  t        |j                  «      d   d	«      }dD ]$  } |‰j                  j                  ||«      «       Œ& n©ˆfd„} |dd«      }	 |dd«      }
 |dd«      } |‰j                  j                  |	d«      «        |‰j                  j                  |
d«      «        |‰j                  j                  |
d«      «        |‰j                  j                  |d«      «       y	 ddl}ddl}ddl}|||fD ]  }|j!                  «        Œ y# t        $ r Y yw xY w# t        $ r d}Y �ŒSw xY w# t        $ r}t        d
«      |‚d}~ww xY w# t        $ r}t        d«      |‚d}~ww xY w)a½  Pre-load CUDA / RAPIDS shared libs from pip wheels with RTLD_GLOBAL.

    These libs ship in nvidia-*-cuNN / libcuvs-cuNN wheels, off ld.so's search
    path, so we dlopen them before the SWIG extension loads libfaiss.so. Gated
    on the `faiss._gpu_build` marker (CMake writes it only for GPU builds); the
    `_cuvs_build` marker selects the CUDA 13 cuVS variant (else CUDA 12) and
    adds the cuVS stack. Missing wheels raise a fix-it.
    é   )Ú
_gpu_buildNr   c                 ó¼   •— 	 ‰j                  | ‰j                  ¬«       y# t        $ r1}t        d‰j                  j                  | «      › d| › d�«      |‚d}~ww xY w)z9dlopen one .so with global visibility, or raise a fix-it.)Úmodezfaiss-gpu: failed to load z from u-    â€” corrupt or incomplete nvidia CUDA wheel?N)ÚCDLLÚRTLD_GLOBALÚOSErrorÚRuntimeErrorÚpathÚbasename)r   ÚeÚctypesÚoss     €€úX/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/faiss/__init__.pyÚ_loadz _preload_gpu_libs.<locals>._load"   sg   ø€ ð	Ø�K‰K˜ 6×#5Ñ#5ˆKÕ6øÜò 	ÜØ,¨R¯W©W×-=Ñ-=¸dÓ-CÐ,DÀFØ�&ÐEðGóð ðûð	ús   ƒ! ¡	Aª,AÁA)Ú_cuvs_buildTFÚlibuÆ   faiss-gpu-cuvs installed but the CUDA 13 runtime wheels are missing â€” pip install 'nvidia-cuda-runtime>=13.2,<14' 'nvidia-cublas>=13.2,<14' 'nvidia-curand>=10.3.7,<11' 'nvidia-nvjitlink>=13.2,<14')zlibcudart.so.13zlibnvJitLink.so.13zlibcublas.so.13zlibcublasLt.so.13úlibcurand.so.10c                 ó2  •— 	 t        d| z   | g¬«      }‰j                  j                  |j                  d   d«      S # t        $ rP}|j                  d«      d   j                  d«      d   j                  d«      d   }t        d|› d|› d	�«      |‚d
}~ww xY w)zMReturn the lib/ dir of an nvidia-*-cu12 wheel, or raise a
            fix-it.znvidia.)ÚfromlistÚ>r   Ú<Ú=zfaiss-gpu installed but u    is missing â€” pip install 'Ú'Nr   )Ú
__import__ÚImportErrorÚsplitr   r   ÚjoinÚ__path__)Úimport_nameÚpip_specÚmodr   Úpip_namer   s        €r   Ú_nvidia_lib_dirz*_preload_gpu_libs.<locals>._nvidia_lib_dirT   s¬   ø€ ð	Ü Ø Ñ+°{°mô�ð —7‘7—<‘< §¡¨Q¡°Ó7Ð7øô ò Ø#Ÿ>™>¨#Ó.¨qÑ1×7Ñ7¸Ó<¸QÑ?×EÑEÀcÓJÈ1ÑM�Ü"Ø.¨x¨jð 9$Ø$, :¨Qð0óð ðûðús   ƒ= ½	BÁABÂBÚcuda_runtimez"nvidia-cuda-runtime-cu12>=12.6,<13Úcublasznvidia-cublas-cu12>=12.6,<13Úcurandznvidia-curand-cu12>=10.3.7,<11zlibcudart.so.12zlibcublas.so.12zlibcublasLt.so.12r   u”   faiss-gpu-cuvs installed but the cuVS runtime wheels are missing â€” pip install 'libcuvs-cu13>=26.06,<27' --extra-index-url https://pypi.nvidia.com)Ú r   r   r   r   r   Únvidia.cu13Úcu13r   r   Úlistr    r   ÚlibcuvsÚlibraftÚlibrmmÚload_library)r   r   r   Úis_cuvsÚ_cu13Ú_libdirr   Ú_sonamer%   Ú_cudartÚ_cublasÚ_curandr-   r.   r/   Ú_modr   r   s                   @@r   Ú_preload_gpu_libsr9      s·  ù€ ðÝ ó ÛõðÝ!àˆñ ð

	Ý'à—g‘g—l‘l¤4¨¯©Ó#7¸Ñ#:¸EÓBˆGó
ˆGñ �"—'‘'—,‘,˜w¨Ó0Õ1ñ
ô	8ñ" "ØÐ@ó
ˆñ " (Ð,JÓKˆÙ! (Ð,LÓMˆÙˆb�g‰g�l‰l˜7Ð$5Ó6Ô7Ùˆb�g‰g�l‰l˜7Ð$5Ó6Ô7Ùˆb�g‰g�l‰l˜7Ð$7Ó8Ô9Ùˆb�g‰g�l‰l˜7Ð$5Ó6Ô7Øð
ÛÛÛð ˜ 'Ó*ˆØ×ÑÕñ +øôI ò Ùðûô2 ò Ø‹ðûô ò 	Üð/óð
 ðûð	ûôn ò Üð8ó
ð
 ð	ûðúsQ   „E ™E& ¤8E8 Ä0F Å	E#Å"E#Å&E5Å4E5Å8	FÆFÆFÆ	F/ÆF*Æ*F/r   )Ú*)Úclass_wrappers)ÚkminÚkmaxÚpairwise_distancesÚrandÚrandintÚlrandÚrandnÚrand_smooth_vectorsÚeval_intersectionÚnormalize_L2Ú
ResultHeapÚknnÚKmeansÚSuperKmeansÚchecksumÚmatrix_bucket_sort_inplaceÚbucket_sortÚmerge_knn_resultsÚMapInt64ToInt64Úknn_hammingÚpack_bitstringsÚunpack_bitstringsz%d.%d.%dT)Ú
class_ownsF)rR   Úforce_int64c                 óz   ‡‡— | j                   Šˆˆfd„}ˆˆfd„}t        ‰«      t        k(  r|| _         y || _         y )Nc                 ó.   •—  ‰| g|¢­Ž  |‰   g| _         y ©N©Úreferenced_objects)ÚselfÚargsÚoriginal_initÚparameter_nos     €€r   Úreplacement_initz0add_ref_in_constructor.<locals>.replacement_initü   s    ø€ Ù�dÐ"˜TÓ"Ø#'¨Ñ#5Ð"6ˆÕó    c                 ón   •—  ‰| g|¢­Ž  ‰t        |«         }|D �cg c]  }||   ‘Œ	 c}| _        y c c}w rV   )ÚlenrX   )rY   rZ   ÚpsetÚnor[   r\   s       €€r   Úreplacement_init_multiplez9add_ref_in_constructor.<locals>.replacement_init_multiple   s<   ø€ Ù�dÐ"˜TÓ"ØœC ›IÑ&ˆÙ6:Ó";±d° 4¨£8°dÑ";ˆÕùÒ";s   �2)Ú__init__ÚtypeÚdict)Ú	the_classr\   r]   rc   r[   s    `  @r   Úadd_ref_in_constructorrh   ÷   s9   ù€ ð ×&Ñ&€Mõ7õ<ô
 ˆLÓœTÒ!à6ˆ	Õà-ˆ	Õr^   c                 ód   — t        | d«      s	|g| _        y | j                  j                  |«       y ©NrX   )ÚhasattrrX   Úappend)rY   Úrefs     r   Úadd_to_referenced_objectsrn     s+   € Ü�4Ð-Ô.Ø#& %ˆÕà×Ñ×&Ñ& sÕ+r^   c                 óF   ‡‡— t        | |«      Šˆˆfd„}t        | ||«       y )Nc                 ó8   •— |‰   }t        | |«        ‰| g|¢­Ž S rV   )rn   )rY   rZ   rm   Úoriginal_methodr\   s      €€r   Úreplacement_methodz-add_ref_in_method.<locals>.replacement_method  s'   ø€ Ø�<Ñ ˆÜ! $¨Ô,Ù˜tÐ+ dÒ+Ð+r^   ©ÚgetattrÚsetattr)rg   Úmethod_namer\   rr   rq   s     ` @r   Úadd_ref_in_methodrw     s#   ù€ Ü˜i¨Ó5€Oõ,ô
 ˆI�{Ð$6Õ7r^   c                 óD   ‡— t        | |«      Šdˆfd„	}t        | ||«       y )Nc                 ó²   •— |s1t        | d«      s	|g| _        n6| j                  j                  |«       n|j                  j	                  «         ‰| ||«      S rj   )rk   rX   rl   ÚthisÚdisown)rY   rm   Úownrq   s      €r   rr   z:add_ref_in_method_explicit_own.<locals>.replacement_method"  sN   ø€ ÙÜ˜4Ð!5Ô6Ø+.¨%�Õ'à×'Ñ'×.Ñ.¨sÕ3ð �H‰H�O‰OÔÙ˜t S¨#Ó.Ð.r^   )Frs   )rg   rv   rr   rq   s      @r   Úadd_ref_in_method_explicit_ownr}     s#   ø€ ä˜i¨Ó5€Oõ	/ô ˆI�{Ð$6Õ7r^   c                 óV   ‡‡— t        t        | «      Šˆˆfd„}t        t        | |«       y )Nc                  ó,   •—  ‰| Ž }| ‰   }|g|_         |S rV   rW   )rZ   Úresultrm   Úoriginal_functionr\   s      €€r   Úreplacement_functionz1add_ref_in_function.<locals>.replacement_function4  s&   ø€ Ù" DÐ)ˆØ�<Ñ ˆØ%( EˆÔ!Øˆr^   )rt   Úthis_moduleru   )Úfunction_namer\   r‚   r�   s    ` @r   Úadd_ref_in_functionr…   0  s$   ù€ ä¤¨]Ó;Ðõô ŒK˜Ð(<Õ=r^   ÚGPU)é   r   Úprepend_transformÚ
replace_vtÚ	add_shardr‡   ÚaddIndexé   ÚSVSc                 ó’  — t        j                  |d¬«      }|j                  \  }}|| j                  k(  sJ ‚|s7t	        «       }t        | «      }|j                  |_        |j                  |_        t        j                  dd«      }t        j                  dd«      }	t        j                  ||ft         j                  ¬«      }
t        j                  ||ft         j                  ¬«      }t        | |t        |«      |t        |
«      t        |«      |t        |«      t        |	«      «	       |s|
|fS |d   |	d   |	d   |	d   d	œ}|
||fS )
NÚfloat32©Údtyper   Úuint64rŒ   Úfloat64r   r‡   ©ÚndisÚpre_transform_msÚcoarse_quantizer_msÚinvlist_scan_ms)ÚnpÚascontiguousarrayÚshapeÚdÚIVFSearchParametersÚextract_index_ivfÚnprobeÚ	max_codesÚemptyr�   Úint64Úsearch_with_parameters_cÚswig_ptr)ÚindexÚxÚkÚparamsÚoutput_statsÚnrœ   Ú	index_ivfÚnb_disÚms_per_stageÚ	distancesÚlabelsÚstatss                r   Úsearch_with_parametersr±   Š  s0  € Ü
×Ñ˜Q iÔ0€AØ�7‰7�D€A€qØ�—‘Š<Ðˆ<Ùä$Ó&ˆÜ% eÓ,ˆ	Ø!×(Ñ(ˆŒØ$×.Ñ.ˆÔÜ�X‰X�a˜Ó"€FÜ—8‘8˜A˜yÓ)€LÜ—‘˜!˜Q˜¤r§z¡zÔ2€IÜ�X‰X�q˜!�f¤B§H¡HÔ-€FÜØØ	Ü�‹Ø	Ü�ÓÜ�ÓØÜ�ÓÜ�Óô
ñ Ø˜&Ð Ð ð ˜1‘IØ ,¨Q¡Ø#/°¡?Ø+¨A™ñ	
ˆð ˜& %Ð'Ð'r^   c                 óä  — t        j                  |d¬«      }|j                  \  }}|| j                  k(  sJ ‚|s7t	        «       }t        | «      }|j                  |_        |j                  |_        t        j                  dd«      }t        j                  dd«      }	t        |«      }
t        | |t        |«      ||
|t        |«      t        |	«      «       t        |
j                  |dz   «      j                  «       }t        |d   «      }t        |
j                   |«      j                  «       }t        |
j"                  |«      j                  «       }|s|||fS |d   |	d   |	d   |	d	   d
œ}||||fS )Nr�   r�   r   r’   rŒ   r“   éÿÿÿÿr   r‡   r”   )r™   rš   r›   rœ   r�   rž   rŸ   r    r¡   ÚRangeSearchResultÚrange_search_with_parameters_cr¤   Úrev_swig_ptrÚlimsÚcopyÚintr®   r¯   )r¥   r¦   Úradiusr¨   r©   rª   rœ   r«   r¬   r­   Úresr·   ÚndÚDoutÚIoutr°   s                   r   Úrange_search_with_parametersr¿   ²  s_  € ô 	×Ñ˜Q iÔ0€AØ�7‰7�D€A€qØ�—‘Š<Ðˆ<Ùä$Ó&ˆÜ% eÓ,ˆ	Ø!×(Ñ(ˆŒØ$×.Ñ.ˆÔÜ�X‰X�a˜Ó"€FÜ—8‘8˜A˜yÓ)€LÜ
˜AÓ
€CÜ"ØØ	Ü�‹ØØØÜ�ÓÜ�Óô	ô ˜Ÿ™ ! a¡%Ó(×-Ñ-Ó/€DÜ	ˆT�"‰X‹€BÜ˜Ÿ™ rÓ*×/Ñ/Ó1€DÜ˜Ÿ
™
 BÓ'×,Ñ,Ó.€DÙØ�T˜4ÐÐð ˜1‘IØ ,¨Q¡Ø#/°¡?Ø+¨A™ñ	
ˆð �T˜4 Ð&Ð&r^   c                 ó\  — d| dfd|dfd|dfd|dfd|dffD ]Q  \  }}}	|j                   |	k7  rt        d|› d	|	› d
|j                   › �«      ‚|j                  d   rŒDt        d|› d�«      ‚ | j                  dk7  rt        d| j
                  › �«      ‚| j
                  \  }
}|j                  dk7  s|j
                  d   |k7  rt        d|› d|j
                  › �«      ‚|j
                  d   }|j
                  |
fk7  rt        d|
› d|j
                  › �«      ‚|j
                  |
fk7  rt        d|
› d|j
                  › �«      ‚|j
                  |dz   fk7  rt        d|dz   › d|j
                  › �«      ‚t        j                  dt        j                  ¬«      }t        j                  dt        j                  ¬«      }t        t        | «      |
|t        |«      |t        |«      t        |«      |t        |«      |t        |«      t        |«      «       t        |d   «      t        |d   «      fS )a†  Run one SuperKMeans iter-1+ pruned assignment pass on caller-managed state.

    All arrays must be C-contiguous. `X_tilde`, `Y_tilde`, `tau`, and `ad_coeff`
    must be float32; `assignments` must be int32. These mirror the C++ pointer
    contract, and passing another dtype (e.g. int64 assignments, numpy's default
    integer type) would otherwise reinterpret the buffer and corrupt results.

    Shapes: `X_tilde` is (n, d), `Y_tilde` is (k, d), `tau` and `assignments`
    have length n, and `ad_coeff` has length d + 1.

    Returns (total_pairs, pruned_at_gemm) for a d_prime controller.
    Mutates `tau` and `assignments` in place.
    ÚX_tilder�   ÚY_tildeÚtauÚad_coeffÚassignmentsÚint32zsuper_kmeans_assign_iteration: z	 must be z, got ÚC_CONTIGUOUSz must be C-contiguousr‡   zDsuper_kmeans_assign_iteration: X_tilde must be 2D (n, d), got shape r   z;super_kmeans_assign_iteration: Y_tilde must have shape (k, z), got r   z4super_kmeans_assign_iteration: tau must have shape (z,), got z<super_kmeans_assign_iteration: assignments must have shape (z9super_kmeans_assign_iteration: ad_coeff must have shape (r�   )r‘   Ú	TypeErrorÚflagsÚ
ValueErrorÚndimr›   r™   Úzerosr¢   Úsuper_kmeans_assign_iteration_cr¤   r¹   )rÁ   rÂ   rÃ   rÅ   Úd_primerÄ   ÚcpÚnameÚarrr‘   rª   rœ   r§   ÚtotalÚpruneds                  r   Úsuper_kmeans_assign_iterationrÔ   Þ  s  € ð" 
�G˜YÐ'Ø	�G˜YÐ'Ø	��YÐØ	�X˜yÐ)Ø	˜ WÐ-óÑˆˆc�5ð �9‰9˜ÒÜØ1°$°°yÀÀð HØ—y‘y�kð#óð ð �y‰y˜Ó(ÜØ1°$°Ð7LÐMóð ðð  ‡|�|�qÒÜðØ Ÿ™˜ð)ó
ð 	
ð �=‰=�D€A€qØ‡|�|�qÒ˜GŸM™M¨!Ñ,°Ò1ÜØIÈ!Èð MØ—=‘=�/ð#ó
ð 	
ð 	�‰�aÑ€AØ
‡y�y�Q�DÒÜØBÀ1À#ð FØ—9‘9�+ðó
ð 	
ð ×Ñ˜Q˜DÒ ÜØJÈ1È#ð NØ×$Ñ$Ð%ð'ó
ð 	
ð ‡~�~˜!˜a™%˜Ò!ÜØGÈÈAÉÀwð OØ—>‘>Ð"ð$ó
ð 	
ô �H‰H�QœbŸh™hÔ'€EÜ�X‰X�aœrŸx™xÔ(€FÜ#Ü�Ó˜1˜aÜ�Ó˜1Ü�‹”x Ó,Ø”˜(Ó# RÜ�‹œ &Ó)ôô ˆu�Q‰x‹=œ#˜f Q™i›.Ð(Ð(r^   c                 óZ   — t        «       }t        | ||«       t        |j                  «      S ©z'convert an index to a numpy uint8 array)ÚVectorIOWriterÚwrite_indexÚvector_to_arrayÚdata)r¥   Úio_flagsÚwriters      r   Úserialize_indexrÝ   2  s%   € äÓ€FÜ��v˜xÔ(Ü˜6Ÿ;™;Ó'Ð'r^   c                 óZ   — t        «       }t        | |j                  «       t        ||«      S rV   )ÚVectorIOReaderÚcopy_array_to_vectorrÚ   Ú
read_index)rÚ   rÛ   Úreaders      r   Údeserialize_indexrã   9  s%   € ÜÓ€FÜ˜˜vŸ{™{Ô+Ü�f˜hÓ'Ð'r^   c                 óX   — t        «       }t        | |«       t        |j                  «      S rÖ   )r×   Úwrite_index_binaryrÙ   rÚ   )r¥   rÜ   s     r   Úserialize_index_binaryræ   ?  s#   € äÓ€FÜ�u˜fÔ%Ü˜6Ÿ;™;Ó'Ð'r^   c                 óX   — t        «       }t        | |j                  «       t        |«      S rV   )rß   rà   rÚ   Úread_index_binary)rÚ   râ   s     r   Údeserialize_index_binaryré   F  s#   € ÜÓ€FÜ˜˜vŸ{™{Ô+Ü˜VÓ$Ð$r^   c                   ó$   — e Zd Zdefd„Zd„ Zd„ Zy)ÚTimeoutGuardÚtimeout_in_secondsc                 ó   — || _         y rV   )Útimeout)rY   rì   s     r   rd   zTimeoutGuard.__init__M  s	   € Ø)ˆ�r^   c                 óB   — t         j                  | j                  «       y rV   )ÚTimeoutCallbackÚresetrî   )rY   s    r   Ú	__enter__zTimeoutGuard.__enter__P  s   € Ü×Ñ˜dŸl™lÕ+r^   c                 ó,   — t         j                  «        y rV   )ÚPythonInterruptCallbackrñ   )rY   Úexc_typeÚ	exc_valueÚ	tracebacks       r   Ú__exit__zTimeoutGuard.__exit__S  s   € Ü×%Ñ%Õ'r^   N)Ú__name__Ú
__module__Ú__qualname__Úfloatrd   rò   rø   © r^   r   rë   rë   L  s   „ ð*¨5ó *ò,ó(r^   rë   )NF)r   )´Únumpyr™   ÚloggingÚsysÚinspectr9   ÚloaderÚfaissr;   Úfaiss.gpu_wrappersÚfaiss.array_conversionsÚfaiss.extra_wrappersr<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   ÚFAISS_VERSION_MAJORÚFAISS_VERSION_MINORÚFAISS_VERSION_PATCHÚ__version__Ú	getLoggerrù   ÚloggerÚhandle_ClusteringÚ
ClusteringÚhandle_SuperKMeansÚSuperKMeansÚhandle_Clustering1DÚClustering1DÚhandle_MatrixStatsÚMatrixStatsÚhandle_IOWriterÚIOWriterÚhandle_IOReaderÚIOReaderÚhandle_AutoTuneCriterionÚAutoTuneCriterionÚhandle_ParameterSpaceÚParameterSpaceÚ
handle_NSGÚIndexNSGÚhandle_MapLong2LongÚMapLong2LongÚhandle_IDSelectorSubsetÚIDSelectorBatchÚIDSelectorArrayÚIDSelectorBitmapÚhandle_CodeSetÚCodeSetÚhandle_Tensor2DÚTensor2DÚInt32Tensor2DÚhandle_EmbeddingÚ	EmbeddingÚhandle_LinearÚLinearÚhandle_QINCoÚQINCoÚhandle_QINCoStepÚ	QINCoStepÚ handle_shard_ivf_index_centroidsÚshard_ivf_index_centroidsÚmodulesrƒ   ÚdirÚsymbolrt   ÚobjÚisclassrg   Ú
issubclassÚIndexÚhandle_IndexÚIndexBinaryÚhandle_IndexBinaryÚVectorTransformÚhandle_VectorTransformÚ	QuantizerÚhandle_QuantizerÚIndexRowwiseMinMaxÚIndexRowwiseMinMaxFP16Úhandle_IndexRowwiseMinMaxÚSearchParametersÚhandle_SearchParametersÚ
CodePackerÚhandle_CodePackerrh   rn   rw   r}   r…   Úget_compile_optionsÚGpuIndexIVFFlatÚGpuIndexBinaryFlatÚGpuIndexFlatÚGpuIndexIVFPQÚGpuIndexIVFScalarQuantizerÚIndexIVFFlatÚIndexIVFFlatDedupÚIndexIVFFlatPanoramaÚIndexPreTransformÚ
IndexIVFPQÚIndexIVFPQRÚIndexIVFPQFastScanÚIndexIVFResidualQuantizerÚIndexIVFLocalSearchQuantizerÚ!IndexIVFResidualQuantizerFastScanÚ$IndexIVFLocalSearchQuantizerFastScanÚIndexIVFSpectralHashÚIndex2LayerÚLevel1QuantizerÚIndexIVFScalarQuantizerÚ
IndexIDMapÚIndexIDMap2Ú	IndexHNSWÚIndexShardsÚIndexBinaryShardsÚIndexRefineFlatÚIndexRefinePanoramaÚIndexRefineÚIndexBinaryIVFÚIndexBinaryFromFloatÚIndexBinaryIDMapÚIndexBinaryIDMap2ÚIndexReplicasÚIndexBinaryReplicasÚBufferedIOWriterÚBufferedIOReaderÚIDSelectorNotÚIDSelectorAndÚsliceÚIDSelectorOrÚIDSelectorXOrÚIDSelectorTranslatedÚIndexIVFIndependentQuantizerÚIndexIVFRaBitQÚIndexIVFRaBitQFastScanÚIndexIVFEDENÚIndexSVSVamanaÚIndexSVSVamanaLVQÚIndexSVSVamanaLeanVecÚIndexSVSFlatr±   r£   r¿   rµ   rÔ   rÍ   Ú
IndexProxyÚHStackInvertedListsÚConcatenatedInvertedListsÚIndexResidualQuantizerÚIndexResidualÚSearchParametersIVFr�   rÝ   rã   ræ   ré   rë   Úpost_init_hookÚ	NameErrorrý   r^   r   Ú<module>r„     s$  ðó Û Û 
Û òpñf Ô Øô õ !Ü  Ü %÷÷ ÷ ÷ ÷ ÷ ð4 ØØØðñ €ð 
ˆ×	Ñ	˜8Ó	$€à  €×  Ñ   Ô ,Ø !€× !Ñ ! +Ô .Ø "€× "Ñ " <Ô 0Ø !€× !Ñ ! +Ô .Ø €× Ñ ˜xÔ (Ø €× Ñ ˜xÔ (Ø '€× 'Ñ 'Ð(9Ô :Ø $€× $Ñ $ ^Ô 4Ø €× Ñ ˜(Ô #Ø "€× "Ñ " <Ô 0Ø &€× &Ñ & À4Õ HØ &€× &Ñ & À5Õ IØ &€× &Ñ &Ø °Eõð €× Ñ ˜gÔ &à €× Ñ ˜xÔ (Ø €× Ñ ˜}Ô -Ø €× Ñ  	Ô *Ø €× Ñ ˜VÔ $Ø €× Ñ ˜EÔ "Ø €× Ñ  	Ô *ØK˜N×KÑKØóÐ ð
 �k‰k˜(Ñ#€ñ �+Ö€FÙ
�+˜vÓ
&€Cà€w‡��sÕØˆ	Ù�i Ô'Ø'ˆN×'Ñ'¨	Ô2á�i Ô-Ø-ˆN×-Ñ-¨iÔ8á�i Ô1Ø1ˆN×1Ñ1°)Ô<á�i Ô+Ø+ˆN×+Ñ+¨IÔ6á�iÐ!3Ô4¹
ØÐ-ô9
ð 5ˆN×4Ñ4°YÔ?á�iÐ!1Ô2Ø2ˆN×2Ñ2°9Ô=á�i Õ,Ø,ˆN×,Ñ,¨YÕ7ð5 òP.ò*,ò8ò8ò$
>ð 	ÑÓ!Ñ!Ù˜?¨AÔ.ÙÐ-¨qÔ1Ù˜<¨Ô+Ù˜=¨!Ô,ÙÐ5°qÔ9á �| QÔ 'Ù Ð(¨!Ô ,Ù Ð+¨QÔ /Ù Ð(¨q°!¨f¸!¸Ñ*=Ô >Ù Ð#Ð%8¸!Ô <Ù �z 1Ô %Ù �{ AÔ &Ù Ð)¨1Ô -Ù Ð0°!Ô 4Ù Ð3°QÔ 7Ù Ð8¸!Ô <Ù Ð;¸QÔ ?Ù Ð+¨QÔ /Ù Ð3°\Ô Bá �{ AÔ &Ù �¨Ô *Ù Ð.°Ô 2Ù Ð)¨1Ô -Ù Ð-¨qÔ 1Ù �z 1Ô %Ù �{ AÔ &Ù �y !Ô $Ù �+˜{¨AÔ .Ù Ð# [°!Ô 4Ù �¨Q¨C°Q°CÑ(8Ô 9Ù Ð*¨Q°°A°¨KÔ 8Ù �{ Q¨¨A¨ KÔ 0á �~ qÔ )Ù Ð+¨QÔ /Ù Ð'¨Ô +Ù Ð(¨!Ô ,á �- ¨QÔ /Ù Ð% z°1Ô 5á Ð'¨Ô +Ù Ð'¨Ô +á �} aÔ (Ù �}¡e¨A£hÔ /Ù �|¡U¨1£XÔ .Ù �}¡e¨A£hÔ /Ù Ð+©U°1«XÔ 6á �}¡e¨A£hÔ /Ù Ð3±U¸1³XÔ >á �~ qÔ )Ù Ð-¨qÔ 1Ù �| QÔ 'àÑÓ!Ñ!Ù˜>¨1Ô-ÙÐ,¨aÔ0ÙÐ0°!Ô4Ù˜<¨Ô+ð 2Ð ó"(ðJ ">Ð ð 16ó&'ðR #@Ð òD)ðR €
Ø/Ð Ø&€à)Ð ó(ó(ò(ò%÷(ñ (ð	ÙÕøØò 	Ùð	ús   Õ3U; Õ;VÖV