§
    ˜Štj¤Ð  ã                   ó  — U d dl Zd dlZd dlmZ d dlZd dlZd dlZd dlmZ d dlmZm	Z	m
Z
 d dlmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZmZ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%c m&c mZ d d
l m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2 d dl3m%c m&c m4Z4 d dl5m6Z6m7Z7m8Z8 d dl9Z:d dl;Z;d dl<m=Z=m>Z>  e2d„ ¦  «        a?ee@eAf         eBd<   dZCde@ddfd„ZDdMd„ZE ejF         ejG        ejH        ¦  «        d¬¦  «        ZIejJ        ee:jK        e:jL        e:jM        f                  eBd<    ejF         ejN        dd¬¦  «        d¬¦  «        ZOejJ        eA         eBd<   e G d„ d¦  «        ¦   «         ZP ejF         ej1        d¬ ¦  «        d!¬¦  «        ZQ G d"„ d#e(¦  «        ZR G d$„ d%eR¦  «        ZSd&ejT        d'e!ddfd(„ZUejV         W                    e7d)¬*¦  «        d&ejT        d'e!ddfd+„¦   «         ZXd'e!ddfd,„ZYd'e!ddfd-„ZZd&ejT        d'e!ddfd.„Z[d'e!ddfd/„Z\d'e!ddfd0„Z]d'e!ddfd1„Z^d'e!ddfd2„Z_d'e!ddfd3„Z`ejV         a                    d4¬*¦  «        d'e!ddfd5„¦   «         Zbd'e!ddfd6„ZcejV         d                    d7d8d9gid:d9d;iid<d=d;iid9gd9d;id>œd9gd=d;id?œd9gd9d;id=d;id@œg¦  «        d'e!d7eddfdA„¦   «         Ze e ejG        e:jL        e:jf        e:jg        eAehg¦  «        ¬B¦  «        dCee         ddfdD„¦   «         Zi e ejG        e:jL        e:jf        e:jg        eAehg¦  «        ¬B¦  «        dCee         ddfdE„¦   «         Zj e ejG        e@ekg¦  «        ¬F¦  «        dGee         ddfdH„¦   «         ZldMdI„Zmd'e!ddfdJ„Znd'e!ddfdK„Zod'e!ddfdL„ZpdS )Né    N)Ú	overrides)ÚgivenÚsettingsÚHealthCheck)ÚDictÚSetÚcastÚUnionÚDefaultDictÚAnyÚList)Ú	dataclass)ÚIDÚ
EmbeddingsÚIncludeÚIDsÚvalidate_embeddingsÚnormalize_embeddings)ÚSystem)Ú	ClientAPI)Ú
Collection)
ÚBundleÚRuleBasedStateMachineÚMultipleResultsÚruleÚ
initializeÚpreconditionÚconsumesÚrun_state_machine_as_testÚmultipleÚ	invariant)Údefaultdict)Úis_client_in_processÚNOT_CLUSTER_ONLYÚcreate_isolated_database)Úwait_for_version_increaseÚget_collection_versionc                  ó   — dS ©Nr   © r*   ó    úd/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/chromadb/test/property/test_embeddings.pyú<lambda>r-   3   s   € °A€ r+   Útracesi,  ÚkeyÚreturnc                 ó0   — t           | xx         dz  cc<   d S )Né   )r.   ©r/   s    r,   Útracer4   9   s   € å
ˆ3€K€K„K�1Ñ€K€K�K€K€Kr+   c                  ól   — t                                ¦   «         D ]\  } }t          | › d|› �¦  «         Œd S )Nz: )r.   ÚitemsÚprint)r/   Úvalues     r,   Úprint_tracesr9   >   sF   € å—l’l‘n”nð !ð !‰
ˆˆUÝ�ÐÐ˜ÐÐÑ Ô Ð Ð ð!ð !r+   Údtyper3   Údtype_shared_sté   i   )Ú	min_valueÚ	max_valueÚ	dimensionÚdimension_shared_stc                   ó"   — e Zd ZdZdZdZdZdZdS )ÚEmbeddingStateMachineStatesr   Úadd_embeddingsÚdelete_by_idsÚupdate_embeddingsÚupsert_embeddingsN)Ú__name__Ú
__module__Ú__qualname__r   rC   rD   rE   rF   r*   r+   r,   rB   rB   M   s+   € € € € € à€JØ%€NØ#€MØ+ÐØ+ÐÐÐr+   rB   T)Úwith_hnsw_paramsÚcollc            
       óø  ‡ — e Zd ZU eed<    ed¦  «        Zee         ed<   dZd'de	de
fˆ fd„Z ee¬¦  «        dej        fd„¦   «         Zed(d„¦   «         Z ee ej        e¦  «        ¬¦  «        dej        d	ee         fd„¦   «         Z e ej         ee¦  «        d¬¦  «        ¬¦  «        ded	d
fd„¦   «         Z ed„ ¦  «         e ej        eedd¬¦  «        ¬¦  «        dej        d	d
fd„¦   «         ¦   «         Z ed„ ¦  «         e ej        e ej        eej        ¦  «        dd¬¦  «        ¬¦  «        dej        d	d
fd„¦   «         ¦   «         Z e ¦   «         d(d„¦   «         Z! e ¦   «         d(d„¦   «         Z" e ¦   «         d(d„¦   «         Z# e ¦   «         d(d„¦   «         Z$ ed„ ¦  «         e ¦   «         d(d „¦   «         ¦   «         Z%d	e
fd!„Z&dej        d	d
fd"„Z'd#e(e)         d	d
fd$„Z*d%e+d	d
fd&„Z,ˆ xZ-S ))ÚEmbeddingStateMachineBaseÚ
collectionÚembedding_idsFÚclientÚ
use_searchc                 ó¬   •— t          ¦   «                              ¦   «          || _        || _        t          j                             | ¦  «        | _        d S ©N)ÚsuperÚ__init__rP   rQ   Ú
hypothesisÚstatefulÚRuleStrategyÚ_rules_strategy©ÚselfrP   rQ   Ú	__class__s      €r,   rU   z"EmbeddingStateMachineBase.__init__^   sF   ø€ Ý‰Œ×ÒÑÔÐØˆŒØ$ˆŒÝ)Ô2×?Ò?ÀÑEÔEˆÔÐÐr+   ©rN   c                 ó  — | j                              |j        |j        |j        ¬¦  «        | _        |j        | _        t          d¦  «         |                      t          j	        ¦  «         t          j        g g g g ¬¦  «        | _        d S )N)ÚnameÚmetadataÚembedding_functionÚinit©ÚidsÚ	metadatasÚ	documentsÚ
embeddings)rP   Úcreate_collectionr_   r`   ra   rN   r4   Úon_state_changerB   r   Ú
strategiesÚStateMachineRecordSetÚrecord_set_state)r[   rN   s     r,   r   z$EmbeddingStateMachineBase.initialized   sŠ   € àœ+×7Ò7Ø”ØÔ(Ø)Ô<ð 8ñ 
ô 
ˆŒð
 #-Ô"?ˆÔÝˆf‰ŒˆØ×ÒÕ8ÔCÑDÔDÐDå *Ô @Ø˜b¨B¸2ð!
ñ !
ô !
ˆÔÐÐr+   r0   Nc                 óN   — | j                              | j        j        ¦  «         d S rS   )rP   Údelete_collectionrN   r_   ©r[   s    r,   Úteardownz"EmbeddingStateMachineBase.teardowns   s#   € àŒ×%Ò% d¤oÔ&:Ñ;Ô;Ð;Ð;Ð;r+   ©ÚtargetÚ
record_setrs   c                 óî  ‡— t          d¦  «         |                      t          j        ¦  «         t	          j        |¦  «        Št          ‰d         ¦  «        dk    rt          d¦  «         t          ‰d         ¦  «                             | j	        d         ¦  «        }t          |¦  «        dk    r÷t          t          ‰d         ¦  «                             |¦  «        ¦  «        }ˆfd„|D ¦   «         }t          j        ˆfd„|D ¦   «         ‰d         rˆfd„|D ¦   «         nd ‰d	         rˆfd
„|D ¦   «         nd ‰d         rˆfd„|D ¦   «         nd ¬¦  «        } | j        j        di ‰¤Ž |                      t#          t          j        |¦  «        ¦  «         t'          |d         Ž S  | j        j        di ‰¤Ž |                      t#          t          j        ‰¦  «        ¦  «         t'          ‰d         Ž S )NrC   rd   r   Úadd_more_embeddingsc                 óF   •— g | ]}‰d                                |¦  «        ‘ŒS ©rd   )Úindex)Ú.0ÚidÚnormalized_record_sets     €r,   ú
<listcomp>z<EmbeddingStateMachineBase.add_embeddings.<locals>.<listcomp>Œ   s-   ø€ ÐPÐPÐPÀ"Ð,¨UÔ3×9Ò9¸"Ñ=Ô=ÐPÐPÐPr+   c                 ó,   •— g | ]}‰d          |         ‘ŒS rw   r*   ©ry   Úir{   s     €r,   r|   z<EmbeddingStateMachineBase.add_embeddings.<locals>.<listcomp>�   s$   ø€ ÐJÐJÐJ¸QÐ.¨uÔ5°aÔ8ÐJÐJÐJr+   re   c                 ó,   •— g | ]}‰d          |         ‘ŒS )re   r*   r~   s     €r,   r|   z<EmbeddingStateMachineBase.add_embeddings.<locals>.<listcomp>�   ó$   ø€ ÐVÐVÐVÈÐ4°[ÔAÀ!ÔDÐVÐVÐVr+   rf   c                 ó,   •— g | ]}‰d          |         ‘ŒS )rf   r*   r~   s     €r,   r|   z<EmbeddingStateMachineBase.add_embeddings.<locals>.<listcomp>“   r�   r+   rg   c                 ó,   •— g | ]}‰d          |         ‘ŒS )rg   r*   r~   s     €r,   r|   z<EmbeddingStateMachineBase.add_embeddings.<locals>.<listcomp>–   s$   ø€ ÐXÐXÐXÈ1Ð 5°lÔ CÀAÔ FÐXÐXÐXr+   rc   r*   )r4   ri   rB   rC   Ú
invariantsÚwrap_allÚlenÚsetÚintersectionrl   ÚlistÚ
differencerj   ÚNormalizedRecordSetrN   ÚaddÚ_upsert_embeddingsr	   Ú	RecordSetr    )r[   rs   rˆ   Únew_idsÚindicesÚfiltered_record_setr{   s         @r,   rC   z(EmbeddingStateMachineBase.add_embeddingsw   sE  ø€ õ
 	ÐÑÔÐØ×ÒÕ8ÔGÑHÔHÐHå@JÔ@SØñA
ô A
Ðõ Ð$ UÔ+Ñ,Ô,¨qÒ0Ð0ÝÐ'Ñ(Ô(Ð(åÐ0°Ô7Ñ8Ô8×EÒEØÔ! %Ô(ñ
ô 
ˆõ ˆ|ÑÔ˜qÒ Ð å�3Ð4°UÔ;Ñ<Ô<×GÒGÈÑUÔUÑVÔVˆGØPÐPÐPÐPÈÐPÑPÔPˆGåÔ.ØJÐJÐJÐJÀ'ÐJÑJÔJà,¨[Ô9ðÐVÐVÐVÐVÈgÐVÑVÔVÐVàà,¨[Ô9ðÐVÐVÐVÐVÈgÐVÑVÔVÐVàà,¨\Ô:ð ÐXÐXÐXÐXÐPWÐXÑXÔXÐXàðñ ô ð  ð  ˆDŒOÔÐ8Ð8Ð"7Ð8Ð8Ð8Ø×#Ò#¥D­Ô)=Ð?RÑ$SÔ$SÑTÔTÐTÝÐ0°Ô7Ð8Ð8ð  ˆDŒOÔÐ8Ð8Ð"7Ð8Ð8Ð8Ø×#Ò#¥D­Ô)=Ð?TÑ$UÔ$UÑVÔVÐVÝÐ2°5Ô9Ð:Ð:r+   r2   ©Úmin_sizerw   rd   c                 óú   ‡ — t          d¦  «         ‰                      t          j        ¦  «         ˆ fd„|D ¦   «         }‰ j                             |¬¦  «         ‰                      t          |¦  «        ¦  «         d S )Nzremove embeddingsc                 óP   •— g | ]"}‰j         d                               |¦  «        ‘Œ#S rw   )rl   rx   )ry   rz   r[   s     €r,   r|   z;EmbeddingStateMachineBase.delete_by_ids.<locals>.<listcomp>¨   s/   ø€ ÐRÐRÐRÈ˜TÔ2°5Ô9×?Ò?ÀÑCÔCÐRÐRÐRr+   rw   )r4   ri   rB   rD   rN   ÚdeleteÚ_remove_embeddingsr‡   )r[   rd   Úindices_to_removes   `  r,   rD   z'EmbeddingStateMachineBase.delete_by_ids¤   s€   ø€ åÐ!Ñ"Ô"Ð"Ø×ÒÕ8ÔFÑGÔGÐGØRÐRÐRÐRÈcÐRÑRÔRÐàŒ×Ò 3ÐÑ'Ô'Ð'Ø×Ò¥Ð$5Ñ 6Ô 6Ñ7Ô7Ð7Ð7Ð7r+   c                 ó>   — t          | j        d         ¦  «        dk    S ©Nrd   é   ©r†   rl   ro   s    r,   r-   z"EmbeddingStateMachineBase.<lambda>¯   ó   € �s 4Ô#8¸Ô#?Ñ@Ô@ÀAÒE€ r+   r›   ©Úcollection_strategyÚid_strategyr“   Úmax_size©rs   c                 ó°   — t          d¦  «         |                      t          j        ¦  «          | j        j        di |¤Ž |                      |¦  «         d S )Nzupdate embeddingsr*   )r4   ri   rB   rE   rN   Úupdater�   ©r[   rs   s     r,   rE   z+EmbeddingStateMachineBase.update_embeddings¯   ó`   € õ 	Ð!Ñ"Ô"Ð"Ø×ÒÕ8ÔJÑKÔKÐKàˆŒÔÐ,Ð, Ð,Ð,Ð,Ø×Ò 
Ñ+Ô+Ð+Ð+Ð+r+   c                 ó>   — t          | j        d         ¦  «        dk    S ©Nrd   é   rœ   ro   s    r,   r-   z"EmbeddingStateMachineBase.<lambda>À   r�   r+   c                 ó°   — t          d¦  «         |                      t          j        ¦  «          | j        j        di |¤Ž |                      |¦  «         d S )Nzupsert embeddingsr*   )r4   ri   rB   rF   rN   Úupsertr�   r¥   s     r,   rF   z+EmbeddingStateMachineBase.upsert_embeddingsÀ   r¦   r+   c                 ót   — t          j        | j        t          t          j        | j        ¦  «        ¦  «         d S rS   )r„   ÚcountrN   r	   rj   rŽ   rl   ro   s    r,   r­   zEmbeddingStateMachineBase.countÐ   s8   € åÔØŒO�T¥*Ô"6¸Ô8MÑNÔNñ	
ô 	
ð 	
ð 	
ð 	
r+   c                 ó8   — t          j        | j        ¦  «         d S rS   )r„   Úno_duplicatesrN   ro   s    r,   r¯   z'EmbeddingStateMachineBase.no_duplicatesÖ   s   € åÔ  ¤Ñ1Ô1Ð1Ð1Ð1r+   c                 ó�   — t          j        | j        t          t          j        | j        ¦  «        d| j        | j        ¬¦  «         d S )Ngffffffî?)rN   rs   Ú
min_recallra   rQ   )	r„   Úann_accuracyrN   r	   rj   rŽ   rl   ra   rQ   ro   s    r,   r²   z&EmbeddingStateMachineBase.ann_accuracyÚ   sL   € åÔØ”Ý�JÔ0°$Ô2GÑHÔHØØ#Ô6Ø”ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r+   c                 óJ  — |                       ¦   «         r!| j                             ¦   «         dk    sJ ‚d S t          t          j        | j        ¦  «        }t          j        | j        |¦  «         t          j	        | j        |¦  «         t          j
        | j        |¦  «         d S r)   )Ú_is_state_emptyrN   r­   r	   rj   rŽ   rl   r„   Úembeddings_matchÚmetadatas_matchÚdocuments_match)r[   rl   s     r,   Úfields_matchz&EmbeddingStateMachineBase.fields_matchä   sœ   € à×ÒÑ!Ô!ð 		Jà”?×(Ò(Ñ*Ô*¨aÒ/Ð/Ð/Ð/Ð/Ð/õ  $¥JÔ$8¸$Ô:OÑPÔPÐåÔ'¨¬Ð9IÑJÔJÐJÝÔ& t¤Ð8HÑIÔIÐIÝÔ& t¤Ð8HÑIÔIÐIÐIÐIr+   c                 ó*   — t          | j        ¦  «        S rS   )r#   rP   ro   s    r,   r-   z"EmbeddingStateMachineBase.<lambda>ò   s   € Õ)¨$¬+Ñ6Ô6€ r+   c                 ó`   — | j         j        }t          j        || j        g| j        ¦  «         d S rS   )rP   Ú_systemr„   Úlog_size_below_maxrN   Úhas_collection_mutated)r[   Úsystems     r,   r¼   z,EmbeddingStateMachineBase.log_size_below_maxñ   s<   € ð
 œÔ,ˆÝÔ%Ø�T”_Ð% tÔ'Bñ	
ô 	
ð 	
ð 	
ð 	
r+   c                 óH   — | j                              ¦   «         D ]}|r dS ŒdS )NFT)rl   Úvalues)r[   Úfields     r,   r´   z)EmbeddingStateMachineBase._is_state_emptyû   s9   € ØÔ*×1Ò1Ñ3Ô3ð 	ð 	ˆEØð Ø�u�uðàˆtr+   c           	      óô  — t          j        |¦  «        }t          |d         ¦  «        D �]Ì\  }}|| j        d         v �r]| j        d                              |¦  «        }|d         �|d         |         | j        d         |<   nI|d         €J ‚| j        €J ‚|                      |d         |         g¦  «        d         | j        d         |<   |d         �¡| j        d         |         }|�pt          t          t          t          t          t          t          f         f         |¦  «        }|d         |         �"|                     |d         |         ¦  «         nn|d         |         | j        d         |<   |d         �|d         |         | j        d         |<   �Œs| j        d                              |¦  «         |d         �-| j        d                              |d         |         ¦  «         nY| j        €J ‚|d         €J ‚| j        d                              |                      |d         |         g¦  «        d         ¦  «         |d         �-| j        d                              |d         |         ¦  «         n | j        d                              d ¦  «         |d         �.| j        d                              |d         |         ¦  «         �Œ¬| j        d                              d ¦  «         �ŒÎd S )Nrd   rg   rf   r   re   )r„   r…   Ú	enumeraterl   rx   ra   r	   r   Ústrr
   ÚintÚfloatr¤   Úappend)r[   rs   r{   Úidxrz   Ú
target_idxrl   s          r,   r�   z,EmbeddingStateMachineBase._upsert_embeddings  so  € Ý@JÔ@SØñA
ô A
Ðõ !Ð!6°uÔ!=Ñ>Ô>ð A	Dñ A	D‰GˆC�à�TÔ*¨5Ô1Ð1Ñ1Ø!Ô2°5Ô9×?Ò?ÀÑCÔC�
Ø(¨Ô6ÐBà-¨lÔ;¸CÔ@ð Ô)¨,Ô7¸
ÑCÐCð 1°Ô=ÐIÐIÐIØÔ2Ð>Ð>Ð>à×/Ò/Ø2°;Ô?ÀÔDÐEñô àôð Ô)¨,Ô7¸
ÑCð
 )¨Ô5ÐAð (,Ô'<¸[Ô'IÈ*Ô'UÐ$Ø'Ð3Ý+/Ý ¥¥e­Cµµe¨OÔ&<Ð!<Ô=Ð?Oñ,ô ,Ð(ð 1°Ô=¸cÔBÐNØ,×3Ò3Ø 5°kÔ BÀ3Ô Gñô ð ð ð
 !ð 2°+Ô>¸sÔCð Ô-¨kÔ:¸:ÑFð )¨Ô5ÐAà-¨kÔ:¸3Ô?ð Ô)¨+Ô6°zÑBùð
 Ô% eÔ,×3Ò3°BÑ7Ô7Ð7Ø(¨Ô6ÐBØÔ)¨,Ô7×>Ò>Ø-¨lÔ;¸CÔ@ñô ð ð ð  Ô2Ð>Ð>Ð>Ø0°Ô=ÐIÐIÐIØÔ)¨,Ô7×>Ò>Ø×/Ò/Ø2°;Ô?ÀÔDÐEñô àôñô ð ð
 )¨Ô5ÐAØÔ)¨+Ô6×=Ò=Ø-¨kÔ:¸3Ô?ñô ð ð ð Ô)¨+Ô6×=Ò=¸dÑCÔCÐCØ(¨Ô5ÐAØÔ)¨+Ô6×=Ò=Ø-¨kÔ:¸3Ô?ñô ð ñ ð Ô)¨+Ô6×=Ò=¸dÑCÔCÐCÑCðCA	Dð A	Dr+   r˜   c                 óÊ   — t          |¦  «        }|                     d¬¦  «         |D ]:}| j        d         |= | j        d         |= | j        d         |= | j        d         |= Œ;d S )NT)Úreverserd   rg   re   rf   )r‰   Úsortrl   )r[   r˜   Úindices_listr   s       r,   r—   z,EmbeddingStateMachineBase._remove_embeddingsH  sƒ   € ÝÐ-Ñ.Ô.ˆØ×Ò $ÐÑ'Ô'Ð'àð 	6ð 	6ˆAØÔ% eÔ,¨QÐ/ØÔ% lÔ3°AÐ6ØÔ% kÔ2°1Ð5ØÔ% kÔ2°1Ð5Ð5ð		6ð 	6r+   Ú	new_statec                 ó8   — |t           j        k    r	d| _        d S d S )NT)rB   r   r½   )r[   rÎ   s     r,   ri   z)EmbeddingStateMachineBase.on_state_changeR  s'   € ØÕ3Ô>Ò>Ð>Ø*.ˆDÔ'Ð'Ð'ð ?Ð>r+   ©F©r0   N).rG   rH   rI   r   Ú__annotations__r   rO   r   r½   r   ÚboolrU   r   Úcollection_strj   r   rp   r   Ú
recordsetsrŽ   r   rC   ÚstÚlistsr   r   rD   r   rE   Úone_ofÚ	safe_textrF   r!   r­   r¯   r²   r¸   r¼   r´   r�   r   rÅ   r—   rÄ   ri   Ú__classcell__©r\   s   @r,   rM   rM   Y   s&  ø€ € € € € € ØÐÐÑØ &  Ñ 7Ô 7€M�6˜"”:Ð7Ð7Ñ7Ø"ÐðFð F˜yð F°dð Fð Fð Fð Fð Fð Fð €Z˜=Ð)Ñ)Ô)ð
 ZÔ%:ð 
ð 
ð 
ñ *Ô)ð
ð ð<ð <ð <ñ „Yð<ð 
€TØØ(�:Ô(¨Ñ7Ô7ðñ ô ð';¨Ô)=ð ';À/ÐRTÔBUð ';ð ';ð ';ñ	ô ð';ðR 
€TˆhˆbŒh�x�x Ñ.Ô.¸Ð;Ñ;Ô;Ð<Ñ<Ô<ð8 ð 8¨ð 8ð 8ð 8ñ =Ô<ð8ð €\ÐEÐEÑFÔFØ	€TØ(�:Ô(Ø -Ø%ØØð	
ñ 
ô 
ðñ ô ð,¨JÔ,@ð ,ÀTð ,ð ,ð ,ñô ñ GÔFð,ð €\ÐEÐEÑFÔFØ	€TØ(�:Ô(Ø -Ø!˜œ	 -°Ô1EÑFÔFØØð	
ñ 
ô 
ðñ ô ð,¨JÔ,@ð ,ÀTð ,ð ,ð ,ñô ñ GÔFð,ð €Y�[„[ð
ð 
ð 
ñ „[ð
ð
 €Y�[„[ð2ð 2ð 2ñ „[ð2ð €Y�[„[ð
ð 
ð 
ñ „[ð
ð €Y�[„[ð
Jð 
Jð 
Jñ „[ð
Jð €\Ø6Ð6ñô ð €Y�[„[ð
ð 
ð 
ñ „[ñô ð
ð ð ð ð ð ðED¨ZÔ-Að EDÀdð EDð EDð EDð EDðN6°C¸´Hð 6Àð 6ð 6ð 6ð 6ð/¨ð /°ð /ð /ð /ð /ð /ð /ð /ð /r+   rM   c            
       óô  ‡ — e Zd ZU  ed¦  «        Zee         ed<   ddedefˆ fd„Z	 e
e¬¦  «        dej        fˆ fd„¦   «         Z
 ed	„ ¦  «         e¦   «         dd„¦   «         ¦   «         Z ee ej        e¦  «        ¬¦  «        dej        d
ee         fˆ fd„¦   «         Z e ej         ee¦  «        d¬¦  «        ¬¦  «        ded
dfˆ fd„¦   «         Z ed„ ¦  «         e ej        eedd¬¦  «        ¬¦  «        dej        d
dfˆ fd„¦   «         ¦   «         Z ed„ ¦  «         e ej        e ej        eej        ¦  «        dd¬¦  «        ¬¦  «        dej        d
dfˆ fd„¦   «         ¦   «         Zˆ xZS )ÚEmbeddingStateMachinerO   FrP   rQ   c                 óL   •— t          ¦   «                              ||¦  «         d S rS   )rT   rU   rZ   s      €r,   rU   zEmbeddingStateMachine.__init__Z  s#   ø€ Ý‰Œ×Ò˜ Ñ,Ô,Ð,Ð,Ð,r+   r]   rN   c                 ó  •— t          ¦   «                              |¦  «         t          d| j        j        d         d|j        ¦  «         d| _        t          ¦   «         | _        | j         	                    ¦   «         d         | _
        d S )Nz7[test_embeddings][initialize] Initialize collection id rz   z$ hypothesis generated collection id r   Úversion)rT   r   r7   rN   Ú_modelrz   Úlog_operation_countr‡   Úunique_ids_in_logÚ	get_modelÚcollection_version)r[   rN   r\   s     €r,   r   z EmbeddingStateMachine.initialize]  s|   ø€ å‰Œ×Ò˜:Ñ&Ô&Ð&ÝØEØŒOÔ" 4Ô(Ø2ØŒMñ		
ô 	
ð 	
ð $%ˆÔ Ý*-©%¬%ˆÔØ"&¤/×";Ò";Ñ"=Ô"=¸iÔ"HˆÔÐÐr+   c                 óX   — t            o"| j        dk    ot          | j        ¦  «        dk    S )Né
   r©   )r$   râ   r†   rã   ro   s    r,   r-   zEmbeddingStateMachine.<lambda>k  s5   € Ý Ð ð 0ØÔ(¨2Ò-ð0å�DÔ*Ñ+Ô+¨aÒ/ð r+   r0   Nc                 óˆ  — t          | j        | j        j        ¦  «        }|| j        k    sJ ‚|| j        k    r2t          d¦  «         || _        d| _        t          ¦   «         | _        d S t          d|¦  «         t          | j        | j        j        |t          ¬¦  «        }d| _        t          ¦   «         | _        || _        d S )NzT[test_embeddings][wait_for_compaction] collection version has changed, so reset to 0r   zY[test_embeddings][wait_for_compaction] wait for version to increase from current version )Úadditional_time)r'   rP   rN   r_   rå   r7   râ   r‡   rã   r&   ÚVERSION_INCREASE_WAIT_TIME)r[   Úcurrent_versionÚnew_versions      r,   Úwait_for_compactionz)EmbeddingStateMachine.wait_for_compactionj  sÜ   € õ 1°´¸d¼oÔ>RÑSÔSˆØ $Ô"9Ò9Ð9Ð9Ð9ð ˜TÔ4Ò4Ð4ÝØfñô ð ð '6ˆDÔ#à'(ˆDÔ$Ý%(¡U¤UˆDÔ"Ð"Ð"åØkØñô ð õ 4Ø”Ø”Ô$ØÝ :ð	ñ ô ˆKð ()ˆDÔ$Ý%(¡U¤UˆDÔ"Ø&1ˆDÔ#Ð#Ð#r+   rq   rs   c           	      ój  •— t          ¦   «                              |¦  «        }t          j        |¦  «        }t	          d|d         dt          |d         ¦  «        ¦  «         | xj        t          |d         ¦  «        z  c_        |d         D ]%}|| j        vr| j                             |¦  «         Œ&|S )Nz,[test_embeddings][add] Non Intersection ids rd   ú len )	rT   rC   r„   r…   r7   r†   râ   rã   rŒ   )r[   rs   Úresr{   rz   r\   s        €r,   rC   z$EmbeddingStateMachine.add_embeddings�  sÊ   ø€ õ
 ‰gŒg×$Ò$ ZÑ0Ô0ˆÝ@JÔ@SØñA
ô A
Ðõ 	Ø:Ø! %Ô(ØÝÐ% eÔ,Ñ-Ô-ñ		
ô 	
ð 	
ð 	Ð Ô ¥CÐ(=¸eÔ(DÑ$EÔ$EÑEÐ Ô Ø'¨Ô.ð 	/ð 	/ˆBØ˜Ô/Ð/Ð/ØÔ&×*Ò*¨2Ñ.Ô.Ð.øØˆ
r+   r2   r’   rw   rd   c                 ó  •— t          ¦   «                              |¦  «         t          d|dt          |¦  «        ¦  «         | xj        t          |¦  «        z  c_        |D ]%}|| j        v r| j                             |¦  «         Œ&d S )Nz[test_embeddings][delete] ids rï   )rT   rD   r7   r†   râ   rã   Úremove)r[   rd   rz   r\   s      €r,   rD   z#EmbeddingStateMachine.delete_by_ids¤  s�   ø€ å‰Œ×Ò˜cÑ"Ô"Ð"ÝÐ.°°W½cÀ#¹h¼hÑGÔGÐGØÐ Ô ¥C¨¡H¤HÑ,Ð Ô Øð 	2ð 	2ˆBØ�TÔ+Ð+Ð+ØÔ&×-Ò-¨bÑ1Ô1Ð1øð	2ð 	2r+   c                 ó>   — t          | j        d         ¦  «        dk    S rš   rœ   ro   s    r,   r-   zEmbeddingStateMachine.<lambda>¯  r�   r+   r›   rž   r¢   c                 ó.  •— t          ¦   «                              |¦  «         t          d|d         dt          t	          j        |d         ¦  «        ¦  «        ¦  «         | xj        t          t	          j        |d         ¦  «        ¦  «        z  c_        d S )Nz[test_embeddings][update] ids rd   rï   )rT   rE   r7   r†   r„   Úwraprâ   )r[   rs   r\   s     €r,   rE   z'EmbeddingStateMachine.update_embeddings¯  sŠ   ø€ õ 	‰Œ×!Ò! *Ñ-Ô-Ð-ÝØ,Ø�uÔØÝ•
” 
¨5Ô 1Ñ2Ô2Ñ3Ô3ñ		
ô 	
ð 	
ð 	Ð Ô ¥C­
¬¸
À5Ô8IÑ(JÔ(JÑ$KÔ$KÑKÐ Ô Ð Ð r+   c                 ó>   — t          | j        d         ¦  «        dk    S r¨   rœ   ro   s    r,   r-   zEmbeddingStateMachine.<lambda>Ã  r�   r+   c                 ó®  •— t          ¦   «                              |¦  «         t          d|d         dt          t	          j        |d         ¦  «        ¦  «        ¦  «         | xj        t          t	          j        |d         ¦  «        ¦  «        z  c_        t	          j        |d         ¦  «        D ]%}|| j        vr| j                             |¦  «         Œ&d S )Nz[test_embeddings][upsert] ids rd   rï   )	rT   rF   r7   r†   r„   rõ   râ   rã   rŒ   )r[   rs   rz   r\   s      €r,   rF   z'EmbeddingStateMachine.upsert_embeddingsÃ  sÒ   ø€ õ 	‰Œ×!Ò! *Ñ-Ô-Ð-ÝØ,Ø�uÔØÝ•
” 
¨5Ô 1Ñ2Ô2Ñ3Ô3ñ		
ô 	
ð 	
ð 	Ð Ô ¥C­
¬¸
À5Ô8IÑ(JÔ(JÑ$KÔ$KÑKÐ Ô Ý”/ *¨UÔ"3Ñ4Ô4ð 	/ð 	/ˆBØ˜Ô/Ð/Ð/ØÔ&×*Ò*¨2Ñ.Ô.Ð.øð	/ð 	/r+   rÐ   rÑ   )rG   rH   rI   r   rO   r   rÒ   r   rÓ   rU   r   rÔ   rj   r   r   r   rí   rÕ   rŽ   r   rC   rÖ   r×   r   r   rD   rE   rØ   rÙ   rF   rÚ   rÛ   s   @r,   rÝ   rÝ   W  sþ  ø€ € € € € € Ø &  Ñ 7Ô 7€M�6˜"”:Ð7Ð7Ñ7ð-ð -˜yð -°dð -ð -ð -ð -ð -ð -ð €Z˜=Ð)Ñ)Ô)ð
I ZÔ%:ð 
Ið 
Ið 
Ið 
Ið 
Iñ *Ô)ð
Ið €\ð	
ð 	
ñô ð 
€T�V„Vð2ð 2ð 2ñ „Vñô ð2ð: 
€TØØ(�:Ô(¨Ñ7Ô7ðñ ô ð¨Ô)=ð À/ÐRTÔBUð ð ð ð ð ñ	ô ðð" 
€TˆhˆbŒh�x�x Ñ.Ô.¸Ð;Ñ;Ô;Ð<Ñ<Ô<ð2 ð 2¨ð 2ð 2ð 2ð 2ð 2ñ =Ô<ð2ð €\ÐEÐEÑFÔFØ	€TØ(�:Ô(Ø -Ø%ØØð	
ñ 
ô 
ðñ ô ðL¨JÔ,@ð LÀTð Lð Lð Lð Lð Lñô ñ GÔFðLð €\ÐEÐEÑFÔFØ	€TØ(�:Ô(Ø -Ø!˜œ	 -°Ô1EÑFÔFØØð	
ñ 
ô 
ðñ ô ð/¨JÔ,@ð /ÀTð /ð /ð /ð /ð /ñô ñ GÔFð/ð /ð /ð /ð /r+   rÝ   ÚcaplogrP   c                 óÜ   ‡— t          ‰¦  «         |                      t          j        ¦  «         t	          ˆfd„t          dt          j        g¬¦  «        ¬¦  «         t          ¦   «          d S )Nc                  ó"   •— t          ‰ ¦  «        S rS   ©rÝ   ©rP   s   €r,   r-   z'test_embeddings_state.<locals>.<lambda>Þ  s   ø€ Õ% fÑ-Ô-€ r+   é�_ ©ÚdeadlineÚsuppress_health_check©r   ©	r%   Ú	set_levelÚloggingÚERRORr   r   r   Úfilter_too_muchr9   ©rø   rP   s    `r,   Útest_embeddings_stater  Ú  sv   ø€ Ý˜VÑ$Ô$Ð$Ø
×Ò•W”]Ñ#Ô#Ð#ÝØ-Ð-Ð-Ð-ÝØµ;Ô3NÐ2Oð
ñ 
ô 
ðñ ô ð õ �N„N€N€N€Nr+   z-Search API only available in distributed mode)Úreasonc                 óÜ   ‡— t          ‰¦  «         |                      t          j        ¦  «         t	          ˆfd„t          dt          j        g¬¦  «        ¬¦  «         t          ¦   «          dS )z@Test embeddings state machine using search API instead of query.c                  ó&   •— t          ‰ d¬¦  «        S )NT)rQ   rû   rü   s   €r,   r-   z3test_embeddings_state_with_search.<locals>.<lambda>ð  s   ø€ Õ% f¸Ð>Ñ>Ô>€ r+   rý   rþ   r  Nr  r  s    `r,   Ú!test_embeddings_state_with_searchr  æ  sx   ø€ õ ˜VÑ$Ô$Ð$Ø
×Ò•W”]Ñ#Ô#Ð#ÝØ>Ð>Ð>Ð>ÝØµ;Ô3NÐ2Oð
ñ 
ô 
ðñ ô ð õ �N„N€N€N€Nr+   c                 óÈ  — t          | ¦  «         t          | ¦  «        }|                     t          j        dddddœd t          j        ¦   «         dt          j        i g dd¬¦
  «
        ¬¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     g d	¢d
dgddgddgddgddgddggg d¢d dœ¬¦  «        \  }}}}}}| 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     |||||g¬¦  «         t          s|                     ¦   «          | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          d S )NÚA00é€   ©úhnsw:construction_efúhnsw:search_efúhnsw:Mr<   FT©
r_   r`   ra   rz   r?   r:   Úknown_metadata_keysÚknown_document_keywordsÚhas_documentsÚhas_embeddingsr]   )Ú0Ú1Ú2Ú3Ú4Ú5ç      ¹?ç     ŒÛ?ç     PÊ?ç     ü¶?ç     ŒÃ¿ç     ¬Ò?ç     ô¿¿ç     é?ç     ¬í?ç     ØÍ¿)NNNNNN©rd   rg   re   rf   r¢   rw   )r%   rÝ   r   rj   r   ÚuuidÚuuid4ÚnpÚfloat16r²   r­   r¸   r¯   rC   rD   r$   rí   rp   )rP   ÚstateÚv1Úv2Úv3Úv4Úv5Úv6s           r,   Útest_add_then_delete_n_minus_1r5  ø  s$  € Ý˜VÑ$Ô$Ð$Ý! &Ñ)Ô)€EØ	×ÒÝÔ(Øà(+Ø"%Øðð ð
  $ÝŒz‰|Œ|ØÝ”*Ø "Ø$&ØØð
ñ 
ô 
ð ñ ô ð ð$ 
×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ"×1Ò1à1Ð1Ð1à˜^Ð,ØÐ 0Ð1Ø! >Ð2Ø" MÐ2Ø Ð0Ø Ð0ðð >Ð=Ð=Øð
ð 
ð 2ñ ô Ñ€BˆˆB��B˜ð 
×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Ò˜R  R¨¨RÐ0ÐÑ1Ô1Ð1Ýð $Ø×!Ò!Ñ#Ô#Ð#Ø	×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	‡N‚NÑÔÐÐÐr+   c                 óÎ  — t          | ¦  «         t          | ¦  «        }|                     t          j        ddddddddddœd t          j        d	¦  «        d
t          j        i g dd¬¦
  «
        ¬¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     g d¢dgd
z  dgd
z  dgd
z  dgd
z  dgd
z  dgd
z  gddddddddœd ddddœdddœddddddd dd!d"d#œ
d$d%d&d'd(d)d*dd+dd,œ
gd d-œ¬.¦  «        \  }}}}}}| 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     d/dgd
z  gd d d-œ¬.¦  «        \  }| 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     d0d1gdgd
z  dgd
z  gd d2dd3dd4œgd d-œ¬.¦  «        \  }	}
| 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     g d5¢dgd
z  dgd
z  dgd
z  gd6d7d8d9d:d;d<dd=œd>d?id@ddAdBdddCdDdddEdFœgd d-œ¬.¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     dGdHdI||	gdgd
z  dgd
z  dgd
z  dgd
z  dgd
z  gdJdKddLdMdNdOdPdQœdNdRdSdTœdUddVdWdXœdYdZddd[d\œd gd d-œ¬.¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     |||
||gdgd
z  dgd
z  dgd
z  dgd
z  dgd
z  gi d]d“d^d_“d`d“dad“dbdc“ddde“dfd“dgdh“did“djd“dedk“dldm“dnd“dodp“dqd“drds“dtdu“ddvdwdxdyœ¥d dzd{dd|d}œdNd~ddœd€ddd�d‚d*d7ddƒœgd d-œ¬.¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     |||
|gdgd
z  dgd
z  dgd
z  dgd
z  gd„d…d†œd‡d|ddˆd‰dŠd‹idŒd�idNdŽd�ddddSdd�œgd d-œ¬.¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     |gdgd
z  gd‘dld’ddd“d”d•œd d-œ¬.¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     g d–¢dgd
z  dgd
z  dgd
z  dgd
z  gd—d˜d™ddšœd›diddhdœœd�džigd d-œ¬.¦  «        \  }}}}| 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     dŸd d¡|gdgd
z  dgd
z  dgd
z  dgd
z  gd¢did(dpd£d¤dd¥d¦œd7d§d¨dkd©ddªd¤ddd«œ
djd¬igd d-œ¬.¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     ||gdgd
z  dgd
z  gi d­d€“d®d¯“d°d±“d²d³“d´dµ“d¶d·“d¸d‹“d¹dN“dºd“d»dh“d¼d“d½d¾“d|dµ“d¿d“dCdÀ“dÁdÂ“dÃdÄ“dÅddÆdÇdÈddddÉdÊœ	¥ddËddÌddkdÍœgd d-œ¬.¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     |gdgd
z  gd d d-œ¬.¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     |||||gdgd
z  dgd
z  dgd
z  dgd
z  dgd
z  gdÎdÏidÐddÑœd d€dÒdÓdÔdÕdÖd×dØœdÙddÚdÛdÜdÝddÞœgd d-œ¬.¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     ||	dßdà|gdgd
z  dgd
z  dgd
z  dgd
z  dgd
z  gd ddáddâddãdädåœdædçd¤dkddèœddédddêdëœdìdíddÇdîdïdðœgd d-œ¬.¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     ¦   «          d S )ñNÚfOIByFÚHtmYÚRTipiUÿÿÿÚ5KdoaYsUQ_EWStV4r  )z-7nÚ92WhVE_zJ-sWÚ
wPGA8hY7uXÚ4rAr  r  r  z$ff006990-82c3-494b-97d5-cbb05092c861i˜  Tr  r]   )ÚkgaT4dzC2h2YoNSgUqRyE-Tmxf3MTzODI-yOÚtÚbÚvCr   iÒÑ{‡Ú5DkqA9o6ç        éû   g   `UUÕ¿ÚVT)Úszd1wQJV-9ÚhWf7gwQÚrbyHgÚPeÚ0r6qQ5XYxeqÚPzXpiqBi|Ž³ØÚE)ÚhqTZ6Ok767eCSwyvGEuig8aÚTRGxNÚ1h8Ii¾¥ÿÿ)ÚATRsÚKF0Pi§ÈÿÿiÄÌÿÿg      ø¿ÚvReDi�÷ÿÿiêÿÿÿg      °<)
ÚPcFwuÚPSÚWCgxÚEQtÚupcOfhuÚeÚUÚzI4tOÚMfHM7uU58tW_muctZfÚSvOyiåÿÿÚuDCÚOcywKhsii;[ÿÿg      p>ú-g    €„.ÁiäÖÕí)
ÚiuTAKznMg6IdUKxaPiÚoyzc0Zb3VTUktBu-uWÚ6iÚnnÚbsÚomÚMXnpsEEEÚFul8JRjÚHi7lrYr)  r¢   ÚuaÚK_ÚyFsHièO5Úg      °¼)Ú
RiaaN9MNpqÚg9WxÚuexOHÚh2)ÚSCeelWyLAWG_oHaÚlYr  iObµg   €µøä>éž   iœÿÿÿi¤ü  éã   g    >†A)Ú0ZbYq40PÚOT9sTxkMz-jÚrqsBEfrELJctJoVeLqtsPZpÚ5M4ÚXFtÚiiÚlyÚDy6Úq7LZUWzKuQG8m-Ti  €ÚxGwÚki�äÿÿg   €;ó*A)ÚfPÚAPtmtÚxKb6ÚCÚG18VrF  zc-ÚG92nÚYTTBWs31rbM_L_PQDSCuÚxOGzFeGÚgh7cuT_ruA3mnzO3m3-X1ÚZNt2PF6M5_qÚIj0Yh6iÅKÿÿiÖM  Ú34oWsr93EUlç    ~„.Ag   €µøä¾ÚXc80eze-QXuDdnxYMd)Ú2fDAuv7Ú4Etz5hqGH60G-yZ6PWyM1BÚOkMjjGÚyTkÚwZvpmS5HbTAIÚbvqÚzPhLÚgg   `ffþ?)ÚWKÚyÚGNZphPCKay88gsh3x_iØÿÿÿÚJDcigÿÿÿ)z_zVO2i-NÚtWHxoÚltu_E_fgÚ9yGpikÚZnQ3ALwAé2   i�º”L)ÚotM8ÚEGeKmÚ
skf71O0UKTzS8Kc8-l95RpcÚ4bGz1QmzbKVySN1yrXFl56CmDS08FÚhBFXAIAÚWx4dcB5iÝÿÿÿÚ8wÚ8ÚmwQ5Úc7ÚG9g2ÚJÚVYzVQGb_r-hzoAg    ëÿï¿ÚM0lMigÚFg    ™™ñ?ÚdÚRÚDugrcoZvÚ45Bg   @  ÀzUG-sSVÚcri4cT1Gi›dÀÚIiÅîÿÿiéÿÿÿÚ
xM0jUV4U2rÚmsuFYMwj_SXc)ÚFqFWR__r  Úvwo4WERBljY3aWjWnqLÚWFib@ÿÿiåHr  )ÚmÚf4ÚUtÚV_NVCwé   )ÚVWuPÚ7uF8r  g      ¿iù¾¸LéÈ   )Úa1ÚML_Zl2Ir85KolESaXÚiJvAÚO8oÚrMSr  Ú5AeEÚ2qÚ	6T9tEEC84iî  )ÚYxÚlGe5GMXÚUvsAljL5V5ELRvÚ	yeLTrhAIqç      ø?ÚiPç      à¿r‚  ÚRii&  ip à)ÚpzHn2ÚYfdftMEd0C5ekByb7mhdbÚLJCViuÚLTÚ5YÚOoVwEÚvqÚ8Wf6iºÅ­ÚebEKOxi	ÿÿg   àuA)ÚC1KbOOlKkzzLo9CGU2ÚNHÚMÚfpu77F70Iclz	dz6fI-GppÚqVVWÚQrcq645F)ÚF7ÚRig1ÚRXiz_nC8-iëœÿÿiã  g   @Ì¼+A)ÚFBtaPcQWV24vÚddLq1My3mbUL9IÚfIÚHLxuosTÚATUP1)ÚAhCÚwm9AwPÚKim}ÿÿÚ4GJÚrÚAunf5Ú
J8O0R8VGaYÚnK67gg    €„.Ag   `õ\A)ÚK2cCgÚoObAcpÚaxÚafzpÚxnRCSPJUF4JZ2sKOIRDcznBaQ6F1O38etVMhss2angu-g   €º˜Ág    ƒ#
AÚiSNcMrTé°   )
ÚUwbDWM2_r  ÚnfoovtÚ
elaMLbhEvWr  ÚUOr²  Ú3ssGS4rSKXsKqRPFTBGrRPPsuÚGwÚVÚtTwÚeiÚ_ÚqscyRBC_ÚTPÚIXdÚ	N0FG7Nta1g   À>¾&ÁÚwoDéB   ÚIVÚ0L3xImGgz9N--JBl0uH_au_ÚKVmhtcAÚqrÚNfL6ÚtaIVpCÚXJXÚlÚ
8YaEynJznBiOÿÿÿÚNg   Àº$AÚebBi÷Ï  g   €Ñ
ð@Ú	cRl59jW_Og    ~„.Ág      8g   @wÁ)	ÚfJz
QK8l3l4yP-r  z	-XP899RRnÚA9ÚUlxNwmcÚGÚ1NoCdÚWRn5cDÚ	HExeVM0iMiSàh)ÚzAbCKkEvE4sÚhnFNÚUc9ÚvÚXÚWÚYz-iRt8Ú8MxYq)Ú55m28ÚkrQsTFdqMhYjhFiHÿÿÿg      ?ÚVG7E7xmio#  Ú1xXUHLklmIVSVgQd7EHUCu5waÚkl6)Ú9SnviLfÚ
Y0Jw4pLTwrÚv3EÚ
Fx3jsbcdqyÚHz-UÚSiôÿÿÿÚsBiŽÿÿÚ
xtLNrNyRo2g    Ÿ),Á)rY  ÚQfm_6duLÚSh0LkduZt5qsRJrFÚ8DMÚMZrq  Ú7ÚOiaÚiDÚ4eKiÙ¨ÿÿi·Éÿÿié]Ì)ÚtVsÚBÚzTRzbq6VslBBo2_12hgyKNPddxify34-np-ÚF7FcZpODwCTHg91o4mKTjBLÚ1ZjfysÚlg3z_TG-YhAQÚQ)Ú1qrÚTKVÚ8tLuÚQHsxar¬  ÚUepiV6K_g    YRÁ)ÚpÚrRÚUDZ_uRÚfFG6cZvICaGczunTbxz0qd2-AV1iÿÿÿÚC9OePgÚaBYi%Dÿÿ)ÚEXXVBZUÚtJMOÚ4oÚF8g8nr  Úhv3i)r%   rÝ   r   rj   r   r*  ÚUUIDr,  r-  r²   r­   r¸   r¯   rC   rF   rE   rp   )rP   r.  Úembedding_ids_0Úembedding_ids_1Úembedding_ids_2Úembedding_ids_3Úembedding_ids_4Úembedding_ids_5Úembedding_ids_6Úembedding_ids_7Úembedding_ids_8Úembedding_ids_9Úembedding_ids_10Úembedding_ids_11Úembedding_ids_12s                  r,   Útest_embeddings_flake1r[  .  su  € Ý˜VÑ$Ô$Ð$Ý! &Ñ)Ô)€EØ	×ÒÝÔ(ØàØ!ØØ"Ø)Ø(+Ø"%Øð	ð 	ð  $ÝŒyÐ?Ñ@Ô@ØÝ”*Ø "Ø$&ØØð'
ñ 
ô 
ð ñ ô ð ð. 
×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐð 	×ÒàQÐQÐQà��c‘	Ø��c‘	Ø��c‘	Ø��c‘	Ø��c‘	Ø��c‘	ðð Ø .Ø)Ø ØØ#6Ø#ðð ð à/9Ø0Øðð ð
 -°fÐ=Ð=à#ØØ"Ø Ø#ØØØ!Ø*-Ø1ðð ð +1ØØ'1Ø Ø/ØØ$Ø $Ø)Ø"ðð ð;)ðT ði5
ð 5
ð 	ñ 7	ô 7	ñØØØØØØðr 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ×-Ò-àØ˜3 ™9˜+ØØð	
ð 
ð .ñ ô Ñ€_ð 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ',×';Ò';à˜&�>Ø˜3 ™9 q c¨C¡iÐ0àà",Ø Ø3Øð	ð ðð ð
ð 
ð (<ñ (ô (Ñ$€O�_ð  
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òà1Ð1Ð1Ø˜3 ™9 q c¨C¡i°!°°s±Ð;ð !*Ø 5ØØ/3Ø ØØ#Øð	ð 	ð ˜Ð!à$Ø"Ø*ØØ!ØØØ!Ø,1Ø#Ø%.ðð ðð4 ð;
ð 
ð ñ  ô  ð  ðB 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òð ØØØØðð ˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÈÀsÈSÁyÐQð  &Ø Ø*/Ø+Ø#Ø$:Ø"Ø*ð	ð 	ð 1ØØ*;ðð ð
 !¨5¸eÈtÐTÐTà&ØØ"&Ø$(Ø5Bðð ð ð1ð4 ðG$
ð $
ð ñ &ô &ð &ðN 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òð  ØØØØðð ˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÈÀsÈSÁyÐQðØ˜uðà˜sðð ˜%ðð ˜ð	ð
 ˜Dðð ˜Cðð ˜$ðð "Ð#6ðð ˜dðð ˜ðð Ð*ðð ˜ðð  ðð Ð.ðð ˜eðð   ð!ð" ˜ð#ð$  %ØØ+7Ø(ð+ð ð ð. Ø I°UÀcÐJÐJØ/¸À5ÐIÐIà*Ø).Ø Ø(ØØ#Ø1Øð	ð 	ð7%ðL ð_0
ð 0
ð ñ 2ô 2ð 2ðf 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òà# _°oÀÐWØ˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÐFà"¨tÐ4Ð4à$ dØ# UØ Ø˜$ð	ð �d�à3Ø-1Ø'ØØØ"Ø+Ø!ð	ð 	ðð( ð/
ð 
ð ñ ô ð ð6 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òà#Ð$Ø˜3 ™9˜+à&4ØØØ#Ø!ØØ(ðð ð ð
ð 
ð ñ ô ð ð  
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐð 	×Òà1Ð1Ð1Ø˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÐFð %+Ø&*Ø$Ø$ð	ð ð ˜$�ØÐ(;Ð<Ð<Ø�f�ð
ð ð
ð 
ð 	ñ 	ô 	ñØØØØð& 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òà˜3 ¨Ð9Ø˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÐFà˜tÐ$à2Ø1Ø!Ø%Ø,0Ø/<ðð ð !6Ø$Ø(Ø"3Ø"ØØØ1:ØØðð ð �e�ð-ð0 ð7
ð 
ð ñ ô ð ð> 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òà# _Ð5Ø˜3 ™9 q c¨C¡iÐ0ðØÐ*ðà˜ðð ˜%ðð   ð	ð
 ˜2ðð ˜*ðð % dðð Ð5ðð ˜%ðð Ð/ðð ˜dðð ˜3ðð ˜ðð ! $ðð ˜ðð  ˜ð!ð" ˜5ð#ð$ &Ø"'Ø$Ø!*Ø0Ø#ØØ"Ø+ð5ð ð ð: $(Ø'Ø Ø&ØØ*ðð ð;%ðL ðS*
ð *
ð ñ ,ô ,ð ,ðZ 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òà#Ð$Ø˜3 ™9˜+ØØð	
ð 
ð ñ ô ð ð 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òð !ØØØ Øðð ˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÈÀsÈSÁyÐQà�g�Ø!°UÐ;Ð;Øà/Ø"&Ø*Ø"+ØØ5Øðð ð Ø %Ø(,Ø!Ø&Ø#Øðð ðð. ðA!
ð !
ð ñ #ô #ð #ðH 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òà# _°e¸TÀ?ÐSØ˜3 ™9 q c¨C¡i°!°°s±¸Q¸CÀ#¹IÈÀsÈSÁyÐQààØØØ7=Ø/4Ø$Ø%ðð ð &ØØ%Ø.Øðð ð Ø$Ø"Ø$(Ø&0ðð ð  -Ø$ØØ&ØØ"ðð ð3!ðD ðK&
ð &
ð ñ (ô (ð (ðR 
×ÒÑÔÐà	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	‡N‚NÑÔÐÐÐr+   c                 ó"  — t          |¦  «         t          |¦  «        }|                     t          j        dddddœd t          j        d¦  «        dt          j        i g dd¬¦
  «
        ¬	¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     g d
¢ddgddgddgddgddggg d¢d dœ¬¦  «        \  }}}}}| 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     |gddgg||igd dœ¬¦  «         | 	                    ¦   «          |                     ¦   «          d S )Nr  r  r  z$2fb0c945-b877-42ab-9417-bfe0f6b172afr<   FTr  r]   )r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  )NNNNNr)  r¢   g     ¬â?g     ˜­?)r%   rÝ   r   rj   r   r*  rM  r,  r-  r²   r­   r¸   r¯   rC   rE   rp   )rø   rP   r.  r/  r0  r1  r2  r3  s           r,   Útest_update_noner]  J  sø  € Ý˜VÑ$Ô$Ð$Ý! &Ñ)Ô)€EØ	×ÒÝÔ(Øà(+Ø"%Øðð ð
  $ÝŒyÐ?Ñ@Ô@ØÝ”*Ø "Ø$&ØØð
ñ 
ô 
ð ñ ô ð ð$ 
×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ×-Ò-à,Ð,Ð,à˜^Ð,ØÐ 0Ð1Ø! >Ð2Ø" MÐ2Ø Ð0ðð 8Ð7Ð7Øð
ð 
ð .ñ ô Ñ€BˆˆB��Bð 
×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òà�4Ø)Ð+;Ð<Ð=Ø˜r˜(˜Øð	
ð 
ð ñ ô ð ð 
×ÒÑÔÐØ	‡N‚NÑÔÐÐÐr+   c                 óP  — t          | ¦  «         t          | ¦  «        }|                     t          j        di dd“dd“dd“dd	“d
d“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d t          j        d¦  «        dt          j        i g dd¬¦
  «
        ¬ ¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     g d!¢g d"¢g d#¢g d$¢g d%¢g d&¢g d'¢gd d d(œ¬)¦  «        }d*}i }|D ]}|||<   |d+z  }Œ| 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     |d*         |d,         d-|d.         d/gg d0¢g d1¢g d2¢g d3¢g d4¢gd d d5œ¬)¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          t          s|                     ¦   «          | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     d6|d*         |d,         gg d7¢g d8¢g d9¢gd d d(œ¬)¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     |d:         |d+         |d.         |d,         |d         g¬;¦  «         | 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          |                     ¦   «          |                     d<d=d>d?|d+         gg d@¢g dA¢g dB¢g dC¢g dD¢gd d d5œ¬)¦  «        }dE}|D ]}|||<   |d+z  }Œ| 	                    ¦   «          | 
                    ¦   «          |                     ¦   «          t          s|                     ¦   «          d S d S )FNÚKR3cfÚUfmxsi3r‹  ÚbMMvvrqM4MKmp5CJB8AiÉõ  r_  TÚ37PNiÚVknÚ5KZfkpod3ND5soL_ÚKA4zcZL9lRN9éŽ   ÚOc8G7ysXmE8lp4Hos_ÚPOQe8Unz1uJÚBI930Ué   ÚteFÚtyMrÎ  ÚR0ZiZr¸  ÚIOwiƒ›ÿÿr  r  r  r  z$284b6e99-b19e-49b2-96a4-a2a93a95447dr©   r  r]   )Ú255r  z3-r   ÚNkÚ9yPvT)g333333ó?gffffff@rÌ  )ç      @ç      @r<   )r2   r<   r©   )é   r›   é   )gÍÌÌÌÌÌ!@g      "@é   )rr  rs  çffffff@r)  r¢   r   r2   rt  ÚKWcDaHUVD6MxEiJr›   ÚPdlP1d6w)r2   é   rt  )r©   r›   é	   )r{  r©   r›   )r©   r{  é   )r2   r›   rt  )rd   rg   rf   re   ÚTpjiboLSuYWBJDbRW1zeNmC)rt  ru  rv  )rv  r{  r©   )r2   r©   ru  r<   rw   ÚoÚD3V84ÚRtÚTDwlc9C8_evn)r{  gš™™™™™@gÃõ(\�Â	@)gHáz®Gõ?g…ëQ¸…@g¤p=
×£@)gÍÌÌÌÌÌ#@gš™™™™™#@gÍÌÌÌÌÌô?)gffffff#@rw  rr  )g333333@rw  gÍÌÌÌÌL#@ru  )r%   rÝ   r   rj   r   r*  rM  r,  Úfloat32r²   r­   r¸   r¯   rC   rF   r$   rí   rD   )rP   r.  rg   r   Úemb_listÚ	embeddings         r,   Útest_add_delete_addr…  �  sy  € Ý˜VÑ$Ô$Ð$Ý! &Ñ)Ô)€EØ	×ÒÝÔ(ØðØ˜8ðà% uðð �Tðð ˜ð	ð
 # Dðð  ðð % mðð ˜"ðð �eðð �tðð ˜ðð �Tðð �vðð '¨ðð ! #ðð  ˜#ð!ð$  $ÝŒyÐ?Ñ@Ô@ØÝ”*Ø "Ø$&ØØð7
ñ 
ô 
ð ñ ô ð ð> 
×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ×%Ò%à9Ð9Ð9à��Ø��Ø�	�	Ø�	�	Ø��Ø��ðð Øð
ð 
ð &ñ ô €Jð 	
€AØ€HØð ð ˆ	Øˆ�‰Ø	ˆQ‰ˆˆØ	×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òð ˜”Ø˜”Ø!Ø˜”Øðð &˜:˜: y y y°)°)°)¸Y¸Y¸YÈ	È	È	ÐRØØð
ð 
ð ñ ô ð ð 
×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐÝð $Ø×!Ò!Ñ#Ô#Ð#Ø	×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×Òà-¨x¸¬{¸HÀQ¼KÐHØ$˜9˜9 i i i°°°Ð;ØØð	
ð 
ð ñ ô ð ð 
×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ	×ÒØ�aŒ[˜( 1œ+ x°¤{°H¸Q´KÀÈ!ÄÐMð ñ ô ð ð 
×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐØ	×ÒÑÔÐØ×%Ò%à˜ $¨¸À¼ÐDà��Ø"Ð"Ð"Ø Ð Ð Ø��Ø Ð Ð ðð Øð
ð 
ð &ñ ô €Jð 	
€AØð ð ˆ	Øˆ�‰Ø	ˆQ‰ˆˆØ	×ÒÑÔÐØ	‡K‚K�M„M€MØ	×ÒÑÔÐÝð $Ø×!Ò!Ñ#Ô#Ð#Ð#Ð#ð$ð $r+   c                 óÈ  — t          | ¦  «         |                      d¬¦  «        }|                     dgdgg¬¦  «         |                     ¦   «         dk    sJ ‚|                     dgdgg¬¦  «         |                     ¦   «         dk    sJ ‚|                     ¦   «         }|d         dgk    sJ ‚|                     dg¬¦  «         |                     ¦   «         d	k    sJ ‚d S )
NÚfoo©r_   ÚarC  ©rd   rg   r2   rd   rw   r   )r%   rh   rŒ   r­   Úgetr–   )rP   rK   Úresultss      r,   Útest_multi_addr�    së   € Ý˜VÑ$Ô$Ð$Ø×#Ò#¨Ð#Ñ/Ô/€DØ‡H‚H�#� S E 7€HÑ+Ô+Ð+Ø�:Š:‰<Œ<˜1ÒÐÐÐð 	‡H‚H�#� S E 7€HÑ+Ô+Ð+à�:Š:‰<Œ<˜1ÒÐÐÐà�hŠh‰jŒj€GØ�5Œ>˜c˜UÒ"Ð"Ð"Ð"à‡K‚K�S�E€KÑÔÐØ�:Š:‰<Œ<˜1ÒÐÐÐÐÐr+   c                 óž  — t          | ¦  «         |                      d¬¦  «        }t          j        t          j        ¦  «        5  |                     ddgdgdgg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          j        ¦  «        5  |                     ddgdgdgg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr‡  rˆ  r‰  rC  gš™™™™™ñ?rŠ  )r%   rh   ÚpytestÚraisesÚerrorsÚDuplicateIDErrorrŒ   r«   ©rP   rK   s     r,   Útest_dup_addr”    sI  € Ý˜VÑ$Ô$Ð$Ø×#Ò#¨Ð#Ñ/Ô/€DÝ	Œ•vÔ.Ñ	/Ô	/ð <ð <Ø�Š�c˜3�Z¨c¨U°S°E¨NˆÑ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <å	Œ•vÔ.Ñ	/Ô	/ð ?ð ?Ø�Š˜˜c˜
°°¸°u¨~ˆÑ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð ?ð ?s$   ÁA.Á.A2Á5A2ÂCÃCÃ	Cc                 óê  — t          | ¦  «         |                      d¬¦  «        }g d¢}t          j                             dd¦  «        }t          j                             dd¦  «        }t          j                             ||f¦  «                             ¦   «         }|                     t          t          |¦  «        |¬¦  «        }|D ])}||         }|€J ‚t          d„ |D ¦   «         ¦  «        sJ ‚Œ*d S )	Nr‡  rˆ  )rf   re   rg   Ú	distancesr2   iÐ  éd   )Úquery_embeddingsÚincludec                 ó4   — g | ]}t          |¦  «        d k    ‘ŒS )r   )r†   )ry   Úresults     r,   r|   z*test_query_without_add.<locals>.<listcomp>,  s#   € ÐAÐAÐA¨•C˜‘K”K 1Ò$ÐAÐAÐAr+   )
r%   rh   r,  ÚrandomÚrandintÚtolistÚqueryr	   r   Úall)	rP   rK   Úfieldsr  ré  r˜  rŒ  rÁ   Úfield_resultss	            r,   Útest_query_without_addr£    s  € Ý˜VÑ$Ô$Ð$Ø×#Ò#¨Ð#Ñ/Ô/€DØKÐKÐK€FÝ
Œ	×Ò˜!˜TÑ"Ô"€AÝ
Œ	×Ò˜!˜SÑ!Ô!€AÝ”y×'Ò'¨¨A¨Ñ/Ô/×6Ò6Ñ8Ô8ÐØ�jŠjÝ�jÐ*:Ñ;Ô;ÀVð ñ ô €Gð ð Cð CˆØ œˆØÐ(Ð(Ð(ÝÐAÐA°=ÐAÑAÔAÑBÔBÐBÐBÐBÐBðCð Cr+   c                 ó\  — t          | ¦  «         |                      d¬¦  «        }|                     dgg d¢¬¦  «        }t          |d         ¦  «        dk    sJ ‚t          |d         ¦  «        dk    sJ ‚t          |d	         ¦  «        dk    sJ ‚t          |d
         ¦  «        dk    sJ ‚d S )Nr‡  rˆ  r‰  )rf   re   rg   )rd   r™  rd   r   re   rf   rg   )r%   rh   r‹  r†   )rP   rK   r›  s      r,   Útest_get_non_existentr¥  /  sÁ   € Ý˜VÑ$Ô$Ð$Ø×#Ò#¨Ð#Ñ/Ô/€DØ�XŠX˜3˜%Ð)QÐ)QÐ)QˆXÑRÔR€FÝˆv�eŒ}ÑÔ Ò"Ð"Ð"Ð"Ýˆv�kÔ"Ñ#Ô# qÒ(Ð(Ð(Ð(Ýˆv�kÔ"Ñ#Ô# qÒ(Ð(Ð(Ð(Ýˆv�lÔ#Ñ$Ô$¨Ò)Ð)Ð)Ð)Ð)Ð)r+   z9We don't properly escape SQL internally, causing problemsc                 ó  — t          | ¦  «         d}|                      d¬¦  «        }|                     |gdgg¬¦  «         |                     ¦   «         dk    sJ ‚|                     |g¬¦  «         |                     ¦   «         dk    sJ ‚d S )	Núr‡  rˆ  rC  rŠ  r2   rw   r   )r%   rh   rŒ   r­   r–   )rP   rz   rK   s      r,   Útest_escape_chars_in_idsr¨  :  s•   € å˜VÑ$Ô$Ð$Ø	€BØ×#Ò#¨Ð#Ñ/Ô/€DØ‡H‚H�"� C 5 '€HÑ*Ô*Ð*Ø�:Š:‰<Œ<˜1ÒÐÐÐØ‡K‚K�R�D€KÑÔÐØ�:Š:‰<Œ<˜1ÒÐÐÐÐÐr+   c                 óÜ   — t          | ¦  «         |                      d¬¦  «        }t          j        t          ¦  «        5  |                     ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr‡  rˆ  )r%   rh   r�  r�  Ú
ValueErrorr–   r“  s     r,   Útest_delete_empty_failsr«  E  s§   € Ý˜VÑ$Ô$Ð$Ø×#Ò#¨Ð#Ñ/Ô/€DÝ	Œ•zÑ	"Ô	"ð ð Ø�Š‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¿A!Á!A%Á(A%Úkwargsrd   r‡  ÚwhereÚbarÚwhere_documentz	$contains)rd   r­  )rd   r¯  )rd   r­  r¯  c                 óÀ   — t          | ¦  «         |                      d¬¦  «        } |j        di |¤Ž}t          |t          ¦  «        sJ ‚d|v sJ ‚|d         dk    sJ ‚d S )Nr‡  rˆ  Údeletedr   r*   )r%   rh   r–   Ú
isinstanceÚdict)rP   r¬  rK   r›  s       r,   Útest_delete_successr´  L  s‚   € õ  ˜VÑ$Ô$Ð$Ø×#Ò#¨Ð#Ñ/Ô/€DàˆTŒ[Ð"Ð"˜6Ð"Ð"€FÝ�f�dÑ#Ô#Ð#Ð#Ð#Ø˜ÐÐÐÐØ�)Ô Ò!Ð!Ð!Ð!Ð!Ð!r+   )Úsupported_typesrµ  c                 óÆ   — t          j        dd| ¦  «        }t          t          t          t          |¦  «        ¦  «        ¦  «        }t          d„ |D ¦   «         ¦  «        sJ ‚d S )Nrç   c                 óê   — g | ]p}t          |t          j        ¦  «        oS|j        t          j        k    p>|j        t          j        k    p)|j        t          j        k    p|j        t          j        k    ‘ŒqS r*   ©r²  r,  Úndarrayr:   r‚  Úfloat64Úint32Úint64©ry   r8   s     r,   r|   zMtest_autocasting_validate_embeddings_for_compatible_types.<locals>.<listcomp>q  ó|   € ð 		
ð 		
ð 		
ð õ �u�bœjÑ)Ô)ð à”�rœzÒ)ð +Ø”;¥"¤*Ò,ð+à”;¥"¤(Ò*ð+ð ”;¥"¤(Ò*ð		
ð 		
ð 		
r+   )rj   Úcreate_embeddingsr   r	   r   r   r   ©rµ  ÚembdsÚvalidated_embeddingss      r,   Ú9test_autocasting_validate_embeddings_for_compatible_typesrÃ  e  s‰   € õ Ô(¨¨R°ÑAÔA€EÝ.ÝÝÝ  Ñ'Ô'ñ	
ô 	
ñô Ðõ ð		
ð 		
ð .ð		
ñ 		
ô 		
ñô ð ð ð ð ð r+   c                 óÆ   — t          j        dd| ¦  «        }t          t          t          t          |¦  «        ¦  «        ¦  «        }t          d„ |D ¦   «         ¦  «        sJ ‚d S )Nrç   c                 óê   — g | ]p}t          |t          j        ¦  «        oS|j        t          j        k    p>|j        t          j        k    p)|j        t          j        k    p|j        t          j        k    ‘ŒqS r*   r¸  r½  s     r,   r|   zEtest_autocasting_validate_embeddings_with_ndarray.<locals>.<listcomp>‡  r¾  r+   )rj   Úcreate_embeddings_ndarrayr   r	   r   r   r   rÀ  s      r,   Ú1test_autocasting_validate_embeddings_with_ndarrayrÇ  ~  s„   € õ Ô0°°R¸ÑIÔI€EÝ.Ý�ZÕ-¨eÑ4Ô4Ñ5Ô5ñô Ðõ ð		
ð 		
ð .ð		
ñ 		
ô 		
ñô ð ð ð ð ð r+   )Úunsupported_typesrÈ  c           	      ó"  — t          j        dd| ¦  «        }t          j        t          ¦  «        5 }t          t          t          t          |¦  «        ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   dt          |j
        ¦  «        v sJ ‚d S )Nrç   zsExpected embeddings to be a list of floats or ints, a list of lists, a numpy array, or a list of numpy arrays, got )rj   r¿  r�  r�  rª  r   r	   r   r   rÄ   r8   )rÈ  rÁ  rX  s      r,   Ú7test_autocasting_validate_embeddings_incompatible_typesrÊ  ”  sÛ   € õ Ô(¨¨RÐ1BÑCÔC€EÝ	Œ•zÑ	"Ô	"ð K aÝ�D¥Õ-AÀ%Ñ-HÔ-HÑIÔIÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð 	~ÝˆqŒw‰<Œ<ð	ð 	ð 	ð 	ð 	ð 	s   °0A,Á,A0Á3A0c                  óÖ   — t          j        g ¦  «        g} t          j        t          ¦  «        5 }t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   dt          |¦  «        v sJ ‚d S )Nz¢Expected each embedding in the embeddings to be a 1-dimensional numpy array with at least 1 int/float value. Got a 1-dimensional numpy array with no values at pos)r,  Úarrayr�  r�  rª  r   rÄ   )rÁ  rX  s     r,   Útest_0dim_embedding_validationrÍ  ¢  s®   € Ýœ "™œ˜€EÝ	Œ•zÑ	"Ô	"ð # aÝ˜EÑ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð 	mÝˆq‰6Œ6ð	ð 	ð 	ð 	ð 	ð 	s   ¯AÁAÁAc           	      óN  — t          | ¦  «         |                      d¬¦  «        }t          | |j        ¦  «        }t	          ddd¦  «        D ]3}|                     d„ t	          ||dz   ¦  «        D ¦   «         ¬¦  «         Œ4t          st          | |j        |t          ¦  «         d S d S )NÚnooprˆ  r   éˆ  r—  c                 ó,   — g | ]}t          |¦  «        ‘ŒS r*   ©rÄ   ©ry   r   s     r,   r|   z)test_no_op_compaction.<locals>.<listcomp>±  s   € ÐCÐCÐC A�˜Q™œÐCÐCÐCr+   rw   )	r%   rh   r'   r_   Úranger–   r$   r&   rê   )rP   rK   Úinitial_versionÚbatchs       r,   Útest_no_op_compactionr×  ¬  sÂ   € Ý˜VÑ$Ô$Ð$Ø×#Ò#¨Ð#Ñ0Ô0€DÝ,¨V°T´YÑ?Ô?€OÝ�q˜$ Ñ$Ô$ð Eð EˆØ�ŠÐCÐC­¨u°e¸c±kÑ)BÔ)BÐCÑCÔCˆÑDÔDÐDÐDÝð 
Ý!Ø�D”I˜Õ0Jñ	
ô 	
ð 	
ð 	
ð 	
ð
ð 
r+   c                 óô  — t          | ¦  «         d}d}|                      d¬¦  «        }t          | |j        ¦  «        }t	          d||¦  «        D ]L}d„ t	          |||z   ¦  «        D ¦   «         }d„ |D ¦   «         }|                     |d„ |D ¦   «         ¬	¦  «         ŒMt          st          | |j        |t          ¦  «         t          | |j        ¦  «        }t	          d||¦  «        D ]A}d
„ t	          |||z   ¦  «        D ¦   «         }d„ |D ¦   «         }| 	                    |¬¦  «         ŒBt          st          | |j        |t          ¦  «         t          |                     ¦   «         d         ¦  «        dk    sJ ‚d S )NrÐ  r—  Úadd_then_purgerˆ  r   c                 ó   — g | ]}|‘ŒS r*   r*   rÓ  s     r,   r|   z'test_add_then_purge.<locals>.<listcomp>Á  ó   € ÐGÐGÐG ˜!ÐGÐGÐGr+   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r*   rÒ  rÓ  s     r,   r|   z'test_add_then_purge.<locals>.<listcomp>Â  ó   € Ð5Ð5Ð5 •c˜!‘f”fÐ5Ð5Ð5r+   c                 ó(   — g | ]}d |z  d |z  dz   g‘ŒS )r<   r2   r*   rÓ  s     r,   r|   z'test_add_then_purge.<locals>.<listcomp>Ä  s)   € Ð'SÐ'SÐ'S¸q¨¨Q©°°A±¸±	Ð(:Ð'SÐ'SÐ'Sr+   rŠ  c                 ó   — g | ]}|‘ŒS r*   r*   rÓ  s     r,   r|   z'test_add_then_purge.<locals>.<listcomp>Î  rÛ  r+   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r*   rÒ  rÓ  s     r,   r|   z'test_add_then_purge.<locals>.<listcomp>Ï  rÝ  r+   rw   rd   )r%   rh   r'   r_   rÔ  rŒ   r$   r&   rê   r–   r†   r‹  )rP   Úrecord_countÚbatch_countrK   Úwitness_versionrÖ  Úrecord_id_valsÚ
record_idss           r,   Útest_add_then_purgeræ  ¸  s¾  € Ý˜VÑ$Ô$Ð$Ø€LØ€KØ×#Ò#Ð)9Ð#Ñ:Ô:€DÝ,¨V°T´YÑ?Ô?€Oõ �q˜,¨Ñ4Ô4ð 
ð 
ˆØGÐG¥U¨5°%¸+Ñ2EÑ%FÔ%FÐGÑGÔGˆØ5Ð5 nÐ5Ñ5Ô5ˆ
Ø�ŠØÐ'SÐ'SÀNÐ'SÑ'SÔ'Sð 	ñ 	
ô 	
ð 	
ð 	
õ ð 
Ý!Ø�D”I˜Õ0Jñ	
ô 	
ð 	
õ
 -¨V°T´YÑ?Ô?€OÝ�q˜,¨Ñ4Ô4ð $ð $ˆØGÐG¥U¨5°%¸+Ñ2EÑ%FÔ%FÐGÑGÔGˆØ5Ð5 nÐ5Ñ5Ô5ˆ
Ø�Š˜
ˆÑ#Ô#Ð#Ð#Ýð 
Ý!Ø�D”I˜Õ0Jñ	
ô 	
ð 	
õ
 ˆt�xŠx‰zŒz˜%Ô Ñ!Ô! QÒ&Ð&Ð&Ð&Ð&Ð&r+   c                 óŠ  — t          | ¦  «         |                      d¦  «        }t          | |j        ¦  «        }d}d„ t	          ||dz   ¦  «        D ¦   «         }d„ t	          ||dz   ¦  «        D ¦   «         }|dz   }|                     ||¬¦  «         |                     |¬¦  «         t          st          | |j        |t          ¦  «         t          | |j        ¦  «        }d}d	„ t	          |||z   ¦  «        D ¦   «         }d
„ t	          |||z   ¦  «        D ¦   «         }|                     ||¬¦  «         |                     |¬¦  «         |                     ||¬¦  «         t          st          | |j        |t          ¦  «         | 
                    ¦   «         }t          |d         ¦  «        |k    sJ ‚|D ]}||d         v sJ ‚Œd S )NÚencompassing_deleter   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r*   rÒ  rÓ  s     r,   r|   z,test_encompassing_delete.<locals>.<listcomp>á  s   € Ð
9Ð
9Ð
9�a�3ˆq‰6Œ6Ð
9Ð
9Ð
9r+   ru  c                 ó"   — g | ]}|d z  |d z  g‘ŒS ©g      ð?r*   rÓ  s     r,   r|   z,test_encompassing_delete.<locals>.<listcomp>â  s%   € ÐLÐLÐL¨�1�s‘7˜A ™GÐ$ÐLÐLÐLr+   rŠ  rw   é   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r*   rÒ  rÓ  s     r,   r|   z,test_encompassing_delete.<locals>.<listcomp>ð  s   € Ð
BÐ
BÐ
B�a�3ˆq‰6Œ6Ð
BÐ
BÐ
Br+   c                 ó"   — g | ]}|d z  |d z  g‘ŒS rë  r*   rÓ  s     r,   r|   z,test_encompassing_delete.<locals>.<listcomp>ñ  s%   € ÐUÐUÐU¨�1�s‘7˜A ™GÐ$ÐUÐUÐUr+   rd   )r%   rh   r'   r_   rÔ  rŒ   r–   r$   r&   rê   r‹  r†   )	rP   ÚcolrÕ  Úid_startrd   rg   Ú
len_to_addÚget_resultsrz   s	            r,   Útest_encompassing_deleteró  Ú  sø  € Ý˜VÑ$Ô$Ð$Ø
×
"Ò
"Ð#8Ñ
9Ô
9€CÝ,¨V°S´XÑ>Ô>€Oà€Hà
9Ð
9�5 ¨8°a©<Ñ8Ô8Ð
9Ñ
9Ô
9€CØLÐL­e°H¸hÈ¹lÑ.KÔ.KÐLÑLÔL€JØ˜!‰|€Hà‡G‚G� 
€GÑ+Ô+Ð+Ø‡J‚J�3€JÑÔÐåð 
Ý!Ø�C”H˜oÕ/Iñ	
ô 	
ð 	
õ -¨V°S´XÑ>Ô>€Oð €JØ
BÐ
B�5 ¨8°jÑ+@ÑAÔAÐ
BÑ
BÔ
B€CØUÐU­e°H¸hÈÑ>SÑ.TÔ.TÐUÑUÔU€Jà‡G‚G� 
€GÑ+Ô+Ð+Ø‡J‚J�3€JÑÔÐØ‡G‚G� 
€GÑ+Ô+Ð+åð 
Ý!Ø�C”H˜oÕ/Iñ	
ô 	
ð 	
ð
 —'’'‘)”)€KÝˆ{˜5Ô!Ñ"Ô" jÒ0Ð0Ð0Ð0Øð (ð (ˆØ�[ Ô'Ð'Ð'Ð'Ð'Ð'ð(ð (r+   rÑ   )qÚhypothesis.statefulrV   Úhypothesis.strategiesr   r�  r  rj   rÖ   r   r   r   Útypingr   r   r	   r
   r   r   r   Údataclassesr   Úchromadb.api.typesr   r   r   r   r   r   Úchromadb.configr   Úchromadb.errorsr‘  Úchromadb.apir   Úchromadb.api.models.Collectionr   Ú!chromadb.test.property.strategiesÚtestÚpropertyr   r   r   r   r   r   r   r   r    r!   Úcollectionsr"   Ú!chromadb.test.property.invariantsr„   Úchromadb.test.conftestr#   r$   r%   Únumpyr,  r*  Ú-chromadb.test.utils.wait_for_version_increaser&   r'   r.   rÄ   rÅ   rÒ   rê   r4   r9   ÚsharedÚsampled_fromÚfloat_typesr;   ÚSearchStrategyr-  r‚  rº  Úintegersr@   rB   rÔ   rM   rÝ   ÚLogCaptureFixturer  ÚmarkÚskipifr  r5  r[  r]  r…  r�  r”  r£  r¥  Úxfailr¨  r«  Úparametrizer´  r»  r¼  rÆ   rÃ  rÇ  rÓ   rÊ  rÍ  r×  ræ  ró  r*   r+   r,   ú<module>r     sÛ  ðØ Ð Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ !Ð !Ð !Ð !Ð !Ð !ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð #Ð "Ð "Ð "Ð "Ð "Ø  Ð  Ð  Ð  Ð  Ð  Ø "Ð "Ð "Ð "Ð "Ð "Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð $Ð #Ð #Ð #Ð #Ð #Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð
 Ð Ð Ð Ø €€€ðð ð ð ð ð ð ð ð !, ¨I¨IÑ 6Ô 6€ˆ�C˜�HÔÐ 6Ð 6Ñ 6ð !Ð ðˆsð �tð ð ð ð ð
!ð !ð !ð !ð €B„IˆoˆbŒo˜jÔ4Ñ5Ô5¸7ÐCÑCÔCð �Ô" 5¨¬°R´ZÀÄÐ)KÔ#LÔMð ð ñ ð /8¨b¬iØ€B„K˜! tÐ,Ñ,Ô,°+ð/ñ /ô /Ð �RÔ& sÔ+ð ð ñ ð
 ð,ð ,ð ,ð ,ð ,ñ ,ô ,ñ „ð,ð �”	Ð0˜*Ô0À$ÐGÑGÔGÈVÐTÑTÔT€ð{/ð {/ð {/ð {/ð {/Ð 5ñ {/ô {/ð {/ð|@/ð @/ð @/ð @/ð @/Ð5ñ @/ô @/ð @/ðF	 &Ô":ð 	ÀIð 	ÐRVð 	ð 	ð 	ð 	ð „×ÒØÐLð ñ ô ðØÔ$ðØ.7ðà	ðð ð ñô ðð3¨9ð 3¸ð 3ð 3ð 3ð 3ðlY 9ð Y°ð Yð Yð Yð Yðx4˜VÔ5ð 4¸yð 4ÈTð 4ð 4ð 4ð 4ðn$ 	ð $¨dð $ð $ð $ð $ðD˜9ð ¨ð ð ð ð ð&?˜ð ? tð ?ð ?ð ?ð ?ðC 9ð C°ð Cð Cð Cð Cð * )ð *°ð *ð *ð *ð *ð „×ÒÐUÐÑVÔVð Yð °4ð ð ð ñ WÔVðð Ið °$ð ð ð ð ð „×ÒØà	��ÐØ	�5˜%�.Ð!Ø	˜K¨Ð/Ð0Ø� 5¨% .Ð1Ð1Ø�¨K¸Ð+?Ð@Ð@à�7Ø˜U�^Ø*¨EÐ2ð	
ð 	
ðñô ð" 	ð "°3ð "¸4ð "ð "ð "ñô ð"ð €��r”¨¬
°B´H¸b¼hÈÈUÐ'SÑTÔTÐUÑUÔUðØ˜#”Yðà	ðð ð ñ VÔUðð0 €��r”¨¬
°B´H¸b¼hÈÈUÐ'SÑTÔTÐUÑUÔUðØ˜#”Yðà	ðð ð ñ VÔUðð* €˜˜œ¨#¨t¨Ñ5Ô5Ð6Ñ6Ô6ð
Ø˜C”yð
à	ð
ð 
ð 
ñ 7Ô6ð
ðð ð ð ð	
 )ð 	
°ð 	
ð 	
ð 	
ð 	
ð' 	ð '¨dð 'ð 'ð 'ð 'ðD&( Yð &(°4ð &(ð &(ð &(ð &(ð &(ð &(r+   