§
    ˜Štjó�  ã                   ó,  — d dl Z 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 d dlmZ d dlZd dlmZ 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)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZC d dlDmEZEmFZFmGZGmHZH d dlmIZJmKZKmLZL d dlMZM eMjN        eO¦  «        ZPerd dlQmRZRmSZS  e	d	d
d¦  «        ZT e	d¦  «        ZUdeVdeedeUf         gedeUf         f         fd„ZW G d„ deeT         ¦  «        ZXdS )é    N)ÚTYPE_CHECKINGÚCallableÚDictÚGenericÚOptionalÚAnyÚSetÚTypeVarÚUnionÚcastÚList)ÚMetadata)ÚUUID)0ÚURIÚSchemaÚSparseVectorIndexConfigÚURIsÚ
AddRequestÚBaseRecordSetÚCollectionMetadataÚ
DataLoaderÚDeleteRequestÚ	EmbeddingÚ
EmbeddingsÚ	FilterSetÚ
GetRequestÚPyEmbeddingÚ
EmbeddableÚ	GetResultÚIncludeÚLoadableÚDocumentÚImageÚQueryRequestÚQueryResultÚIDsÚEmbeddingFunctionÚSparseEmbeddingFunctionÚIDÚ	OneOrManyÚUpdateRequestÚUpsertRequestÚ(get_default_embeddable_record_set_fieldsÚmaybe_cast_one_to_manyÚnormalize_base_record_setÚnormalize_insert_record_setÚvalidate_base_record_setÚvalidate_idsÚvalidate_includeÚvalidate_insert_record_setÚvalidate_metadataÚvalidate_metadatasÚvalidate_embedding_functionÚ"validate_sparse_embedding_functionÚvalidate_n_resultsÚ validate_record_set_contains_anyÚ!validate_record_set_for_embeddingÚvalidate_filter_setÚDefaultEmbeddingFunctionÚEMBEDDING_KEYÚDOCUMENT_KEY)ÚUpdateCollectionConfigurationÚ"overwrite_collection_configurationÚ'load_collection_configuration_from_jsonÚCollectionConfiguration)Ú
CollectionÚWhereÚWhereDocument)Ú	ServerAPIÚAsyncServerAPIÚClientTrG   rH   ÚTÚnameÚreturn.c                 ód   ‡ — dt           dt          f         dt           dt          f         fˆ fd„}|S )zæA decorator that wraps a method with a try-except block that catches
    exceptions and adds the method name to the error message. This allows us to
    provide more context when an error occurs, without rewriting validators.
    Úfunc.rL   c           	      ó„   •‡ — t          j        ‰ ¦  «        dt          dt          dt          dt          fˆ ˆfd„¦   «         }|S )NÚselfÚargsÚkwargsrL   c                 ó°   •— 	  ‰| g|¢R i |¤ŽS # t           $ r<}t          |¦  «        › d‰› d�}|j        r|f|j        dd …         z   nd|_        ‚ d }~ww xY w)Nz in ú.é   © )Ú	ExceptionÚstrrQ   )rP   rQ   rR   ÚeÚmsgrN   rK   s        €€úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/chromadb/api/models/CollectionCommon.pyÚwrapperz6validation_context.<locals>.decorator.<locals>.wrapperd   sŠ   ø€ ðØ�t˜DÐ2 4Ð2Ð2Ð2¨6Ð2Ð2Ð2øÝð ð ð Ý˜Q™œÐ,Ð, TÐ,Ð,Ð,�à01´Ð>˜#˜ !¤&¨¨¨¤*Ñ,Ð,¸B�”àøøøøðøøøs   ƒ �
A™7AÁA)Ú	functoolsÚwrapsr   rJ   )rN   r\   rK   s   ` €r[   Ú	decoratorz%validation_context.<locals>.decoratorc   s_   øø€ Ý	Œ˜Ñ	Ô	ð	�#ð 	¥cð 	µSð 	½Qð 	ð 	ð 	ð 	ð 	ð 	ñ 
Ô	ð	ð ˆó    )r   rJ   )rK   r_   s   ` r[   Úvalidation_contextra   ]   sI   ø€ ð� ¥a Ô(ð ­X°c½1°fÔ-=ð ð ð ð ð ð ð Ðr`   c                   ó6  — e Zd ZU eed<   eed<   eee                  ed<   ee	e
                  ed<    e¦   «         dfdededeee                  d	ee	e
                  fd
„Zedefd„¦   «         Zedefd„¦   «         Zedefd„¦   «         Zedeeef         fd„¦   «         Zedee         fd„¦   «         Zedefd„¦   «         Zedefd„¦   «         Zedefd„¦   «         Zdedefd„Zdefd„Z defd„Z! e"d¦  «        de#e$         dee%e#e&         e#e'         f                  dee#e(                  dee#e)                  dee#e*                  dee#e+                  de,fd„¦   «         Z- e"d ¦  «        dee#e$                  d!ee.         d"ee/         d#e0de1f
d$„¦   «         Z2 e"d%¦  «        d&ee%e#e&         e#e'         f                  d'ee#e)                  d(ee#e*                  d)ee#e+                  dee#e$                  d*e3d!ee.         d"ee/         d#e0de4fd+„¦   «         Z5 e"d,¦  «        de#e$         dee%e#e&         e#e'         f                  dee#e(                  dee#e)                  dee#e*                  dee#e+                  de6fd-„¦   «         Z7 e"d.¦  «        	 	 	 	 	 dNde#e$         dee%e#e&         e#e'         f                  dee#e(                  dee#e)                  dee#e*                  dee#e+                  de8fd/„¦   «         Z9 e"d0¦  «        	 dOdee:         d!ee.         d"ee/         d1ee3         de;f
d2„¦   «         Z<d3e=de=fd4„Z>d3e=d#e0de=fd5„Z?d3e@d#e0de@fd6„ZAd7ee         ddfd8„ZBd9ee         d7ee         d:eeC         ddfd;„ZDdeed<f         fd=„ZE	 dOdeeFe(                  deeFe)                  deeFe(                  fd>„ZG	 	 dPd@eHdAeeIe                  dBedeJfdC„ZKdQdDedBedeJfdE„ZL	 dQdDedFeMe         dBedefdG„ZNdHedefdI„ZOdJedefdK„ZPdLedefdM„ZQdS )RÚCollectionCommonÚ_modelÚ_clientÚ_embedding_functionÚ_data_loaderNÚclientÚmodelÚembedding_functionÚdata_loaderc                 ó`   — || _         || _        |�t          |¦  «         || _        || _        dS )z3Initializes a new instance of the Collection class.N)re   rd   r7   rf   rg   )rP   rh   ri   rj   rk   s        r[   Ú__init__zCollectionCommon.__init__z   s?   € ð ˆŒØˆŒð Ð)Ý'Ð(:Ñ;Ô;Ð;à#5ˆÔ Ø'ˆÔÐÐr`   rL   c                 ó   — | j         j        S ©N)rd   Úid©rP   s    r[   rp   zCollectionCommon.id‘   s   € àŒ{Œ~Ðr`   c                 ó   — | j         j        S ro   )rd   rK   rq   s    r[   rK   zCollectionCommon.name•   s   € àŒ{ÔÐr`   c                 ó4   — t          | j        j        ¦  «        S ro   )rB   rd   Úconfiguration_jsonrq   s    r[   ÚconfigurationzCollectionCommon.configuration™   s   € å6°t´{Ô7UÑVÔVÐVr`   c                 ó   — | j         j        S ro   )rd   rt   rq   s    r[   rt   z#CollectionCommon.configuration_json�   s   € àŒ{Ô-Ð-r`   c                 óZ   — t          j        | j        j        r| j        j        ni ¦  «        S ro   )r   Údeserialize_from_jsonrd   Úserialized_schemarq   s    r[   ÚschemazCollectionCommon.schema¡   s/   € åÔ+Ø-1¬[Ô-JÐRˆDŒKÔ)Ð)ÐPRñ
ô 
ð 	
r`   c                 ó@   — t          t          | j        j        ¦  «        S ro   )r   r   rd   Úmetadatarq   s    r[   r|   zCollectionCommon.metadata§   s   € åÕ&¨¬Ô(<Ñ=Ô=Ð=r`   c                 ó   — | j         j        S ro   )rd   Útenantrq   s    r[   r~   zCollectionCommon.tenant«   s   € àŒ{Ô!Ð!r`   c                 ó   — | j         j        S ro   )rd   Údatabaserq   s    r[   r€   zCollectionCommon.database¯   s   € àŒ{Ô#Ð#r`   Úotherc                 ót  — t          |t          ¦  «        sdS | j        |j        k    }| j        |j        k    }| j        |j        k    }| j        |j        k    }| j        |j        k    }| j        |j        k    }| j        |j        k    }| j	        |j	        k    }	| j
        |j
        k    }
|o|o|o|o	|o|o|o|	o|
S ©NF)Ú
isinstancerc   rp   rK   rt   rz   r|   r~   r€   rf   rg   )rP   r�   Úid_matchÚ
name_matchÚconfiguration_matchÚschema_matchÚmetadata_matchÚtenant_matchÚdatabase_matchÚembedding_function_matchÚdata_loader_matchs              r[   Ú__eq__zCollectionCommon.__eq__³   sõ   € Ý˜%Õ!1Ñ2Ô2ð 	Ø�5Ø”7˜eœhÒ&ˆØ”Y %¤*Ò,ˆ
Ø"Ô5¸Ô9QÒQÐØ”{ e¤lÒ2ˆØœ¨%¬.Ò8ˆØ”{ e¤lÒ2ˆØœ¨%¬.Ò8ˆØ#'Ô#;¸uÔ?XÒ#XÐ Ø Ô-°Ô1CÒCÐàð "Øð"à#ð"ð ð"ð ð	"ð
 ð"ð ð"ð )ð"ð "ð
	
r`   c                 ó   — d| j         › d�S )NzCollection(name=ú))rK   rq   s    r[   Ú__repr__zCollectionCommon.__repr__Ë   s   € Ø. $¤)Ð.Ð.Ð.Ð.r`   c                 ó   — | j         S ro   )rd   rq   s    r[   Ú	get_modelzCollectionCommon.get_modelÎ   s
   € ØŒ{Ðr`   ÚaddÚidsÚ
embeddingsÚ	metadatasÚ	documentsÚimagesÚurisc                 ón  — t          ||||||¬¦  «        }t          |¬¦  «         t          |dh¬¦  «         |d         €'t          |¬¦  «         |                      |¬¦  «        }n|d         }|                      |d         |d         ¦  «        }	t          |d         ||	|d         |d         ¬	¦  «        S )
N©r•   r–   r—   r˜   r™   rš   ©Ú
record_setr•   )rž   Úcontains_anyr–   r—   r˜   rš   ©r•   r–   r—   r˜   rš   )r0   r4   r:   r;   Ú_embed_record_setÚ%_apply_sparse_embeddings_to_metadatasr   )
rP   r•   r–   r—   r˜   r™   rš   Úadd_recordsÚadd_embeddingsÚadd_metadatass
             r[   Ú!_validate_and_prepare_add_requestz2CollectionCommon._validate_and_prepare_add_requestÑ   sí   € õ  2ØØ!ØØØØð
ñ 
ô 
ˆõ 	#¨kÐ:Ñ:Ô:Ð:Ý(°KÈuÈgÐVÑVÔVÐVð �|Ô$Ð,Ý-¸ÐEÑEÔEÐEØ!×3Ò3¸{Ð3ÑKÔKˆNˆNà(¨Ô6ˆNà×BÒBØ˜Ô$ k°+Ô&>ñ
ô 
ˆõ Ø˜EÔ"Ø%Ø#Ø! +Ô.Ø˜VÔ$ð
ñ 
ô 
ð 	
r`   ÚgetÚwhereÚwhere_documentÚincludec                 ó\  — t          |¬¦  «        }t          ||¬¦  «        }|�t          |¬¦  «         t          |¬¦  «         t	          |dg¬¦  «         d|v r| j        €t          d¦  «        ‚|}d|v rd	|vr|                     d	¦  «         t          ||d
         |d         |¬¦  «        S )N)Útarget©r¨   r©   ©r•   ©Ú
filter_setÚ	distances)rª   Ú
dissalowedÚdataúBYou must set a data loader on the collection if loading from URIs.rš   r¨   r©   )r•   r¨   r©   rª   )	r.   r   r2   r<   r3   rg   Ú
ValueErrorÚappendr   )rP   r•   r¨   r©   rª   Úunpacked_idsÚfiltersÚrequest_includes           r[   Ú!_validate_and_prepare_get_requestz2CollectionCommon._validate_and_prepare_get_request  së   € õ '=ÀCÐ&HÑ&HÔ&HˆÝ %¸ÐGÑGÔGˆð Ð#Ý˜\Ð*Ñ*Ô*Ð*å wÐ/Ñ/Ô/Ð/Ý °k°]ÐCÑCÔCÐCà�WÐÐ Ô!2Ð!:ÝØTñô ð ð
 "ˆà�WÐÐ ¨wÐ!6Ð!6Ø×"Ò" 6Ñ*Ô*Ð*åØØ˜'Ô"Ø"Ð#3Ô4Ø#ð	
ñ 
ô 
ð 	
r`   ÚqueryÚquery_embeddingsÚquery_textsÚquery_imagesÚ
query_urisÚ	n_resultsc
                 óà  — t          ||||¬¦  «        }
t          |¦  «        }t          ||¬¦  «        }t          |
¬¦  «         t	          |¬¦  «         t          |	¬¦  «         t          |¬¦  «         |
d         €(t          |
¬¦  «         |                      |
d¬	¦  «        }n|
d         }|d
         }|d         }|	}d|v rd|vr| 	                    d¦  «         t          ||||||¬¦  «        S )N)r–   r˜   r™   rš   r­   r�   r¯   )rª   )rÀ   r–   T)rž   Úis_queryr¨   r©   r³   rš   )r–   r•   r¨   r©   rª   rÀ   )r/   r.   r   r1   r<   r3   r9   r;   r¡   r¶   r$   )rP   r¼   r½   r¾   r¿   r•   rÀ   r¨   r©   rª   Úquery_recordsÚ
filter_idsr¸   Úrequest_embeddingsÚrequest_whereÚrequest_where_documentr¹   s                    r[   Ú#_validate_and_prepare_query_requestz4CollectionCommon._validate_and_prepare_query_request&  sP  € õ& 2Ø'Ø!ØØð	
ñ 
ô 
ˆõ ,¨CÑ0Ô0ˆ
åØØ)ð
ñ 
ô 
ˆõ 	!¨MÐ:Ñ:Ô:Ð:Ý wÐ/Ñ/Ô/Ð/Ý Ð)Ñ)Ô)Ð)Ý YÐ/Ñ/Ô/Ð/ð ˜Ô&Ð.Ý-¸ÐGÑGÔGÐGØ!%×!7Ò!7Ø(°4ð "8ñ "ô "ÐÐð "/¨|Ô!<Ðà Ô(ˆØ!(Ð)9Ô!:Ðð "ˆØ�_Ð$Ð$¨°Ð)FÐ)FØ×"Ò" 6Ñ*Ô*Ð*åØ)ØØØ1Ø#Øð
ñ 
ô 
ð 	
r`   Úupdatec                 óv  — t          ||||||¬¦  «        }t          |¬¦  «         |d         €=|d         €|d         �*t          |ddh¬¦  «         |                      |¬¦  «        }nd }n|d         }|                      |d         |d         ¦  «        }	t          |d         ||	|d         |d	         ¬
¦  «        S )Nrœ   r�   r–   r˜   r™   )Úembeddable_fieldsr—   r•   rš   r    )r0   r4   r;   r¡   r¢   r+   )
rP   r•   r–   r—   r˜   r™   rš   Úupdate_recordsÚupdate_embeddingsÚupdate_metadatass
             r[   Ú$_validate_and_prepare_update_requestz5CollectionCommon._validate_and_prepare_update_requestg  s  € õ  5ØØ!ØØØØð
ñ 
ô 
ˆõ 	#¨nÐ=Ñ=Ô=Ð=ð ˜,Ô'Ð/ð ˜{Ô+Ð7Ø! (Ô+Ð7å1Ø"°{ÀHÐ6Mðñ ô ð ð %)×$:Ò$:ÀnÐ$:Ñ$UÔ$UÐ!Ð!à$(Ð!Ð!à .¨|Ô <Ðà×EÒEØ˜;Ô'¨¸Ô)Dñ
ô 
Ðõ Ø˜uÔ%Ø(Ø&Ø$ [Ô1Ø Ô'ð
ñ 
ô 
ð 	
r`   Úupsertc                 óP  — t          ||||||¬¦  «        }t          |¬¦  «         |d         €*t          |ddh¬¦  «         |                      |¬¦  «        }n|d         }|                      |d         |d         ¦  «        }	t          |d         |	||d         |d	         ¬
¦  «        S )Nrœ   r�   r–   r˜   r™   )rž   rË   r—   r•   rš   )r•   r—   r–   r˜   rš   )r0   r4   r;   r¡   r¢   r,   )
rP   r•   r–   r—   r˜   r™   rš   Úupsert_recordsÚupsert_embeddingsÚupsert_metadatass
             r[   Ú$_validate_and_prepare_upsert_requestz5CollectionCommon._validate_and_prepare_upsert_requestŸ  sî   € õ  5ØØ!ØØØØð
ñ 
ô 
ˆõ 	#¨nÐ=Ñ=Ô=Ð=ð ˜,Ô'Ð/Ý-Ø)¸kÈ8Ð=Tðñ ô ð ð !%× 6Ò 6À.Ð 6Ñ QÔ QÐÐà .¨|Ô <Ðà×EÒEØ˜;Ô'¨¸Ô)Dñ
ô 
Ðõ Ø˜uÔ%Ø&Ø(Ø$ [Ô1Ø Ô'ð
ñ 
ô 
ð 	
r`   ÚdeleteÚlimitc                 óÐ  — |€|€|€t          d¦  «        ‚|�Nt          |t          ¦  «        rt          |t          ¦  «        rt	          d¦  «        ‚|dk     rt          d¦  «        ‚|�|€|€t          d¦  «        ‚|�#t          t          t          |¦  «        ¦  «        }nd }t          ||¬¦  «        }|�t          |¬¦  «         t          |¬¦  «         t          ||||¬¦  «        S )	Nz>At least one of ids, where, or where_document must be providedz$limit must be a non-negative integerr   zMlimit can only be specified when a where or where_document clause is providedr­   r®   r¯   )r•   r¨   r©   r×   )rµ   r„   ÚintÚboolÚ	TypeErrorr   r&   r.   r   r2   r<   r   )rP   r•   r¨   r©   r×   Úrequest_idsr¸   s          r[   Ú$_validate_and_prepare_delete_requestz5CollectionCommon._validate_and_prepare_delete_requestÐ  s!  € ð ˆ;˜5˜=¨^Ð-CÝØPñô ð ð ÐÝ˜e¥SÑ)Ô)ð H­Z¸½tÑ-DÔ-Dð HÝÐ FÑGÔGÐGØ�qŠyˆyÝ Ð!GÑHÔHÐHàÐ  °>Ð3IÝØ_ñô ð ð
 ˆ?Ý�sÕ$:¸3Ñ$?Ô$?Ñ@Ô@ˆKˆKàˆKÝ %¸ÐGÑGÔGˆð Ð"Ý˜[Ð)Ñ)Ô)Ð)Ý wÐ/Ñ/Ô/Ð/åØ 5¸Èuð
ñ 
ô 
ð 	
r`   Úresponsec                 óP   — |d         �t          j        |d         ¦  «        |d<   |S )Nr–   ©ÚnpÚarray)rP   rÞ   s     r[   Ú_transform_peek_responsez)CollectionCommon._transform_peek_responseø  s+   € Ø�LÔ!Ð-Ý%'¤X¨h°|Ô.DÑ%EÔ%EˆH�\Ñ"àˆr`   c                 ó¼   — d|v r-| j         �&|d         �|                       |d         ¦  «        |d<   d|v rt          j        |d         ¦  «        |d<   d|vrd |d<   |S )Nr³   rš   r–   )rg   rá   râ   ©rP   rÞ   rª   s      r[   Ú_transform_get_responsez(CollectionCommon._transform_get_responseþ  s€   € ð �gÐÐØÔ!Ð-Ø˜Ô Ð,à#×0Ò0°¸&Ô1AÑBÔBˆH�VÑà˜7Ð"Ð"Ý%'¤X¨h°|Ô.DÑ%EÔ%EˆH�\Ñ"ð ˜Ð Ð Ø#ˆH�VÑàˆr`   c                 ó°   ‡ — d|v r&‰ j         �|d         �ˆ fd„|d         D ¦   «         |d<   d|v r|d         �d„ |d         D ¦   «         |d<   d|vrd |d<   |S )Nr³   rš   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rV   ©rg   )Ú.0rš   rP   s     €r[   ú
<listcomp>z>CollectionCommon._transform_query_response.<locals>.<listcomp>  s'   ø€ ÐUÐUÐU¸D × 1Ò 1°$Ñ 7Ô 7ÐUÐUÐUr`   r–   c                 ó6   — g | ]}t          j        |¦  «        ‘ŒS rV   rà   )rê   Ú	embeddings     r[   rë   z>CollectionCommon._transform_query_response.<locals>.<listcomp>  s/   € ð &ð &ð &Ø(1•”˜Ñ#Ô#ð&ð &ð &r`   ré   rå   s   `  r[   Ú_transform_query_responsez*CollectionCommon._transform_query_response  s    ø€ ð �gÐÐØÔ!Ð-Ø˜Ô Ð,àUÐUÐUÐUÀHÈVÔDTÐUÑUÔUˆH�VÑà˜7Ð"Ð" x°Ô'=Ð'Ið&ð &Ø5=¸lÔ5Kð&ñ &ô &ˆH�\Ñ"ð
 ˜Ð Ð Ø#ˆH�VÑàˆr`   r|   c                 óR   — |�"t          |¦  «         d|v rt          d¦  «        ‚d S d S )Nz
hnsw:spacez]Changing the distance function of a collection once it is created is not supported currently.)r5   rµ   )rP   r|   s     r[   Ú_validate_modify_requestz)CollectionCommon._validate_modify_request&  sD   € ØÐÝ˜hÑ'Ô'Ð'Ø˜xÐ'Ð'Ý Øsñô ð ð  Ðà'Ð'r`   rK   ru   c                 ó4  — |r
|| j         d<   |r
|| j         d<   |r{| j                              t          | j                              ¦   «         |¦  «        ¦  «         | j        r7ddlm}  || j        |¦  «        }|                     ¦   «         | j         d<   d S d S d S )NrK   r|   r   )Ú+update_schema_from_collection_configurationry   )rd   Úset_configurationrA   Úget_configurationrz   Ú%chromadb.api.collection_configurationrò   Úserialize_to_json)rP   rK   r|   ru   rò   Úupdated_schemas         r[   Ú"_update_model_after_modify_successz3CollectionCommon._update_model_after_modify_success.  sð   € ð ð 	'Ø"&ˆDŒK˜ÑØð 	/Ø&.ˆDŒK˜
Ñ#Øð 	VØŒK×)Ò)Ý2Ø”K×1Ò1Ñ3Ô3°]ñô ñô ð ð Œ{ð Vðð ð ð ð ð ð "MÐ!LØ”K ñ"ô "�ð 4B×3SÒ3SÑ3UÔ3U�”Ð/Ñ0Ð0Ð0ð!	Vð 	VðVð Vr`   r   c                 óÐ   — | j         }|€i S i }|j                             ¦   «         D ]>\  }}|j        €Œ|j        j        }|�|j        sŒ#|j        }|j        �|j        €Œ9|||<   Œ?|S ro   )	rz   ÚkeysÚitemsÚsparse_vectorÚsparse_vector_indexÚenabledÚconfigrj   Ú
source_key)rP   rz   ÚtargetsÚkeyÚvalue_typesÚsparse_indexrÿ   s          r[   Ú_get_sparse_embedding_targetsz.CollectionCommon._get_sparse_embedding_targetsJ  sŽ   € Ø”ˆØˆ>ØˆIà8:ˆØ &¤× 1Ò 1Ñ 3Ô 3ð 		"ð 		"ÑˆC�ØÔ(Ð0ØØ&Ô4ÔHˆLØÐ#¨<Ô+?Ð#ØØ!Ô(ˆFØÔ(Ð0°FÔ4EÐ4MØØ!ˆG�C‰LˆLàˆr`   c                 ó<  — |                       ¦   «         }|s|S |€*|€d S d„ t          t          |¦  «        ¦  «        D ¦   «         }d„ |D ¦   «         }|�t          |¦  «        nd }|                     ¦   «         D �]K\  }}|j        }|j        }	|�|	€Œt          |	t          ¦  «        s t          t          t                   |	¦  «        }	t          |	¦  «         g }
g }|t          k    rô|€Œot          |¦  «        D ]d\  }}||v rŒ
|t          |¦  «        k     rG||         }t          |t          ¦  «        r*|
                     |¦  «         |                     |¦  «         Œet          |
¦  «        dk    rŒ÷|                      |
|	¬¦  «        }t          |¦  «        t          |¦  «        k    rt#          d¦  «        ‚t%          ||¦  «        D ]\  }}|||         |<   Œ�Œ`t          |¦  «        D ]_\  }}||v rŒ
|                     |¦  «        }t          |t          ¦  «        sŒ5|
                     |¦  «         |                     |¦  «         Œ`t          |
¦  «        dk    r�Œä|                      |
|	¬¦  «        }t          |¦  «        t          |¦  «        k    rt#          d¦  «        ‚t%          ||¦  «        D ]\  }}|||         |<   Œ�ŒMd„ |D ¦   «         }t)          t          t*          t,                   |¦  «        ¦  «         t          t*          t,                   |¦  «        S )Nc                 ó   — g | ]}i ‘ŒS rV   rV   )rê   Ú_s     r[   rë   zJCollectionCommon._apply_sparse_embeddings_to_metadatas.<locals>.<listcomp>j  s   € Ð;Ð;Ð; ˜Ð;Ð;Ð;r`   c                 ó4   — g | ]}|�t          |¦  «        ni ‘ŒS ro   )Údict©rê   r|   s     r[   rë   zJCollectionCommon._apply_sparse_embeddings_to_metadatas.<locals>.<listcomp>m  s4   € ð 3
ð 3
ð 3
Ø?G˜hÐ2�D�‰NŒNˆN¸ð3
ð 3
ð 3
r`   r   )ÚinputÚsparse_embedding_functionzCSparse embedding function returned unexpected number of embeddings.c                 ó   — g | ]}|r|nd ‘Œ	S ro   rV   r  s     r[   rë   zJCollectionCommon._apply_sparse_embeddings_to_metadatas.<locals>.<listcomp>Ã  s.   € ð 6
ð 6
ð 6
Ø/7˜Ð*ˆHˆH dð6
ð 6
ð 6
r`   )r  ÚrangeÚlenÚlistrû   r   rj   r„   r(   r   r   r8   r?   Ú	enumeraterX   r¶   Ú_sparse_embedrµ   Úzipr§   r6   r   r   )rP   r—   r˜   Úsparse_targetsÚupdated_metadatasÚdocuments_listÚ
target_keyrÿ   r   Úembedding_funcÚinputsÚ	positionsÚidxr|   ÚdocÚsparse_embeddingsÚpositionrí   Úsource_valueÚresult_metadatass                       r[   r¢   z6CollectionCommon._apply_sparse_embeddings_to_metadatas]  s¼  € ð
 ×;Ò;Ñ=Ô=ˆØð 	ØÐð ÐØÐ Ø�tØ;Ð;¥U­3¨y©>¬>Ñ%:Ô%:Ð;Ñ;Ô;ˆIð3
ð 3
ØKTð3
ñ 3
ô 3
Ðð -6Ð,A�˜i™œ˜Àtˆà"0×"6Ò"6Ñ"8Ô"8ð M	Dñ M	DÑˆJ˜ØÔ*ˆJØ#Ô6ˆNØÐ! ^Ð%;Øå˜nÕ.EÑFÔFð TÝ!%Õ&=½cÔ&BÀNÑ!SÔ!S�Ý.¨~Ñ>Ô>Ð>ð !#ˆFØ#%ˆIð �\Ò)Ð)Ø!Ð)Øõ &/Ð/@Ñ%AÔ%Að 
2ð 
2‘M�C˜à! XÐ-Ð-Ø ð �S Ñ0Ô0Ò0Ð0Ø,¨SÔ1˜Ý% c­3Ñ/Ô/ð 2Ø"ŸMšM¨#Ñ.Ô.Ð.Ø%×,Ò,¨SÑ1Ô1Ð1øõ �v‘;”; !Ò#Ð#Øà$(×$6Ò$6Ø Ø.<ð %7ñ %ô %Ð!õ
 Ð(Ñ)Ô)­S°©^¬^Ò;Ð;Ý$Ø]ñô ð õ ,/¨yÐ:KÑ+LÔ+Lð Hð HÑ'�H˜iØ>GÐ% hÔ/°
Ñ;Ð;áõ "+Ð+<Ñ!=Ô!=ð 	&ð 	&‘��XØ Ð)Ð)Øà'Ÿ|š|¨JÑ7Ô7�Ý! ,µÑ4Ô4ð Øà—’˜lÑ+Ô+Ð+Ø× Ò  Ñ%Ô%Ð%Ð%å�6‰{Œ{˜aÒÐÙà $× 2Ò 2ØØ*8ð !3ñ !ô !Ðõ
 Ð$Ñ%Ô%­¨Y©¬Ò7Ð7Ý ØYñô ð õ (+¨9Ð6GÑ'HÔ'Hð Dð DÑ#�˜)Ø:CÐ! (Ô+¨JÑ7Ð7ñDð6
ð 6
Ø;Lð6
ñ 6
ô 6
Ðõ 	�4¥¥X¤Ð0@ÑAÔAÑBÔBÐBÝ•D�”NÐ$4Ñ5Ô5Ð5r`   Frž   rË   rÂ   c           
      óh  — |€t          ¦   «         }|D ]‹}||         ��|dk    r\| j        €t          d¦  «        ‚|                      |                      t	          t
          ||         ¦  «        ¬¦  «        |¬¦  «        c S |                      ||         |¬¦  «        c S ŒŒt          d|› d|› �¦  «        ‚)Nrš   r´   )rš   ©r  rÂ   zTRecord does not contain any non-None fields that can be embedded.Embeddable Fields: zRecord Fields: )r-   rg   rµ   Ú_embedr   r   )rP   rž   rË   rÂ   Úfields        r[   r¡   z"CollectionCommon._embed_record_setÊ  s  € ð Ð$Ý HÑ JÔ JÐà&ð 	ð 	ˆEØ˜%Ô Ð,à˜F’?�?ØÔ(Ð0Ý(Ø`ñô ð ð  Ÿ;š;Ø"×/Ò/µT½$À
È5Ô@QÑ5RÔ5RÐ/ÑSÔSØ!)ð 'ñ ô ð ð ð ð
  Ÿ;š;Ø(¨Ô/Ø!)ð 'ñ ô ð ð ð ð -õ  ð+Ø"3ð+ð +à(ð+ð +ñ
ô 
ð 	
r`   r  c                 ó"  — | j         �Mt          | j         t          ¦  «        s3|r| j                              |¬¦  «        S |                       |¬¦  «        S | j                             d¦  «        }|�$|r|                     |¬¦  «        S  ||¬¦  «        S | j        }d }|�ò|j                             t          ¦  «        }|�_|j	        �X|j	        j
        �L|j	        j
        j        j        	 �5t          t          t                   |j	        j
        j        j        ¦  «        }nr|j        j	        �f|j        j	        j
        �U|j        j	        j
        j        j        	 �9t          t          t                   |j        j	        j
        j        j        ¦  «        }|�4|r&t#          |d¦  «        r|                     |¬¦  «        S  ||¬¦  «        S | j         €t%          d¦  «        ‚|r| j                              |¬¦  «        S |                       |¬¦  «        S )N©r  rj   Úembed_queryziYou must provide an embedding function to compute embeddings.https://docs.trychroma.com/guides/embeddings)rf   r„   r=   r(  ru   r§   rz   rú   r>   Ú
float_listÚvector_indexrÿ   rj   r   r'   r   ÚdefaultsÚhasattrrµ   )rP   r  rÂ   Ú	config_efrz   Úschema_embedding_functionÚoverrides          r[   r$  zCollectionCommon._embedê  s:  € ØÔ#Ð/½
ØÔ$Õ&>ñ9
ô 9
Ð/ð ð =ØÔ/×;Ò;À%Ð;ÑHÔHÐHà×/Ò/°eÐ/Ñ<Ô<Ð<àÔ&×*Ò*Ð+?Ñ@Ô@ˆ	ØÐ Øð .Ø ×,Ò,°5Ð,Ñ9Ô9Ð9à �y uÐ-Ñ-Ô-Ð-Ø”ˆØMQÐ!ØÐØ”{—’¥}Ñ5Ô5ˆHàÐ$ØÔ'Ð3ØÔ'Ô4Ð@ØÔ'Ô4Ô;ÔNØðõ -1Ý%¥jÔ1ØÔ'Ô4Ô;ÔNñ-ô -Ð)Ð)ð
 ”Ô*Ð6Ø”OÔ.Ô;ÐGØ”OÔ.Ô;ÔBÔUØðõ -1Ý%¥jÔ1Ø”OÔ.Ô;ÔBÔUñ-ô -Ð)ð
 %Ð0Øð J�GÐ$=¸}ÑMÔMð JØ0×<Ò<À5Ð<ÑIÔIÐIØ,Ð,°5Ð9Ñ9Ô9Ð9ØÔ#Ð+Ýð?ñô ð ð ð 	9ØÔ+×7Ò7¸eÐ7ÑDÔDÐDà×+Ò+°%Ð+Ñ8Ô8Ð8r`   r  c                 óJ   — |r|                      |¬¦  «        S  ||¬¦  «        S )Nr'  )r(  )rP   r  r  rÂ   s       r[   r  zCollectionCommon._sparse_embed!  s8   € ð ð 	FØ,×8Ò8¸uÐ8ÑEÔEÐEØ(Ð(¨uÐ5Ñ5Ô5Ð5r`   Úknnc                 ó0  — ddl m} t          ||¦  «        s|S t          |j        t          ¦  «        s|S |j        }|j        }|t          k    rf|                      |gd¬¦  «        }|rt          |¦  «        dk    rt          d¦  «        ‚ ||d         |j        |j
        |j        |j        ¬¦  «        S | j        }|�	||j        vrt          d	|› d
�¦  «        ‚|j        |         }|j        �Õ|j        j        }|�Ç|j        rÀ|j        }	|	j        �²|	j        }
t          |
t(          ¦  «        s t+          t(          t,                   |
¦  «        }
t/          |
¦  «         |                      |g|
d¬¦  «        }|rt          |¦  «        dk    rt          d¦  «        ‚ ||d         |j        |j
        |j        |j        ¬¦  «        S |j        �¼|j        j        }|�®|j        r§|j        }|j        �™|j        }
t7          |
¦  «         	 |
                     |g¬¦  «        }n# t:          $ r  |
|g¦  «        }Y nw xY w|rt          |¦  «        dk    rt          d¦  «        ‚ ||d         |j        |j
        |j        |j        ¬¦  «        S t          d	|› d�¦  «        ‚)ac  Embed string queries in Knn objects using the appropriate embedding function.

        Args:
            knn: A Knn object that may have a string query

        Returns:
            A Knn object with the string query replaced by an embedding

        Raises:
            ValueError: If the query is a string but no embedding function is available
        r   )ÚKnnTr#  rU   z;Embedding function returned unexpected number of embeddings)r»   r  r×   ÚdefaultÚreturn_rankNz#Cannot embed string query for key 'z|': key not found in schema. Please provide an embedded vector or configure an embedding function for this key in the schema.)r  r  rÂ   zBSparse embedding function returned unexpected number of embeddingsr'  z…': no embedding function configured for this key in the schema. Please provide an embedded vector or configure an embedding function.)Ú&chromadb.execution.expression.operatorr3  r„   r»   rX   r  r>   r$  r  rµ   r×   r4  r5  rz   rú   rü   rý   rþ   rÿ   rj   r(   r   r   r8   r  r)  r*  r7   r(  ÚAttributeError)rP   r1  r3  Ú
query_textr  rí   rz   Ú
value_typer  Úsparse_configr  Úsparse_embeddingr*  Údense_configr–   s                  r[   Ú_embed_knn_string_queriesz*CollectionCommon._embed_knn_string_queries+  sm  € ð 	?Ð>Ð>Ð>Ð>Ð>å˜#˜sÑ#Ô#ð 	ØˆJõ ˜#œ)¥SÑ)Ô)ð 	ØˆJà”Yˆ
ØŒgˆð •-ÒÐàŸš¨:¨,À˜ÑFÔFˆIØð ¥ I¡¤°!Ò 3Ð 3Ý ØQñô ð ð �3Ø ”lØ”GØ”iØœØœOðñ ô ð ð ”ˆØˆ>˜S¨¬Ð3Ð3ÝðO°cð Oð Oð Oñô ð ð ”[ Ô%ˆ
ð Ô#Ð/Ø%Ô3ÔGˆLØÐ'¨LÔ,@Ð'Ø ,Ô 3�Ø Ô3Ð?Ø%2Ô%E�NÝ% nÕ6MÑNÔNð Ý)-Ý3µCÔ8¸.ñ*ô *˜õ 7°~ÑFÔFÐFð (,×'9Ò'9Ø)˜lØ2@Ø!%ð (:ñ (ô (Ð$ð ,ð ­sÐ3CÑ/DÔ/DÈÒ/IÐ/IÝ(Ø`ñô ð ð
 ˜3Ø.¨qÔ1ØœGØ!œiØ #¤Ø$'¤Oðñ ô ð ð Ô Ð,Ø%Ô0Ô=ˆLØÐ'¨LÔ,@Ð'Ø+Ô2�ØÔ2Ð>Ø%1Ô%D�NÝ/°Ñ?Ô?Ð?ðBØ%3×%?Ò%?ÀzÀlÐ%?Ñ%SÔ%S˜
˜
øÝ)ð Bð Bð Bà%3 ^°Z°LÑ%AÔ%A˜
˜
˜
ðBøøøð &ð ­¨Z©¬¸AÒ)=Ð)=Ý(ØYñô ð ð
 ˜3Ø(¨œmØœGØ!œiØ #¤Ø$'¤Oðñ ô ð õ ðU°#ð Uð Uð Uñ
ô 
ð 	
s   ÈH ÈH4È3H4Úrankc                 óö  ‡ — ddl m}m}m}m}m}m}m}m}	m	}
m
}m}m} |€dS t          ||¦  «        r‰                      |¦  «        S t          ||¦  «        r|S t          ||¦  «        r# |‰                      |j        ¦  «        ¦  «        S t          ||¦  «        r< |‰                      |j        ¦  «        ‰                      |j        ¦  «        ¦  «        S t          ||¦  «        r# |‰                      |j        ¦  «        ¦  «        S t          ||¦  «        r# |‰                      |j        ¦  «        ¦  «        S t          ||¦  «        r |ˆ fd„|j        D ¦   «         ¦  «        S t          ||¦  «        r |ˆ fd„|j        D ¦   «         ¦  «        S t          ||	¦  «        r |	ˆ fd„|j        D ¦   «         ¦  «        S t          ||
¦  «        r< |
‰                      |j        ¦  «        ‰                      |j        ¦  «        ¦  «        S t          ||¦  «        r |ˆ fd„|j        D ¦   «         ¦  «        S t          ||¦  «        r/ |ˆ fd„|j        D ¦   «         |j        |j        |j        ¬	¦  «        S |S )
zóRecursively embed string queries in Rank expressions.

        Args:
            rank: A Rank expression that may contain Knn objects with string queries

        Returns:
            A Rank expression with all string queries embedded
        r   )r3  ÚAbsÚDivÚExpÚLogÚMaxÚMinÚMulÚSubÚSumÚValÚRrfNc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rV   ©Ú_embed_rank_string_queries©rê   ÚrrP   s     €r[   rë   z?CollectionCommon._embed_rank_string_queries.<locals>.<listcomp>Ú  ó'   ø€ ÐOÐOÐO¸q˜×7Ò7¸Ñ:Ô:ÐOÐOÐOr`   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rV   rL  rN  s     €r[   rë   z?CollectionCommon._embed_rank_string_queries.<locals>.<listcomp>Ý  rP  r`   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rV   rL  rN  s     €r[   rë   z?CollectionCommon._embed_rank_string_queries.<locals>.<listcomp>à  rP  r`   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rV   rL  rN  s     €r[   rë   z?CollectionCommon._embed_rank_string_queries.<locals>.<listcomp>é  rP  r`   c                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS rV   rL  rN  s     €r[   rë   z?CollectionCommon._embed_rank_string_queries.<locals>.<listcomp>í  s'   ø€ ÐNÐNÐN¸a�t×6Ò6°qÑ9Ô9ÐNÐNÐNr`   )ÚranksÚkÚweightsÚ	normalize)r6  r3  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  r„   r=  rM  r>  ÚleftÚrightrU  rV  rW  rX  )rP   r>  r3  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  s   `             r[   rM  z+CollectionCommon._embed_rank_string_queries¥  sU  ø€ ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð ˆ<Ø�4õ �d˜CÑ Ô ð 	8Ø×1Ò1°$Ñ7Ô7Ð7õ �d˜CÑ Ô ð 	ØˆKõ �d˜CÑ Ô ð 	CØ�3�t×6Ò6°t´yÑAÔAÑBÔBÐBå�d˜CÑ Ô ð 	Ø�3Ø×/Ò/°´	Ñ:Ô:Ø×/Ò/°´
Ñ;Ô;ñô ð õ
 �d˜CÑ Ô ð 	CØ�3�t×6Ò6°t´yÑAÔAÑBÔBÐBå�d˜CÑ Ô ð 	CØ�3�t×6Ò6°t´yÑAÔAÑBÔBÐBå�d˜CÑ Ô ð 	QØ�3ÐOÐOÐOÐOÀDÄJÐOÑOÔOÑPÔPÐPå�d˜CÑ Ô ð 	QØ�3ÐOÐOÐOÐOÀDÄJÐOÑOÔOÑPÔPÐPå�d˜CÑ Ô ð 	QØ�3ÐOÐOÐOÐOÀDÄJÐOÑOÔOÑPÔPÐPå�d˜CÑ Ô ð 	Ø�3Ø×/Ò/°´	Ñ:Ô:Ø×/Ò/°´
Ñ;Ô;ñô ð õ
 �d˜CÑ Ô ð 	QØ�3ÐOÐOÐOÐOÀDÄJÐOÑOÔOÑPÔPÐPå�d˜CÑ Ô ð 	Ø�3ØNÐNÐNÐNÀ4Ä:ÐNÑNÔNØ”&ØœØœ.ð	ñ ô ð ð ˆr`   Úsearchc                 ó®   — ddl m} t          ||¦  «        s|S |                      |j        ¦  «        } ||j        ||j        |j        |j        ¬¦  «        S )zäEmbed string queries in a Search object.

        Args:
            search: A Search object that may contain Knn objects with string queries

        Returns:
            A Search object with all string queries embedded
        r   )ÚSearch)r¨   r>  Úgroup_byr×   Úselect)	Ú"chromadb.execution.expression.planr]  r„   rM  Ú_rankÚ_whereÚ	_group_byÚ_limitÚ_select)rP   r[  r]  Úembedded_ranks       r[   Ú_embed_search_string_queriesz-CollectionCommon._embed_search_string_queriesö  sw   € ð 	>Ð=Ð=Ð=Ð=Ð=å˜& &Ñ)Ô)ð 	ØˆMð ×7Ò7¸¼ÑEÔEˆð ˆvØ”-ØØÔ%Ø”-Ø”>ð
ñ 
ô 
ð 	
r`   )NNNNNro   rƒ   )F)RÚ__name__Ú
__module__Ú__qualname__ÚCollectionModelÚ__annotations__rI   r   r'   r   r   r!   r=   rm   Úpropertyr   rp   rX   rK   rC   ru   r   r   rt   r   rz   r   r|   r~   r€   ÚobjectrÚ   rŽ   r‘   r“   ra   r*   r)   r   r   r   r   r"   r#   r   r   r¦   rE   rF   r    r   rº   rÙ   r$   rÈ   r+   rÏ   r,   rÕ   r&   r   rÝ   r   rã   ræ   r%   rî   rð   r@   rø   r  r   r¢   r   r	   r   r¡   r$  r(   r  r=  rM  rg  rV   r`   r[   rc   rc   t   s3	  € € € € € € ØÐÐÑØÐÐÑØ!Ð"3°JÔ"?Ô@Ð@Ð@Ñ@Ø˜: hÔ/Ô0Ð0Ð0Ñ0ð %Ð$Ñ&Ô&Ø6:ð(ð (àð(ð ð(ð %Ø˜jÔ)ô
ð	(ð ˜j¨Ô2Ô3ð(ð (ð (ð (ð. ð�Dð ð ð ñ „Xðð ð �cð  ð  ð  ñ „Xð ð ðWÐ6ð Wð Wð Wñ „XðWð ð. D¨¨c¨¤Nð .ð .ð .ñ „Xð.ð ð
˜ Ô(ð 
ð 
ð 
ñ „Xð
ð
 ð>Ð,ð >ð >ð >ñ „Xð>ð ð"˜ð "ð "ð "ñ „Xð"ð ð$˜#ð $ð $ð $ñ „Xð$ð
˜Fð 
 tð 
ð 
ð 
ð 
ð0/˜#ð /ð /ð /ð /ð˜?ð ð ð ð ð Ð˜ÑÔð-
à�rŒ]ð-
ð ØØ˜)Ô$Ø˜+Ô&ð(ôô
ð-
ð ˜I hÔ/Ô0ð-
ð ˜I hÔ/Ô0ð-
ð ˜ 5Ô)Ô*ð-
ð �y ”~Ô&ð-
ð 
ð-
ð -
ð -
ñ Ôð-
ð^ Ð˜ÑÔð"
à�i ”mÔ$ð"
ð ˜Œð"
ð ! Ô/ð	"
ð
 ð"
ð 
ð"
ð "
ð "
ñ Ôð"
ðH Ð˜Ñ Ô ð>
à"ØØ˜)Ô$Ø˜+Ô&ð(ôô
ð>
ð ˜i¨Ô1Ô2ð>
ð ˜y¨Ô/Ô0ð>
ð ˜Y sœ^Ô,ð>
ð �i ”mÔ$ð>
ð ð>
ð ˜Œð>
ð ! Ô/ð>
ð ð>
ð  
ð!>
ð >
ð >
ñ !Ô ð>
ð@ Ð˜Ñ!Ô!ð5
à�rŒ]ð5
ð ØØ˜)Ô$Ø˜+Ô&ð(ôô
ð5
ð ˜I hÔ/Ô0ð5
ð ˜I hÔ/Ô0ð5
ð ˜ 5Ô)Ô*ð5
ð �y ”~Ô&ð5
ð 
ð5
ð 5
ð 5
ñ "Ô!ð5
ðn Ð˜Ñ!Ô!ð Ø37Ø37Ø-1Ø)-ð.
ð .
à�rŒ]ð.
ð ØØ˜)Ô$Ø˜+Ô&ð(ôô
ð.
ð ˜I hÔ/Ô0ð.
ð ˜I hÔ/Ô0ð.
ð ˜ 5Ô)Ô*ð.
ð �y ”~Ô&ð.
ð 
ð.
ð .
ð .
ñ "Ô!ð.
ð` Ð˜Ñ!Ô!ð  $ð%
ð %
à�cŒ]ð%
ð ˜Œð%
ð ! Ô/ð	%
ð
 ˜Œ}ð%
ð 
ð%
ð %
ð %
ñ "Ô!ð%
ðN°ð ¸yð ð ð ð ðØ!ðØ,3ðà	ðð ð ð ð&Ø#ðØ.5ðà	ðð ð ð ð*°Ð:LÔ1Mð ÐRVð ð ð ð ðVà�sŒmðVð Ð-Ô.ðVð  Ð =Ô>ð	Vð
 
ðVð Vð Vð Vð8¨t°CÐ9RÐ4RÔ/Sð ð ð ð ð, /3ðk6ð k6à˜D œNÔ+ðk6ð ˜D œNÔ+ðk6ð 
�$�x”.Ô	!ð	k6ð k6ð k6ð k6ð` 15Øð	
ð 
à!ð
ð $ C¨¤HÔ-ð
ð ð	
ð
 
ð
ð 
ð 
ð 
ð@59ð 59˜Cð 59¨4ð 59¸Jð 59ð 59ð 59ð 59ðv ð	6ð 6àð6ð $;¸3Ô#?ð6ð ð	6ð
 
ð6ð 6ð 6ð 6ðx
¨Sð x
°Sð x
ð x
ð x
ð x
ðtO¨sð O°sð Oð Oð Oð Oðb
°3ð 
¸3ð 
ð 
ð 
ð 
ð 
ð 
r`   rc   )Yr]   Útypingr   r   r   r   r   r   r	   r
   r   r   r   Úchromadb.typesr   Únumpyrá   Úuuidr   Úchromadb.api.typesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   rõ   r@   rA   rB   rC   rD   rk  rE   rF   ÚloggingÚ	getLoggerrh  ÚloggerÚchromadb.apirG   rH   rI   rJ   rX   ra   rc   rV   r`   r[   ú<module>rx     sø  ðØ Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð $Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ðdð ð ð ð ð ð ð ð ð ð ð ð OÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ €€€à	ˆÔ	˜8Ñ	$Ô	$€àð 7Ø6Ð6Ð6Ð6Ð6Ð6Ð6Ð6à
ˆ'�)˜[Ð*:Ñ
;Ô
;€à€GˆC�L„L€ð˜Sð  X¨x¸¸Q¸Ô/?Ð.@À(È3ÐPQÈ6ÔBRÐ.RÔ%Sð ð ð ð ð.[
ð [
ð [
ð [
ð [
�w˜wÔ'ñ [
ô [
ð [
ð [
ð [
r`   