§
    ˜Štjo0  ã                   óF  — d dl Z d dl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 d dlmc mZ d dlmZmZmZmZmZmZmZ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 d dl Z d dlm!Z!  G d„ d	e¦  «        Z"ed
e j#        deddfd„¦   «         Z$deddfd„Z%deddfd„Z&dS )é    N)Úcheck_metadata)Ú	ClientAPI)ÚBundleÚRuleBasedStateMachineÚruleÚ
initializeÚmultipleÚconsumesÚrun_state_machine_as_testÚMultipleResults)Úmulti_region_test)ÚAnyÚDictÚMappingÚOptional)Úhashing_embedding_functionc            
       ó´  ‡ — e Zd ZU eej                 ed<   eee	e
j                 f         ed<    ed¦  «        Zdefˆ fd„Z e¦   «         d"d„¦   «         Z ee ej        ¦   «         ¬¦  «        d	ej        deej                 fd
„¦   «         Z ee¬¦  «        d	ej        ddfd„¦   «         Z e ee¦  «        ¬¦  «        d	ej        ddfd„¦   «         Z e¦   «         d"d„¦   «         Z e ej        dd¬¦  «         ej        dd¬¦  «        ¬¦  «        dededdfd„¦   «         Z ee ej         ej        ¦   «         ej        ¦  «         ej         ee¦  «         ej        ¦   «         ¦  «        ¬¦  «        d	ej        de	e
j                 deej                 fd„¦   «         Z ee ee¦  «        ej         ej         ej        ¦   «          ej         ¦   «         ¦  «        ¬¦  «        d	ej        de
j        de	e         deej                 fd„¦   «         Z!dede	e
j                 ddfd„Z"deddfd „Z#e$deee	e
j                 f         fd!„¦   «         Z%ˆ xZ&S )#ÚCollectionStateMachineÚcollectionsÚ_modelÚclientc                 ód   •— t          ¦   «                              ¦   «          i | _        || _        d S ©N)ÚsuperÚ__init__r   r   )Úselfr   Ú	__class__s     €úe/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/chromadb/test/property/test_collections.pyr   zCollectionStateMachine.__init__   s+   ø€ Ý‰Œ×ÒÑÔÐØˆŒØˆŒˆˆó    ÚreturnNc                 óF   — | j                              ¦   «          i | _        d S r   )r   Úresetr   ©r   s    r   r   z!CollectionStateMachine.initialize$   s!   € àŒ×ÒÑÔÐØˆŒˆˆr   )ÚtargetÚcollr%   c                 óV  — |j         | j        v s|j        �ƒt          |j        ¦  «        dk    rkt	          j        t          ¦  «        5  | j                             |j         |j        |j	        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ¦   «         S | j                             |j         |j        |j	        ¬¦  «        }|                      |j         |j        ¦  «         |j         |j         k    sJ ‚t          | j        |j                  |j        ¦  «         t          |¦  «        S ©Nr   ©ÚnameÚmetadataÚembedding_function)r)   Úmodelr*   ÚlenÚpytestÚraisesÚ	Exceptionr   Úcreate_collectionr+   r	   Ú	set_modelr   ©r   r%   Úcs      r   Úcreate_collz"CollectionStateMachine.create_coll)   sN  € ð
 Œ9˜œ
Ð"Ð"ØŒMÐ%­#¨d¬mÑ*<Ô*<ÀÒ*AÐ*Aå”�yÑ)Ô)ð ð Ø”K×1Ò1ØœØ!œ]Ø'+Ô'>ð 2ñ ô �ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ‘:”:ÐàŒK×)Ò)Ø”Ø”]Ø#Ô6ð *ñ 
ô 
ˆð
 	�Š�t”y $¤-Ñ0Ô0Ð0àŒv˜œÒ"Ð"Ð"Ð"Ý�t”z $¤)Ô,¨a¬jÑ9Ô9Ð9Ý˜‰~Œ~Ðs   Á-B Â BÂB)r%   c                 óx  — |j         | j        v rY| j                             |j         ¬¦  «        }|j         |j         k    sJ ‚t	          | j        |j                  |j        ¦  «         d S t          j        t          ¦  «        5  | j                             |j         ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©N©r)   )	r)   r,   r   Úget_collectionr   r*   r.   r/   r0   r3   s      r   Úget_collzCollectionStateMachine.get_collD   sð   € àŒ9˜œ
Ð"Ð"Ø”×*Ò*°´	Ð*Ñ:Ô:ˆAØ”6˜TœYÒ&Ð&Ð&Ð&Ý˜4œ: d¤iÔ0°!´*Ñ=Ô=Ð=Ð=Ð=å”�yÑ)Ô)ð ;ð ;Ø”×*Ò*°´	Ð*Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;s   Â!B/Â/B3Â6B3c                 óL  — |j         | j        v rrt          j        | j        |j         ¦  «        5  | j                             |j         ¬¦  «         |                      |j         ¦  «         d d d ¦  «         n# 1 swxY w Y   nQt          j        t          ¦  «        5  | j                             |j         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  | j         
                    |j         ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r7   )r)   r,   Ú
invariantsÚcollection_deletedr   Údelete_collectionÚdelete_from_modelr.   r/   r0   r9   )r   r%   s     r   Údelete_collz"CollectionStateMachine.delete_collN   sÂ  € àŒ9˜œ
Ð"Ð"ÝÔ.¨t¬{¸D¼IÑFÔFð 2ð 2Ø”×-Ò-°4´9Ð-Ñ=Ô=Ð=Ø×&Ò& t¤yÑ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2øõ ”�yÑ)Ô)ð >ð >Ø”×-Ò-°4´9Ð-Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >õ Œ]�9Ñ%Ô%ð 	7ð 	7ØŒK×&Ò&¨D¬IÐ&Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7ð 	7ð 	7s5   ®;A5Á5A9Á<A9Â!CÃCÃCÃ+!DÄDÄ Dc                 ó°   — | j                              ¦   «         }t          |¦  «        t          | j        ¦  «        k    sJ ‚|D ]}|j        | j        v sJ ‚Œd S r   )r   Úlist_collectionsr-   r,   r)   )r   Úcollsr4   s      r   rB   z'CollectionStateMachine.list_collections[   se   € à”×,Ò,Ñ.Ô.ˆÝ�5‰zŒz�S ¤™_œ_Ò,Ð,Ð,Ð,Øð 	(ð 	(ˆAØ”6˜TœZÐ'Ð'Ð'Ð'Ð'ð	(ð 	(r   é   é   )Ú	min_valueÚ	max_valuer   ©ÚlimitÚoffsetrI   rJ   c                 óX  — | j                              ||¬¦  «        }| j                              ¦   «         }| j                              ¦   «         }||||z   …         }||z   |k    r0t          |¦  «        t	          ||z
  d¦  «        k    sJ ‚||k    sJ ‚d S t          |¦  «        |k    sJ ‚d S )NrH   r   )r   rB   Úcount_collectionsr-   Úmax)r   rI   rJ   rC   Útotal_collectionsÚ	all_collsÚ	man_collss          r   Ú"list_collections_with_limit_offsetz9CollectionStateMachine.list_collections_with_limit_offsetc   sÉ   € ð
 ”×,Ò,°5ÀÐ,ÑHÔHˆØ œK×9Ò9Ñ;Ô;Ðð ”K×0Ò0Ñ2Ô2ˆ	à˜f v°¡~Ð5Ô6ˆ	ð �6‰>Ð-Ò-Ð-Ý�u‘:”:¥Ð%6¸Ñ%?ÀÑ!CÔ!CÒCÐCÐCÐCà˜IÒ%Ð%Ð%Ð%Ð%Ð%õ �u‘:”: Ò&Ð&Ð&Ð&Ð&Ð&r   )r$   Únew_metadatar%   rR   c                 ó<  — |�yt          |¦  «        dk    rft          j        t          ¦  «        5  | j                             |j        ||j        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ¦   «         S |j        | j	        vr'||_
        |                      |j        |j
        ¦  «         | j                             |j        ||j        ¬¦  «        }|j        |j        k    sJ ‚t          | j	        |j                 |j
        ¦  «         t          |¦  «        S r'   )r-   r.   r/   r0   r   Úget_or_create_collectionr)   r+   r	   r,   r*   r2   r   )r   r%   rR   r4   s       r   Úget_or_create_collz)CollectionStateMachine.get_or_create_colly   sQ  € ð8 Ð#­¨LÑ(9Ô(9¸QÒ(>Ð(>Ý”�yÑ)Ô)ð ð Ø”K×8Ò8ØœØ)Ø'+Ô'>ð 9ñ ô �ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ‘:”:Ðð Œ9˜DœJÐ&Ð&à(ˆDŒMØ�NŠN˜4œ9 d¤mÑ4Ô4Ð4ð ŒK×0Ò0Ø”Ø!Ø#Ô6ð 1ñ 
ô 
ˆð Œv˜œÒ"Ð"Ð"Ð"Ý�t”z $¤)Ô,¨a¬jÑ9Ô9Ð9Ý˜‰~Œ~Ðs   ¯(A#Á#A'Á*A')r$   r%   rR   Únew_namerV   c                 óš  — |j         | j        vr_t          j        t          ¦  «        5  | j                             |j         ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ¦   «         S | j                             |j         ¬¦  «        }| j        |j                  }|j         }|�‚t          |¦  «        dk    rft          j        t          ¦  «        5  | j         	                    |j         ||j
        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ¦   «         S ||_        |}|��|| j        v ra||j         k    rVt          j        t          ¦  «        5  |                     ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          ¦   «         S |                      |j         ¦  «         ||_         |}|                      ||¦  «         |                     ||¬¦  «         | j                             |j         ¬¦  «        }|j         |j         k    sJ ‚t          | j        |j                  |j        ¦  «         t          |¦  «        S )Nr8   r   r(   )r*   r)   )r)   r,   r.   r/   r0   r   r9   r	   r-   rT   r+   r*   Úmodifyr?   r2   r   )r   r%   rR   rV   r4   Ú	_metadataÚ_names          r   Úmodify_collz"CollectionStateMachine.modify_coll°   sâ  € ð Œ9˜DœJÐ&Ð&Ý”�yÑ)Ô)ð ?ð ?Ø”K×.Ò.°D´IÐ.Ñ>Ô>�ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?å‘:”:ÐàŒK×&Ò&¨D¬IÐ&Ñ6Ô6ˆØ15´¸D¼IÔ1Fˆ	Ø”YˆØÐ#å�<Ñ Ô  AÒ%Ð%Ý”]¥9Ñ-Ô-ð ð Øœ×<Ò<Ø!œYØ!-Ø+/Ô+Bð =ñ ô �Aðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ  ‘z”zÐ!à(ˆDŒMØ$ˆIàÐØ˜4œ:Ð%Ð%¨(°d´iÒ*?Ð*?Ý”]¥9Ñ-Ô-ð Cð CØ—H’H l¸�HÑBÔBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cå‘z”zÐ!à×"Ò" 4¤9Ñ-Ô-Ð-Ø ˆDŒIØˆEà�Š�u˜iÑ(Ô(Ð(Ø	�Š˜)¨%ˆÑ0Ô0Ð0ØŒK×&Ò&¨D¬IÐ&Ñ6Ô6ˆàŒv˜œÒ"Ð"Ð"Ð"Ý�t”z $¤)Ô,¨a¬jÑ9Ô9Ð9Ý˜‰~Œ~Ðs5   ¨!AÁAÁAÃ(D	Ä	DÄDÅE>Å>FÆFr)   r*   c                 ó   — | j         }|||<   d S r   ©r,   )r   r)   r*   r,   s       r   r2   z CollectionStateMachine.set_modelä   s   € ð
 ”
ˆØˆˆd‰ˆˆr   c                 ó   — | j         }||= d S r   r]   )r   r)   r,   s      r   r?   z(CollectionStateMachine.delete_from_modelì   s   € Ø”
ˆØ�$ˆKˆKˆKr   c                 ó   — | j         S r   )r   r#   s    r   r,   zCollectionStateMachine.modelð   s
   € àŒ{Ðr   )r    N)'Ú__name__Ú
__module__Ú__qualname__r   Ú
strategiesÚExternalCollectionÚ__annotations__r   Ústrr   ÚtypesÚCollectionMetadatar   r   r   r   r   r   r5   r:   r
   r@   rB   ÚstÚintegersÚintrQ   Úone_ofÚnoneÚcollection_metadataÚMetadatarU   Úcollection_namer[   r2   r?   Úpropertyr,   Ú__classcell__)r   s   @r   r   r      s  ø€ € € € € € Ø˜
Ô5Ô6Ð6Ð6Ñ6Ø��h˜uÔ7Ô8Ð8Ô9Ð9Ð9Ñ9à�&˜Ñ'Ô'€Kð˜yð ð ð ð ð ð ð
 €Z�\„\ðð ð ñ „\ðð 
€T�Ð#9 :Ô#9Ñ#;Ô#;Ð<Ñ<Ô<ðØÔ1ðà	˜Ô6Ô	7ðð ð ñ =Ô<ðð4 
€Tˆ{ÐÑÔð;˜ZÔ:ð ;¸tð ;ð ;ð ;ñ Ôð;ð 
€Tˆxˆx˜Ñ$Ô$Ð%Ñ%Ô%ð
7 
Ô =ð 
7À$ð 
7ð 
7ð 
7ñ &Ô%ð
7ð 
€T�V„Vð(ð (ð (ñ „Vð(ð 
€TØˆbŒk A°Ð3Ñ3Ô3ØˆrŒ{ Q°!Ð4Ñ4Ô4ðñ ô ð'¸ð 'ÀSð 'ÈTð 'ð 'ð 'ñ	ô ð'ð$ 
€TØØ�R”Y˜w˜rœw™yœy¨*Ô*HÑIÔIØˆRŒY�x�x Ñ,Ô,Ð.D¨jÔ.DÑ.FÔ.FÑGÔGðñ ô ð
0àÔ+ð0ð ˜uœ~Ô.ð0ð 
˜Ô6Ô	7ð	0ð 0ð 0ñô ð
0ðd 
€TØØˆX�kÑ"Ô"ØÔ3Ø�”˜7˜2œ7™9œ9Ð&@ jÔ&@Ñ&BÔ&BÑCÔCð	ñ ô ð,àÔ+ð,ð ”nð,ð ˜3”-ð	,ð
 
˜Ô6Ô	7ð,ð ,ð ,ñô ð,ð\àðð ˜5Ô3Ô4ðð 
ð	ð ð ð ð cð ¨dð ð ð ð ð ð�t˜C ¨%Ô*BÔ!CÐCÔDð ð ð ñ „Xðð ð ð ð r   r   Úcaplogr   r    c                 ój   ‡— |                       t          j        ¦  «         t          ˆfd„¦  «         d S )Nc                  ó"   •— t          ‰ ¦  «        S r   )r   )r   s   €r   ú<lambda>z"test_collections.<locals>.<lambda>ø   s   ø€ Õ&<¸VÑ&DÔ&D€ r   )Ú	set_levelÚloggingÚERRORr   )rs   r   s    `r   Útest_collectionsrz   õ   s7   ø€ à
×Ò•W”]Ñ#Ô#Ð#ÝÐDÐDÐDÐDÑEÔEÐEÐEÐEr   c           
      óÐ  — t          | ¦  «        }|                     ¦   «          |                     t          j        dd t          t          j        d¬¦  «        ¬¦  «        d ¬¦  «        \  }|                     t          j        dd t          t          j        d¬¦  «        ¬¦  «        d ¬¦  «        \  }|                     |dddd	œd ¬
¦  «         |                     |d d ¬
¦  «         d S )NÚjjn2yjLW1zp2Ti_  )ÚdtypeÚdimr(   ©r%   rR   iÿúÿÿg       €Úim)Ú7ÚfGeÚK5j©r%   rR   rV   )	r   r   rU   rc   rd   r   ÚnumpyÚfloat32r[   )r   ÚstateÚv1Úv6s       r   Útest_previously_failing_onerŠ      s  € Ý" 6Ñ*Ô*€EØ	×ÒÑÔÐð ×$Ò$ÝÔ*Ø ØÝ9ÅÄÐSVÐWÑWÔWð
ñ 
ô 
ð
 ð %ñ ô �E€Rð ×$Ò$ÝÔ*Ø ØÝ9ÅÄÐSVÐWÑWÔWð
ñ 
ô 
ð
 ð %ñ ô �E€Rð 
×ÒØ E°$¸tÐDÐDÈtð ñ ô ð ð 
×Ò˜2¨D¸4ÐÑ@Ô@Ð@Ð@Ð@r   c                 óª  — t          | ¦  «        }|                     ¦   «          |                     t          j        di t          dt          j        ¬¦  «        ¬¦  «        d ¬¦  «        \  }|                     |dddd	d
dœd¬¦  «        \  }|                     t          j        ddddddddœt          dt          j        ¬¦  «        ¬¦  «        ddddddœ¬¦  «         |                     |ddid¬¦  «        }|                     |d ¬¦  «        }|                     t          j        dd t          d t          j	        ¬¦  «        ¬¦  «        d ¬¦  «         d S )!NÚC1030é   )r~   r}   r(   r   Ú10Ú0ÚqNÚYST)r�   Ú40Úp1nviWeL7fOÚ7bÚVYWq4LEMWjCoÚ
OF5F0MzbQgr„   ÚVS0QGhgj™¦:U‰õiÆî  iÿÿÿÚpSPFgh_   €>)ÚhÚA1ÚuhUhLEEMfeC_kNÚweFÚB3DSaPÚ6H533Ki{  iö{  gš™™™™™ñ?g    €„.ÁÚG3EtXTZiv  )ÚxVW09xUpDZAÚgzn1dUTalF-MYÚyÚugXZ_hKÚL35J2SÚK0l026ÚAi1iF  )
r   r   rU   rc   rd   r   r…   r†   r[   Úfloat16)r   r‡   Úv13Úv15Úv17Úv18s         r   Útest_previously_failing_twor¬     sÒ  € Ý" 6Ñ*Ô*€EØ	×ÒÑÔÐØ×%Ò%ÝÔ*ØØÝ9¸aÅuÄ}ÐUÑUÔUð
ñ 
ô 
ð
 ð &ñ ô �F€Sð ×ÒØàØØØØ ð
ð 
ð ð ñ 
ô 
�F€Sð 
×ÒÝÔ*Øà+ØØ",ØØØ)ðð õ  :Ø¥¤ð ñ  ô  ð
ñ 
ô 
ð !ØØ%ØØð
ð 
ð ñ ô ð ð. ×
Ò
Ø ¨(Ð3¸eð ñ ô €Cð ×
"Ò
"¨¸$Ð
"Ñ
?Ô
?€CØ	×ÒÝÔ*ØØÝ9¸cÍÌÐWÑWÔWð
ñ 
ô 
ð
 ð ñ ô ð ð ð r   )'r.   rx   Úhypothesis.strategiesrc   ri   Ú!chromadb.test.property.invariantsr   Ú!chromadb.test.property.strategiesÚtestrq   Úchromadb.apir   Úchromadb.api.typesÚapirg   Úhypothesis.statefulr   r   r   r   r	   r
   r   r   Úchromadb.test.conftestr   r<   Útypingr   r   r   r   r…   r   r   ÚLogCaptureFixturerz   rŠ   r¬   © r   r   ú<module>r¹      s/  ðØ €€€Ø €€€Ø "Ð "Ð "Ð "Ð "Ð "Ø <Ð <Ð <Ð <Ð <Ð <Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø "Ð "Ð "Ð "Ð "Ð "Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ð "ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 5Ð 4Ð 4Ð 4Ð 4Ð 4Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø €€€Ø HÐ HÐ HÐ HÐ HÐ HðYð Yð Yð Yð YÐ2ñ Yô Yð Yðx ðF˜VÔ5ð F¸yð FÈTð Fð Fð Fñ ÔðFðA¨	ð A°dð Að Að Að Að88¨	ð 8°dð 8ð 8ð 8ð 8ð 8ð 8r   