+
    4O|j÷  ã                  ó¶  a € 0 t $ R t^ RIHt ^ RIt^ RIt^ RIt^ RIHt	 ^ RI
HtHtHtHtHtHtHtHtHt ^ RIt^ RIHtHtHt ^ RIHt ^ RIHtHtHtHt ^ RIH t  ^ R	I!H"t"  ^ R
I#H$t$ Rt%^ RI'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/ ^ RI0H1t1H2t2 ]'       d   ^ RI3H4t4H5t5H6t6 ^ RI7H8t8 ^ RI9H:t:H;t;H<t<H=t=H>t> Rt?R°t@RtA^ tB^tC^tDRtERtFRtGRtHRtIRtJRtK]BR]CR]DR/tLRRR R!R"R#R$R%/tM]! R&R'7      tNR(]OR)&   R* R+ ltPR, R- ltQR. R/ ltRR0 R1 ltSR2 R3 ltTR4^R5^R6^R7^ R8^€/tUR9R:R;R<R=R>R?R@RARBRCRDRERFRGRHRIRJRKRLRMRLRNRO/tVR±RP RQ lltWRR RS ltX]P²                  ! RT4      P´                  t[^t\RU RV lt]]P²                  ! RW4      P´                  t^RX RY lt_]P²                  ! RZ4      P´                  t`]P²                  ! R[4      P´                  ta]P²                  ! R\4      P´                  tbR] R^ ltcR_ R` ltdRa Rb lte]%'       d   ]$PÌ                  teR²Rc Rd lltfRe Rf ltgRg Rh lthRi Rj lti]%'       d   ]$PÔ                  tiR²Rk Rl lltk]P²                  ! Rm4      P´                  tlRn Ro ltmRp Rq ltnRr Rs lto]%'       d   ]$Pà                  toR²Rt Ru lltq]BRv]CRw]DRx/tr ! Ry Rz4      ts ! R{ R|]s4      tt ! R} R~]t4      tuR R€ ltvR�twR‚ Rƒ ltxR„ R… lty]%'       d   ]$Pò                  tyR† R‡ ltzRˆ R‰ lt{]%'       d   ]$Pö                  t{RŠ R‹ lt| ! RŒ R�]s4      t}RŽt~R� R� ltR‘ R’ lt€R“ R” lt�R• R– lt‚R— R˜ ltƒR™ Rš lt„R› Rœ lt…]%'       d   ]$EP
                  t…R� Rž lt† ! RŸ R 4      t‡ ! R¡ R¢4      tˆ]‡EP                  ]‡EP                  ]ˆEP                  ]ˆEP                  /t‹R£]OR¤&    ! R¥ R¦4      tŒ ! R§ R¨4      t� ! R© Rª]Œ4      tŽ ! R« R¬]�4      t� ! R­ R®]�]R¯3,          4      t‘R#   ]& d    Rt% ELmi ; i)³zâTools for creating `messages
<https://www.mongodb.com/docs/manual/reference/mongodb-wire-protocol/>`_ to be sent to
MongoDB.

.. note:: This module is for internal use and is generally not needed by
   application developers.
)ÚannotationsN)ÚBytesIO)	ÚTYPE_CHECKINGÚAnyÚCallableÚIterableÚMappingÚMutableMappingÚNoReturnÚOptionalÚUnion)ÚCodecOptionsÚ_dict_to_bsonÚ_make_c_string)ÚInt64)Ú_RAW_ARRAY_BSON_OPTIONSÚDEFAULT_RAW_BSON_OPTIONSÚRawBSONDocumentÚ_inflate_bson)ÚHelloCompat)Ú_EventListeners)Ú	_cmessageTF)ÚConfigurationErrorÚCursorNotFoundÚDocumentTooLargeÚExecutionTimeoutÚInvalidOperationÚNotPrimaryErrorÚOperationFailureÚProtocolError)ÚReadPreferenceÚ_ServerMode)ÚSnappyContextÚZlibContextÚZstdContext)ÚReadConcern)Ú_AddressÚ_AgnosticClientSessionÚ_AgnosticConnectionÚ_AgnosticMongoClientÚ_DocumentOutiÿÿÿiþ?  ó    ó   ó    s     ó       s           s       ÿÿÿÿs   documents     s   updates     s   deletes     ÚinsertÚ	documentsÚupdateÚupdatesÚdeleteÚdeletesÚ	bulkWriteÚopsÚreplace)Úunicode_decode_error_handlerzCodecOptions[Mapping[str, Any]]Ú_UNICODE_REPLACE_CODEC_OPTIONSc               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚint© )Úformats   "ÚHC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\pymongo/message.pyÚ__annotate__rB   t   s   € ÷ 0ñ 0�#ñ 0r+   c                 ó@   € \         P                  ! \        \        4      # )z(Generate a pseudo random 32 bit integer.)ÚrandomÚrandintÚ	MIN_INT32Ú	MAX_INT32r?   r+   rA   Ú_randintrH   t   s   € ä�>Š>œ)¤YÓ/Ð/r+   c               ó$   € V ^8„  d   QhRRRRRR/# )r<   ÚspecúMutableMapping[str, Any]Úread_preferencer!   r=   r?   )r@   s   "rA   rB   rB   y   s$   € ÷ ñ Ø
"ðØ5@ðàñr+   c                óÂ   € VP                   pVP                  pV'       d?   V\        P                  P                   8w  g   \	        V4      ^8”  d   RV 9  d   RV /p W0R&   V # )z-Add $readPreference to spec when appropriate.ú$queryú$readPreference)ÚmodeÚdocumentr    ÚSECONDARY_PREFERREDÚlen)rJ   rL   rP   rQ   s   &&  rA   Ú_maybe_add_read_preferencerT   y   s^   € ð ×Ñ€DØ×'Ñ'€H÷ �œ×;Ñ;×@Ñ@Ô@ÄCÈÃMÐTUÔDUØ˜4ÔØ˜dÐ#ˆDØ"*ÐÑØ€Kr+   c               ó    € V ^8„  d   QhRRRR/# ©r<   Ú	exceptionÚ	Exceptionr=   údict[str, Any]r?   )r@   s   "rA   rB   rB   ‹   s   € ÷ Oñ O )ð O°ñ Or+   c                óH   € R\        V 4      RV P                  P                  /# )z<Convert an Exception into a failure document for publishing.ÚerrmsgÚerrtype)ÚstrÚ	__class__Ú__name__©rW   s   &rA   Ú_convert_exceptionra   ‹   s!   € à”c˜)“n i°×1DÑ1D×1MÑ1MÐNÐNr+   c               ó    € V ^8„  d   QhRRRR/# rV   r?   )r@   s   "rA   rB   rB   �   s   € ÷ ñ ¨ið ¸Nñ r+   c                ó`   € R\        V 4      RV P                  RV P                  P                  /# )zeConvert an Exception into a failure document for publishing,
for use in client-level bulk write API.
r[   Úcoder\   )r]   rd   r^   r_   r`   s   &rA   Ú_convert_client_bulk_exceptionre   �   s1   € ð
 	”#�i“.Ø�	—‘Ø�9×&Ñ&×/Ñ/ðð r+   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r<   Ú	operationr]   ÚcommandúMapping[str, Any]Úresultr=   rY   r?   )r@   s   "rA   rB   rB   ›   s,   € ÷ !ñ !Øð!Ø.ð!Ø8Ið!àñ!r+   c                ó‚  € VP                  R^ 4      pR^RV/pVP                  RVP                  RR4      4      pV'       dY   VP                  R4      '       d   RVR^@RRR	//VR
&   M3R^ RVP                  R^4      RV/pRV9   d   VR,          VR&   V.VR&   V# V R8X  d   \        VR,          4      VR&   V# V R8X  d€   RV9   d   R^ RVR,          /.VR&   V# VP                  R4      RJ dQ   V^8X  dJ   VR,          ^ ,          pVR,          P                  RVR,          P                  R4      4      pR^ RV/.VR&   V# )z6Convert a legacy write result to write command format.ÚnÚokr[   ÚerrÚ Úwtimeoutrd   ÚerrInfoTÚwriteConcernErrorÚindexÚwriteErrorsr/   r0   r1   ÚupsertedÚ_idÚupdatedExistingFr2   ÚuÚq)ÚgetrS   )	rg   rh   rj   ÚaffectedÚresr[   Úerrorr1   rv   s	   &&&      rA   Ú_convert_write_resultr~   ›   sp  € ð
 �z‰z˜#˜qÓ!€HØ��C˜Ð
"€CØ�Z‰Z˜ &§*¡*¨U°BÓ"7Ó8€Fßà�:‰:�j×!Ò!Ø(0°&¸&À"ÀiÐR\Ð^bÐQcÐ'dˆCÐ#Ò$ð ˜a ¨¯©°F¸AÓ)>ÀÈ&ÐQˆEØ˜FÔ"Ø#)¨)Õ#4��iÑ Ø"' ˆC�ÑØˆJØ�HÔä�w˜{Õ+Ó,ˆˆC‰ð €Jð 
�hÔ	Ø˜ÔØ '¨¨E°6¸*Õ3EÐFÐGˆC�
‰Oð €Jð �Z‰ZÐ)Ó*¨eÓ3¸ÀA¼ð ˜YÕ'¨Õ*ˆFØ˜•+—/‘/ %¨°­¯©¸Ó)?Ó@ˆCØ '¨¨E°3Ð7Ð8ˆC�
‰OØ€Jr+   ÚtailableÚoplogReplayÚnoCursorTimeoutÚ	awaitDataÚallowPartialResultsrN   Úfilterz$orderbyÚsortz$hintÚhintz$commentÚcommentz$maxScanÚmaxScanz
$maxTimeMSÚ	maxTimeMSz$maxÚmaxz$minÚminz
$returnKeyÚ	returnKeyz$showRecordIdÚshowRecordIdz$showDiskLocz	$snapshotÚsnapshotc               óH   € V ^8„  d   Qh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<   Úcollr]   rJ   ri   Ú
projectionz1Optional[Union[Mapping[str, Any], Iterable[str]]]Úskipr>   ÚlimitÚ
batch_sizeúOptional[int]ÚoptionsÚread_concernr%   Ú	collationúOptional[Mapping[str, Any]]Úsessionú Optional[_AgnosticClientSession]Úallow_disk_useúOptional[bool]r=   rY   r?   )r@   s   "rA   rB   rB   Ø   s�   € ÷ 4ñ 4Ø
ð4à
ð4ð Bð4ð ð	4ð
 ð4ð ð4ð ð4ð ð4ð +ð4ð .ð4ð #ð4ð ñ4r+   c                ó$  € RV /pRV9   d€   TP                  VP                  4        UUu. uF"  w  rÍV\        9   d   \        V,          V3MWÍ3NK$  	  upp4       RV9   d   VP                  R4       RV9   d   VP                  R4       MWR&   V'       d   W+R&   V'       d   W;R&   V'       d   \	        V4      VR&   V^ 8  d   R	VR
&   V'       d   WE8X  d
   V^,          pW[R&   VP
                  '       d*   V	'       d   V	P                  '       g   VP                  VR&   V'       d   W‹R&   V
e   W«R&   V'       dJ   TP                  \        P                  4        UUu. uF  w  ríWm,          '       g   K  VR	3NK  	  upp4       V# u uppi u uppi )z!Generate a find command document.ÚfindrN   ú$explainrO   r„   r‘   r’   r“   TÚsingleBatchÚ	batchSizeÚreadConcernr˜   ÚallowDiskUse)	r1   ÚitemsÚ
_MODIFIERSÚpopÚabsÚlevelÚin_transactionrQ   Ú_OPTIONS)r�   rJ   r‘   r’   r“   r”   r–   r—   r˜   rš   rœ   ÚcmdÚkeyÚvalÚopts   &&&&&&&&&&&    rA   Ú_gen_find_commandr°   Ø   sk  € ð " 4˜.€CØ�4ÔØ�
‰
ð !%§
¡
¤ôá ,‘H�Cð +.´Ô*;”˜C• #Ñ&À#ÀÒKÙ ,òô	
ð ˜ÔØ�G‰G�JÔØ Ô#Ø�G‰GÐ%Ô&øàˆH‰çØ&ˆLÑßØˆF‰ßÜ˜5“zˆˆG‰Ø�1Œ9Ø!%ˆC�Ñßð ÔØ˜!�OˆJØ%ˆKÑØ××Ð§7¨w×/E×/EÐ/EØ)×2Ñ2ˆˆMÑßØ$ˆKÑØÒ!Ø,ˆNÑßØ�
‰
´·±Ô0@ÔRÑ0@¡H CÀGÇMÁM”K�S˜$“KÑ0@ÒRÔSà€JùóGùóB Ss   ª(F
ÅF
Å4F
c               ó4   € V ^8„  d   QhRRRRRRRRRRR	R
RR/# )r<   Ú	cursor_idr•   r�   r]   r”   Úmax_await_time_msr‡   zOptional[Any]Úconnr(   r=   rY   r?   )r@   s   "rA   rB   rB     sN   € ÷ ñ Øðà
ðð ðð %ð	ð
 ðð ðð ñr+   c                ól   € RV RV/pV'       d   W&R&   Ve   W6R&   Ve   VP                   ^	8¼  d   WFR&   V# )z$Generate a getMore command document.ÚgetMoreÚ
collectionr¢   r‰   r‡   )Úmax_wire_version)r²   r�   r”   r³   r‡   r´   r¬   s   &&&&&& rA   Ú_gen_get_more_commandr¹     sJ   € ð % i°¸tÐD€CßØ%ˆKÑØÒ$Ø,ˆKÑØÒ˜t×4Ñ4¸Ô9Ø ˆI‰Ø€Jr+   z<iiiiiiBc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r<   rg   r>   ÚdataÚbytesÚctxú.Union[SnappyContext, ZlibContext, ZstdContext]r=   útuple[int, bytes]r?   )r@   s   "rA   rB   rB   &  s,   € ÷ +ñ +Øð+Øð+Ø&Tð+àñ+r+   c           
     ó¼   € VP                  V4      p\        4       p\        \        \	        V4      ,           V^ RV \	        V4      VP
                  4      pWEV,           3# )zDTakes message data, compresses it, and adds an OP_COMPRESSED header.iÜ  )ÚcompressrH   Ú_pack_compression_headerÚ_COMPRESSION_HEADER_SIZErS   Úcompressor_id)rg   r»   r½   Ú
compressedÚ
request_idÚheaders   &&&   rA   Ú	_compressrÈ   &  s[   € ð —‘˜dÓ#€JÜ“€Jä%Ü ¤3 z£?Õ2ØØ	ØØÜˆD‹	Ø×Ñó€Fð  
Õ*Ð*Ð*r+   z<iiiic               ó$   € V ^8„  d   QhRRRRRR/# )r<   rg   r>   r»   r¼   r=   r¿   r?   )r@   s   "rA   rB   rB   <  s"   € ÷ ñ ˜cð ¨ð Ð3Dñ r+   c                óf   € \        4       p\        ^\        V4      ,           V^ V 4      pW#V,           3# )zlTakes message data and adds a message header based on the operation.

Returns the resultant message string.
)rH   Ú_pack_headerrS   )rg   r»   ÚridÚmessages   &&  rA   Ú__pack_messagerÎ   <  s0   € ô
 ‹*€CÜ˜2¤ D£	�>¨3°°9Ó=€GØ˜$•ÐÐr+   z<iz<IBz<Bc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r<   Úflagsr>   rh   ri   Ú
identifierr]   Údocsú!Optional[list[Mapping[str, Any]]]ÚoptsúCodecOptions[Any]r=   ztuple[bytes, int, int]r?   )r@   s   "rA   rB   rB   K  sD   € ÷ 4ñ 4Øð4àð4ð ð4ð ,ð	4ð
 ð4ð ñ4r+   c                ó¬  € \        VRV4      p\        V ^ 4      p\        V4      p^ pV'       d�   Ve‰   \        ^4      p	\	        V4      p
V Uu. uF  p\        VRV4      NK  	  pp\        V
4      \        R V 4       4      ,           ^,           p\        V4      pW},          p\        R V 4       4      pWeWžV
.VOpMWe.pRP                  V4      Wx3# u upi )zÔGet a OP_MSG message.

Note: this method handles multiple documents in a type one payload but
it does not perform batch splitting and the total message size is
only checked *after* generating the entire message.
Fc              3  ó8   "  € T F  p\        V4      x € K  	  R # 5i©N©rS   ©Ú.0Údocs   & rA   Ú	<genexpr>Ú$_op_msg_no_header.<locals>.<genexpr>a  s   é € Ð!C±l¨s¤# c§( (³lùó   ‚c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5irØ   rÙ   rÚ   s   & rA   rÝ   rÞ   d  s   é € Ð<©|¨œ3˜sŸ8˜8«|ùrß   r+   )	r   Ú_pack_op_msg_flags_typerS   Ú
_pack_byter   ÚsumÚ	_pack_intrŠ   Újoin)rÐ   rh   rÑ   rÒ   rÔ   ÚencodedÚ
flags_typeÚ
total_sizeÚmax_doc_sizeÚtype_oneÚcstringrÜ   Úencoded_docsÚsizeÚencoded_sizer»   s   &&&&&           rA   Ú_op_msg_no_headerrï   K  sÕ   € ô ˜G U¨DÓ1€GÜ(¨°Ó2€JÜ�W“€JØ€Lß�dÒ&Ü˜a“=ˆÜ  Ó,ˆÙCGÓHÁ4¸Cœ c¨5°$Ö7Á4ˆÐHÜ�7‹|œcÑ!C±lÓ!CÓCÕCÀaÕGˆÜ  “ˆØÕˆ
ÜÑ<©|Ó<Ó<ˆØ X¸WÐTÀ|ÐT‰àÐ$ˆØ�8‰8�D‹>˜:Ð3Ð3ùò Is   ÁCc               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r<   rÐ   r>   rh   ri   rÑ   r]   rÒ   rÓ   rÔ   rÕ   r½   r¾   r=   útuple[int, bytes, int, int]r?   )r@   s   "rA   rB   rB   k  sN   € ÷ /ñ /Øð/àð/ð ð/ð ,ð	/ð
 ð/ð 
8ð/ð !ñ/r+   c                óF   € \        WW#V4      w  rgp\        RWe4      w  r–W–Wx3# )zInternal OP_MSG message helper.éÝ  )rï   rÈ   )
rÐ   rh   rÑ   rÒ   rÔ   r½   Úmsgrè   Úmax_bson_sizerÌ   s
   &&&&&&    rA   Ú_op_msg_compressedrö   k  s1   € ô &7°uÀzÐY]Ó%^Ñ"€C�]Ü˜˜sÓ(�H€CØ�ZÐ.Ð.r+   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r<   rÐ   r>   rh   ri   rÑ   r]   rÒ   rÓ   rÔ   rÕ   r=   rñ   r?   )r@   s   "rA   rB   rB   y  sD   € ÷ 
=ñ 
=Øð
=àð
=ð ð
=ð ,ð	
=ð
 ð
=ð !ñ
=r+   c                óF   € \        WW#V4      w  rVp\        RV4      w  r‰W‰Wg3# )z*Internal compressed OP_MSG message helper.ró   )rï   rÎ   )
rÐ   rh   rÑ   rÒ   rÔ   r»   rè   rõ   rÆ   Ú
op_messages
   &&&&&     rA   Ú_op_msg_uncompressedrú   y  s2   € ô '8¸È
ÐZ^Ó&_Ñ#€D�mÜ+¨D°$Ó7Ñ€JØ :Ð<Ð<r+   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r<   rÐ   r>   rh   rK   Údbnamer]   rL   zOptional[_ServerMode]rÔ   rÕ   r½   ú4Union[SnappyContext, ZlibContext, ZstdContext, None]r=   rñ   r?   )r@   s   "rA   rB   rB   Š  sN   € ÷ 'ñ 'Øð'à%ð'ð ð'ð +ð	'ð
 ð'ð 
>ð'ð !ñ'r+   c                ó�  € W!R&   Ve)   RV9  d"   VP                   '       d   VP                  VR&   \        \        V4      4      p \        V,          pVP                  V4      p V'       d   \        WWxWE4      V'       d   W�V&   # # \        WWxV4      V'       d   W�V&   # #   \         d    RpRp LNi ; i  T'       d   Y�T&   i i ; i)zGet a OP_MSG message.ú$dbNrO   ro   )	rP   rQ   ÚnextÚiterÚ
_FIELD_MAPr§   ÚKeyErrorrö   rú   )	rÐ   rh   rü   rL   rÔ   r½   ÚnamerÑ   rÒ   s	   &&&&&&   rA   Ú_op_msgr  Š  sÕ   € ð ˆE�NàÒ"Ð'8ÀÔ'Gà××ÐØ)8×)AÑ)AˆGÐ%Ñ&Ü”�W“Ó€DðÜ Õ%ˆ
Ø�{‰{˜:Ó&ˆð'ßÜ% e°jÈÓR÷ Ø"&�JÒð ô $ E°JÀdÓK÷ Ø"&�JÒð øô ô Øˆ
ØŠðû÷ Ø"&�JÒð ús*   ÁB! Á%B6 Á-B6 ÂB6 Â!B3Â2B3Â6Cc               ó8   € V ^8„  d   QhRRRRRRRRRRR	R
RRRR/# )r<   r–   r>   Úcollection_namer]   Únum_to_skipÚnum_to_returnÚqueryri   Úfield_selectorr™   rÔ   rÕ   r=   ztuple[bytes, int]r?   )r@   s   "rA   rB   rB   ª  sX   € ÷ ñ Øðàðð ðð ð	ð
 ðð 0ðð ðð ñr+   c                ó  € \        VRV4      pV'       d   \        VRV4      pMRp\        \        V4      \        V4      4      p	RP                  \	        V 4      \
        P                  ! V4      \	        V4      \	        V4      VV.4      V	3# )zGet an OP_QUERY message.Fr+   )r   rŠ   rS   rå   rä   Úbsonr   )
r–   r  r  r	  r
  r  rÔ   ræ   Úefsrõ   s
   &&&&&&&   rA   Ú_query_implr  ª  sˆ   € ô ˜E 5¨$Ó/€GßÜ˜N¨E°4Ó8‰àˆÜœ˜G›¤c¨#£hÓ/€Mà�‰ä˜'Ó"Ü×#Ò# OÓ4Ü˜+Ó&Ü˜-Ó(ØØðó		
ð 	ðð r+   c               ó<   € V ^8„  d   Qh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
  ri   r  r™   rÔ   rÕ   r½   r¾   r=   útuple[int, bytes, int]r?   )r@   s   "rA   rB   rB   É  sb   € ÷ #ñ #Øð#àð#ð ð#ð ð	#ð
 ð#ð 0ð#ð ð#ð 
8ð#ð ñ#r+   c           	     óF   € \        WW#WEV4      w  r‰\        RW‡4      w  r«W«V	3# )z)Internal compressed query message helper.éÔ  )r  rÈ   )r–   r  r  r	  r
  r  rÔ   r½   Úop_queryrõ   rÌ   rô   s   &&&&&&&&    rA   Ú_query_compressedr  É  s6   € ô *Ø +¸eÐUYóÑ€Hô ˜˜xÓ-�H€CØ�]Ð"Ð"r+   c               ó8   € V ^8„  d   QhRRRRRRRRRRR	R
RRRR/# )r<   r–   r>   r  r]   r  r	  r
  ri   r  r™   rÔ   rÕ   r=   r  r?   )r@   s   "rA   rB   rB   Û  sX   € ÷ #ñ #Øð#àð#ð ð#ð ð	#ð
 ð#ð 0ð#ð ð#ð ñ#r+   c           	     óF   € \        WW#WEV4      w  rx\        RV4      w  ršWšV3# )zInternal query message helper.r  )r  rÎ   )r–   r  r  r	  r
  r  rÔ   r  rõ   rÌ   rô   s   &&&&&&&    rA   Ú_query_uncompressedr  Û  s6   € ô *Ø +¸eÐUYóÑ€Hô ˜d HÓ-�H€CØ�]Ð"Ð"r+   c               ó<   € V ^8„  d   Qh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
  ri   r  r™   rÔ   rÕ   r½   rý   r=   r  r?   )r@   s   "rA   rB   rB   ð  sb   € ÷ ñ Øðàðð ðð ð	ð
 ðð 0ðð ðð 
>ðð ñr+   c           
     óJ   € V'       d   \        WW#WEWg4      # \        WW#WEV4      # )zGet a **query** message.)r  r  )r–   r  r  r	  r
  r  rÔ   r½   s   &&&&&&&&rA   Ú_queryr  ð  s7   € ÷ Ü Ø kÀ%ÐY]ó
ð 	
ô Ø +¸eÐUYóð r+   z<qc               ó(   € V ^8„  d   QhRRRRRRRR/# )r<   r  r]   r	  r>   r²   r=   r¼   r?   )r@   s   "rA   rB   rB     s)   € ÷ 	ñ 	 Cð 	¸ð 	Èð 	ÐPUñ 	r+   c                ó€   € RP                  \        \        P                  ! V 4      \	        V4      \        V4      .4      # )zGet an OP_GET_MORE message.r+   )rå   Ú_ZERO_32r  r   rä   Ú_pack_long_long©r  r	  r²   s   &&&rA   Ú_get_more_implr!    s9   € à�8‰8äÜ×Ò Ó0Ü�mÓ$Ü˜IÓ&ð		
óð r+   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r<   r  r]   r	  r>   r²   r½   r¾   r=   r¿   r?   )r@   s   "rA   rB   rB     sA   € ÷ [ñ [Øð[àð[ð ð[ð 
8ð	[ð
 ñ[r+   c                ó0   € \        R\        WV4      V4      # )z+Internal compressed getMore message helper.éÕ  )rÈ   r!  ©r  r	  r²   r½   s   &&&&rA   Ú_get_more_compressedr&    s   € ô �Tœ>¨/È)ÓTÐVYÓZÐZr+   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r<   r  r]   r	  r>   r²   r=   r¿   r?   )r@   s   "rA   rB   rB     s2   € ÷ [ñ [Øð[Ø),ð[Ø9<ð[àñ[r+   c                ó.   € \        R\        WV4      4      # )z Internal getMore message helper.r$  )rÎ   r!  r   s   &&&rA   Ú_get_more_uncompressedr)    s   € ô ˜$¤¨ÈyÓ YÓZÐZr+   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r<   r  r]   r	  r>   r²   r½   rý   r=   r¿   r?   )r@   s   "rA   rB   rB   (  sA   € ÷ 	Mñ 	MØð	Màð	Mð ð	Mð 
>ð		Mð
 ñ	Mr+   c                óB   € V'       d   \        WW#4      # \        WV4      # )zGet a **getMore** message.)r&  r)  r%  s   &&&&rA   Ú	_get_morer,  (  s!   € ÷ Ü# OÀIÓSÐSÜ! /À)ÓLÐLr+   s
   documents s   updates s   deletes c                  óš   € ] tR tRtRtRtR R lt]R R l4       t]R R l4       t	]R	 R
 l4       t
]R R l4       tR R ltR R ltRtR# )Ú_BulkWriteContextBasei>  z]Private base class for wrapping around AsyncConnection to use with write splitting functions.c               ó8   € V ^8„  d   QhRRRRRRRRRR	R
RRRRR/# ©r<   Údatabase_namer]   Úcmd_namer´   r(   Úoperation_idr>   Ú	listenersr   rš   r›   Úop_typeÚcodecrÕ   r?   )r@   s   "rA   rB   Ú"_BulkWriteContextBase.__annotate__P  sZ   € ÷ ñ àðð ðð "ð	ð
 ðð #ðð 2ðð ðð !ñr+   c	                	ó:  € Wn         W0n        W@n        WPn        VP                  V n        W n        \        V P                  ,          V n        \        P                  P                  4       V n        W`n        \        VP                  4      V n        Wpn        W€n        R # rØ   )Údb_namer´   Úop_idr4  Úenabled_for_commandsÚpublishr  r  ÚfieldÚdatetimeÚnowÚ
start_timerš   ÚboolÚcompression_contextrÁ   r5  r6  )	Úselfr1  r2  r´   r3  r4  rš   r5  r6  s	   &&&&&&&&&rA   Ú__init__Ú_BulkWriteContextBase.__init__P  sq   € ð %ŒØŒ	Ø!Œ
Ø"ŒØ ×5Ñ5ˆŒØŒ	Ü §	¡	Õ*ˆŒ
Ü"×+Ñ+×/Ñ/Ó1ˆŒØŒÜ˜T×5Ñ5Ó6ˆŒØŒØŽ
r+   c               ó   € V ^8„  d   QhRR/# r;   r?   )r@   s   "rA   rB   r7  i  s   € ÷ 'ñ '˜sñ 'r+   c                ó.   € V P                   P                  # )z#A proxy for SockInfo.max_bson_size.)r´   rõ   ©rC  s   &rA   rõ   Ú#_BulkWriteContextBase.max_bson_sizeh  s   € ð �y‰y×&Ñ&Ð&r+   c               ó   € V ^8„  d   QhRR/# r;   r?   )r@   s   "rA   rB   r7  n  s   € ÷ *ñ * #ñ *r+   c                óŒ   € V P                   '       d   V P                  P                  ^,
          # V P                  P                  # )z&A proxy for SockInfo.max_message_size.)rÁ   r´   Úmax_message_sizerH  s   &rA   rL  Ú&_BulkWriteContextBase.max_message_sizem  s2   € ð �=�=ˆ=à—9‘9×-Ñ-°Õ2Ð2Ø�y‰y×)Ñ)Ð)r+   c               ó   € V ^8„  d   QhRR/# r;   r?   )r@   s   "rA   rB   r7  v  s   € ÷ .ñ . cñ .r+   c                ó.   € V P                   P                  # )z*A proxy for SockInfo.max_write_batch_size.)r´   Úmax_write_batch_sizerH  s   &rA   rP  Ú*_BulkWriteContextBase.max_write_batch_sizeu  s   € ð �y‰y×-Ñ-Ð-r+   c               ó   € V ^8„  d   QhRR/# r;   r?   )r@   s   "rA   rB   r7  {  s   € ÷ "ñ " ñ "r+   c                ó   € V P                   # )z:The maximum size of a BSON command before batch splitting.)rõ   rH  s   &rA   Úmax_split_sizeÚ$_BulkWriteContextBase.max_split_sizez  s   € ð ×!Ñ!Ð!r+   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r<   rÆ   r>   Úreplyr*   Údurationúdatetime.timedeltar=   ÚNoner?   )r@   s   "rA   rB   r7    s*   € ÷ 
ñ 
 3ð 
¨|ð 
ÐGYð 
Ð^bñ 
r+   c                ó  € V P                   P                  VVV P                  VV P                  P                  V P                  P
                  V P                  V P                  P                  V P                  R7	       R# )z Publish a CommandSucceededEvent.©r1  N)	r4  Úpublish_command_successr  r´   ÚaddressÚserver_connection_idr:  Ú
service_idr9  )rC  rÆ   rW  rX  s   &&&&rA   Ú_succeedÚ_BulkWriteContextBase._succeed  s^   € à�‰×.Ñ.ØØØ�I‰IØØ�I‰I×ÑØ�I‰I×*Ñ*Ø�J‰JØ�I‰I× Ñ ØŸ,™,ð 	/ö 
	
r+   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r<   rÆ   r>   Úfailurer*   rX  rY  r=   rZ  r?   )r@   s   "rA   rB   r7  �  s*   € ÷ 
ñ 
 ð 
¨lð 
ÐFXð 
Ð]añ 
r+   c                ó  € V P                   P                  VVV P                  VV P                  P                  V P                  P
                  V P                  V P                  P                  V P                  R7	       R# )zPublish a CommandFailedEvent.r\  N)	r4  Úpublish_command_failurer  r´   r^  r_  r:  r`  r9  )rC  rÆ   rd  rX  s   &&&&rA   Ú_failÚ_BulkWriteContextBase._fail�  s^   € à�‰×.Ñ.ØØØ�I‰IØØ�I‰I×ÑØ�I‰I×*Ñ*Ø�J‰JØ�I‰I× Ñ ØŸ,™,ð 	/ö 
	
r+   )r6  rÁ   r´   r9  r=  r4  r  r:  r5  r<  rš   r@  N)r9  r´   r:  r  r=  r<  r@  r4  rš   rÁ   r5  r6  )r_   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__rD  Úpropertyrõ   rL  rP  rT  ra  rg  Ú__static_attributes__r?   r+   rA   r.  r.  >  sp   † Ùgð€Iõð0 ô'ó ð'ð ô*ó ð*ð ô.ó ð.ð ô"ó ð"õ
÷
ñ 
r+   r.  c                  óN   a € ] tR tRtRtR	tR V 3R lltR R ltR R ltR	t	V ;t
# )
Ú_BulkWriteContextiœ  z]A wrapper around AsyncConnection/Connection for use with the collection-level bulk write API.c               ó8   € V ^8„  d   QhRRRRRRRRRR	R
RRRRR/# r0  r?   )r@   s   "rA   rB   Ú_BulkWriteContext.__annotate__¡  sZ   € ÷ 
ñ 
àð
ð ð
ð "ð	
ð
 ð
ð #ð
ð 2ð
ð ð
ð !ñ
r+   c	           
     	ó4   <€ \         S	V `  VVVVVVVV4       R # rØ   ©ÚsuperrD  )
rC  r1  r2  r´   r3  r4  rš   r5  r6  r^   s
   &&&&&&&&&€rA   rD  Ú_BulkWriteContext.__init__¡  s*   ø€ ô 	‰ÑØØØØØØØØö		
r+   c               ó$   € V ^8„  d   QhRRRRRR/# )r<   r¬   rK   rÒ   úlist[Mapping[str, Any]]r=   zAtuple[int, Union[bytes, dict[str, Any]], list[Mapping[str, Any]]]r?   )r@   s   "rA   rB   rs  ·  s$   € ÷ 	(ñ 	(Ø+ð	(Ø3Jð	(à	Jñ	(r+   c                	ó    € V P                   R ,           p\        W0P                  WV P                  V 4      w  rEpV'       g   \	        R4      hWEV3# )ú.$cmdúcannot do an empty bulk write)r9  Ú_do_batched_op_msgr5  r6  r   )rC  r¬   rÒ   Ú	namespacerÆ   rô   Úto_sends   &&&    rA   Úbatch_commandÚ_BulkWriteContext.batch_command·  sN   € ð —L‘L 7Õ*ˆ	Ü#5Ø—|‘| S°·
±
¸Dó$
Ñ ˆ
˜÷ Ü"Ð#BÓCÐCØ Ð'Ð'r+   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r<   r¬   rK   rÆ   r>   rÒ   ry  r=   r?   )r@   s   "rA   rB   rs  Â  s,   € ÷ ñ Ø+ðØ9<ðØD[ðà	!ñr+   c           	     ó  € W1V P                   &   V P                  P                  VV P                  VV P                  P
                  V P                  P                  V P                  V P                  P                  4       V# )úPublish a CommandStartedEvent.)	r=  r4  Úpublish_command_startr9  r´   r^  r_  r:  r`  )rC  r¬   rÆ   rÒ   s   &&&&rA   Ú_startÚ_BulkWriteContext._startÂ  sc   € ð ˆD�J‰J‰Ø�‰×,Ñ,ØØ�L‰LØØ�I‰I×ÑØ�I‰I×*Ñ*Ø�J‰JØ�I‰I× Ñ ô	
ð ˆ
r+   r?   ©r_   ri  rj  rk  rl  rm  rD  r€  r†  ro  Ú__classcell__©r^   s   @rA   rq  rq  œ  s$   ø† Ùgà€I÷
ð 
õ,	(÷ó r+   rq  c                  ó<   € ] tR tRtRtR R lt]R R l4       tRtR# )Ú_EncryptedBulkWriteContextiÓ  c               ó$   € V ^8„  d   QhRRRRRR/# )r<   r¬   rK   rÒ   ry  r=   z3tuple[int, dict[str, Any], list[Mapping[str, Any]]]r?   )r@   s   "rA   rB   Ú'_EncryptedBulkWriteContext.__annotate__Ö  s$   € ÷ %ñ %Ø+ð%Ø3Jð%à	<ñ%r+   c                	ó  € V P                   R ,           p\        W0P                  WV P                  V 4      w  rEV'       g   \	        R4      hVP                  R^4      ^	,           p\        \        V4      VR \        4      pRWu3# )r{  r|  r-   Néÿÿÿÿ)	r9  Ú_encode_batched_write_commandr5  r6  r   rs   r   Ú
memoryviewr   )rC  r¬   rÒ   r~  rô   r  Ú	cmd_startÚoutgoings   &&&     rA   r€  Ú(_EncryptedBulkWriteContext.batch_commandÖ  sz   € ð —L‘L 7Õ*ˆ	Ü4Ø—|‘| S°·
±
¸Dó
‰ˆ÷ Ü"Ð#BÓCÐCð —I‘I˜g qÓ)¨AÕ-ˆ	Ü ¤¨C£°°Ð!<Ô>VÓWˆØ�8Ð$Ð$r+   c               ó   € V ^8„  d   QhRR/# r;   r?   )r@   s   "rA   rB   rŽ  æ  s   € ÷ #ñ # ñ #r+   c                ó   € \         # )z Reduce the batch splitting size.)Ú_MAX_SPLIT_SIZE_ENCrH  s   &rA   rT  Ú)_EncryptedBulkWriteContext.max_split_sizeå  s
   € ô #Ð"r+   r?   N)	r_   ri  rj  rk  rm  r€  rn  rT  ro  r?   r+   rA   rŒ  rŒ  Ó  s    † Ø€Iõ%ð ô#ó ô#r+   rŒ  c               ó(   € V ^8„  d   QhRRRRRRRR/# )r<   rg   r]   Údoc_sizer>   Úmax_sizer=   r
   r?   )r@   s   "rA   rB   rB   ë  s.   € ÷ Lñ L¨ð L¸ð LÀsð LÈxñ Lr+   c                óT   € V R8X  d   \        RW3,          4      h\        V : R24      h)z-Internal helper for raising DocumentTooLarge.r/   zfBSON document too large (%d bytes) - the connected server supports BSON document sizes up to %d bytes.z command document too large)r   )rg   r›  rœ  s   &&&rA   Ú_raise_document_too_largerž  ë  s>   € à�HÔÜðð "Ð,õ-ó
ð 	
ô  )¡Ð.IÐJÓKÐKr+   i    c               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR/# )r<   rg   r>   rh   ri   rÒ   ry  ÚackrA  rÔ   rÕ   r½   rq  ÚbufÚ_BytesIOr=   ú#tuple[list[Mapping[str, Any]], int]r?   )r@   s   "rA   rB   rB     sb   € ÷ Añ AØðAàðAð "ðAð 
ð	Að
 ðAð 
ðAð 
ðAð )ñAr+   c                ó  € VP                   pVP                  pVP                  p	V'       d   RMRp
VP                  V
4       VP                  R4       VP                  \	        VRV4      4       VP                  R4       VP                  4       pVP                  R4        VP                  \        V ,          4       . p^ pT FÞ  p\	        TRT4      p\        T4      pTP                  4       T,           pT^ 8H  ;'       d    TT	8„  pT'       * ;'       d    TT8„  pT'       g	   T'       d;   \        \        P                  4       4      T ,          p\        T\        T4      T4       TT	8”  d    M7TP                  T4       TP                  T4       T^,          pYØ8X  g   KÞ   M	  TP                  4       pTP                  T4       TP                  \!        TT,
          4      4       TT3#   \         d    \        R4      Rhi ; i)zCreate a batched OP_MSG write.r.   ó      r-   Fó   úUnknown commandN)rõ   rP  rL  Úwriter   ÚtellÚ_OP_MSG_MAPr  r   rS   Úlistr  Úkeysrž  ÚappendÚseekrä   )rg   rh   rÒ   r   rÔ   r½   r¡  rõ   rP  rL  rÐ   Úsize_locationr  ÚidxrÜ   ÚvalueÚ
doc_lengthÚnew_message_sizeÚdoc_too_largeÚunacked_doc_too_largeÚwrite_opÚlengths   &&&&&&&               rA   Ú_batched_op_msg_implr¸    sÅ  € ð ×%Ñ%€MØ×3Ñ3ÐØ×+Ñ+Ðç#&ÑÐ,?€Eà‡I�IˆeÔð ‡I�IˆgÔØ‡I�IŒm˜G U¨DÓ1Ô2ð ‡I�IˆgÔØ—H‘H“J€Mà‡I�IÐ!Ô"ð<Ø�	‰	”+˜iÕ(Ô)ð €GØ
€CÛˆä˜c 5¨$Ó/ˆÜ˜“Zˆ
ØŸ8™8›:¨
Õ2Ðà˜q™×JÐJÐ&6Ð9IÑ&Iˆð %(¤× HÐ H¨Z¸-Ñ-GÐß×1ÜœJŸO™OÓ-Ó.¨yÕ9ˆHÜ% h´°E³
¸MÔJàÐ.Ô.ÙØ�	‰	�%ÔØ�‰�sÔØˆq�ˆàÖ&Ùñ1 ð6 �X‰X‹Z€FØ‡H�Hˆ]ÔØ‡I�IŒi˜ Õ.Ó/Ô0à�Fˆ?ÐøôI ô <ÜÐ0Ó1°tÐ;ð<ús   Â"G, Ç,Hc               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r<   rg   r>   rh   ri   rÒ   ry  r   rA  rÔ   rÕ   r½   rq  r=   ú%tuple[bytes, list[Mapping[str, Any]]]r?   )r@   s   "rA   rB   rB   E  sN   € ÷ #ñ #Øð#àð#ð "ð#ð 
ð	#ð
 ð#ð 
ð#ð +ñ#r+   c           	     óZ   € \        4       p\        WW#WEV4      w  rxVP                  4       V3# )zGEncode the next batched insert, update, or delete operation
as OP_MSG.
)r¢  r¸  Úgetvalue)	rg   rh   rÒ   r   rÔ   r½   r¡  r  Ú_s	   &&&&&&   rA   Ú_encode_batched_op_msgr¾  E  s/   € ô ‹*€Cä% i¸$ÀTÐPSÓT�J€GØ�<‰<‹>˜7Ð"Ð"r+   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# ©r<   rg   r>   rh   ri   rÒ   ry  r   rA  rÔ   rÕ   r½   rq  r=   ú*tuple[int, bytes, list[Mapping[str, Any]]]r?   )r@   s   "rA   rB   rB   Z  sN   € ÷ $ñ $Øð$àð$ð "ð$ð 
ð	$ð
 ð$ð 
ð$ð 0ñ$r+   c                ó    € \        WW#WE4      w  rgVP                  P                  f   Q h\        RWeP                  P                  4      w  r‰W‰V3# )zUCreate the next batched insert, update, or delete operation
with OP_MSG, compressed.
ró   )r¾  r´   rB  rÈ   )
rg   rh   rÒ   r   rÔ   r½   r»   r  rÆ   rô   s
   &&&&&&    rA   Ú_batched_op_msg_compressedrÃ  Z  sM   € ô +¨9¸tÈ$ÓT�M€Dà�8‰8×'Ñ'Ò3Ð3Ð3Ü  d¯H©H×,HÑ,HÓI�O€JØ˜GÐ#Ð#r+   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# rÀ  r?   )r@   s   "rA   rB   rB   l  sN   € ÷ /ñ /Øð/àð/ð "ð/ð 
ð	/ð
 ð/ð 
ð/ð 0ñ/r+   c           	     óf  € \        4       pVP                  \        4       VP                  R4       \        WW#WEV4      w  rxVP	                  ^4       \        4       p	VP                  \        V	4      4       VP	                  ^ 4       VP                  \        V4      4       W–P                  4       V3# )z"OP_MSG implementation entry point.ó       Ý  )r¢  r¨  Ú_ZERO_64r¸  r®  rH   rä   r¼  )
rg   rh   rÒ   r   rÔ   r½   r¡  r  r·  rÆ   s
   &&&&&&    rA   Ú_batched_op_msgrÈ  l  s‹   € ô ‹*€Cð ‡I�IŒhÔà‡I�IÐ1Ô2ä*¨9¸tÈ$ÐUXÓY�O€Gð ‡H�HˆQ„KÜ“€JØ‡I�IŒi˜
Ó#Ô$Ø‡H�HˆQ„KØ‡I�IŒi˜ÓÔ à—|‘|“~ wÐ.Ð.r+   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r<   r~  r]   rg   r>   rh   rK   rÒ   ry  rÔ   rÕ   r½   rq  r=   rÁ  r?   )r@   s   "rA   rB   rB   Œ  sW   € ÷ Eñ EØðEàðEð &ðEð "ð	Eð
 ðEð 
ðEð 0ñEr+   c                óþ   € V P                  R^4      ^ ,          VR&   RV9   d$   \        VR,          P                  R^4      4      pMRpVP                  P                  '       d   \        WW6WE4      # \        WW6WE4      # )zJCreate the next batched insert, update, or delete operation
using OP_MSG.
Ú.rÿ   ÚwriteConcernÚwT)ÚsplitrA  rz   r´   rB  rÃ  rÈ  )r~  rg   rh   rÒ   rÔ   r½   r   s   &&&&&& rA   r}  r}  Œ  st   € ð —_‘_ S¨!Ó,¨QÕ/€GˆE�NØ˜Ô Ü�7˜>Õ*×.Ñ.¨s°AÓ6Ó7‰àˆØ
‡x�x×#×#Ð#Ü)¨)¸dÈÓSÐSÜ˜9¨t¸$ÓDÐDr+   c                  óN   a € ] tR tRtRtR	tR V 3R lltR R ltR R ltR	t	V ;t
# )
Ú_ClientBulkWriteContexti¡  zYA wrapper around AsyncConnection/Connection for use with the client-level bulk write API.c               ó4   € V ^8„  d   QhRRRRRRRRRR	R
RRR/# )r<   r1  r]   r2  r´   r(   r3  r>   r4  r   rš   r›   r6  rÕ   r?   )r@   s   "rA   rB   Ú$_ClientBulkWriteContext.__annotate__¦  sP   € ÷ 
ñ 
àð
ð ð
ð "ð	
ð
 ð
ð #ð
ð 2ð
ð !ñ
r+   c           
     	ó4   <€ \         SV `  VVVVVV^ V4       R# )é    Nru  )	rC  r1  r2  r´   r3  r4  rš   r6  r^   s	   &&&&&&&&€rA   rD  Ú _ClientBulkWriteContext.__init__¦  s*   ø€ ô 	‰ÑØØØØØØØØö		
r+   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r<   r¬   rK   Ú
operationsú#list[tuple[str, Mapping[str, Any]]]Ú
namespacesú	list[str]r=   zZtuple[int, Union[bytes, dict[str, Any]], list[Mapping[str, Any]], list[Mapping[str, Any]]]r?   )r@   s   "rA   rB   rÒ  »  s3   € ÷ 8ñ 8à%ð8ð 8ð8ð ð	8ð
 
dñ8r+   c                	ód   € \        WW0P                  V 4      w  rErgV'       g   \        R 4      hWEWg3# )r|  )Ú_client_do_batched_op_msgr6  r   )rC  r¬   r×  rÙ  rÆ   rô   Úto_send_opsÚ
to_send_nss   &&&&    rA   r€  Ú%_ClientBulkWriteContext.batch_command»  s;   € ô 4MØ˜Z¯©°Tó4
Ñ0ˆ
˜÷ Ü"Ð#BÓCÐCØ Ð7Ð7r+   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r<   r¬   rK   rÆ   r>   Úop_docsry  Úns_docsr=   r?   )r@   s   "rA   rB   rÒ  È  s<   € ÷ ñ à%ðð ðð )ð	ð
 )ðð 
"ñr+   c           	     óø   € W1R&   WAR&   V P                   P                  VV P                  VV P                  P                  V P                  P
                  V P                  V P                  P                  4       V# )r„  r6   ÚnsInfo)r4  r…  r9  r´   r^  r_  r:  r`  )rC  r¬   rÆ   rá  râ  s   &&&&&rA   r†  Ú_ClientBulkWriteContext._startÈ  sf   € ð ˆE‰
ØˆH‰Ø�‰×,Ñ,ØØ�L‰LØØ�I‰I×ÑØ�I‰I×*Ñ*Ø�J‰JØ�I‰I× Ñ ô	
ð ˆ
r+   r?   rˆ  rŠ  s   @rA   rÐ  rÐ  ¡  s$   ø† Ùcà€I÷
ð 
õ*8÷ó r+   rÐ  iè  c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )r<   Úcommand_encodedr¼   Úto_send_ops_encodedzlist[bytes]Úto_send_ns_encodedr   rA  r¡  r¢  r=   r>   r?   )r@   s   "rA   rB   rB   á  sD   € ÷ -ñ -Øð-à$ð-ð $ð-ð 
ð	-ð
 
ð-ð 	ñ-r+   c                ó>  € V'       d   R MRpVP                  V4       VP                  R4       VP                  V 4       VP                  R4       VP                  4       pVP                  R 4       VP                  R4       V F  pVP                  V4       K  	  VP                  4       pVP                  4       p	VP                  V4       VP                  \        W–,
          4      4       VP                  V4       VP                  R4       VP                  4       pVP                  R 4       VP                  R4       V F  p
VP                  V
4       K  	  VP                  4       p	VP                  V4       VP                  \        W–,
          4      4       V	# )r.   r¥  r-   r¦  s   ops s   nsInfo )r¨  r©  r®  rä   )rç  rè  ré  r   r¡  rÐ   r¯  Ú
op_encodedÚresume_locationr·  Ú
ns_encodeds   &&&&&      rA   Ú_client_construct_op_msgrî  á  s9  € ÷ $'ÑÐ,?€EØ‡I�IˆeÔð ‡I�IˆgÔØ‡I�IˆoÔð ‡I�IˆgÔØ—H‘H“J€Mà‡I�IÐ!Ô"Ø‡I�IˆjÔã)ˆ
Ø�	‰	�*Öñ *à—h‘h“j€Oà�X‰X‹Z€FØ‡H�Hˆ]ÔØ‡I�IŒi˜Õ.Ó/Ô0Ø‡H�Hˆ_Ôð ‡I�IˆgÔØ—H‘H“J€Mà‡I�IÐ!Ô"Ø‡I�IˆmÔã(ˆ
Ø�	‰	�*Öñ )ð �X‰X‹Z€FØ‡H�Hˆ]ÔØ‡I�IŒi˜Õ.Ó/Ô0à€Mr+   c               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR/# )r<   rh   ri   r×  rØ  rÙ  rÚ  r   rA  rÔ   rÕ   r½   rÐ  r¡  r¢  r=   z<tuple[list[Mapping[str, Any]], list[Mapping[str, Any]], int]r?   )r@   s   "rA   rB   rB     sc   € ÷ s+ñ s+Øðs+à3ðs+ð ðs+ð 
ð	s+ð
 ðs+ð 
!ðs+ð 
ðs+ð Bñs+r+   c                óø  € R R lpVP                   pVP                  p	VP                  p
\        V RV4      pV'       g   V! R\	        V4      V\
        ,           4       . ROpV P                  R4      '       d   VP                  R4       V P                  R4      '       d   VP                  R4       V P                  R4      '       d   VP                  R4       V Uu/ uF  qÝW,          bK  	  pp\	        \        VRV4      4      pV
\        V,           ,
          p/ p. p. p. p. p^ p^ p^ p\        W4       EF©  w  w  pppTpVR8X  d0   V'       g(   \	        \        VR	,          RV4      4      pV! VVV4       VR
8X  d2   RpV'       g(   \	        \        VR,          RV4      4      pV! VVV4       Rp^ pVV9  d   RV/p\	        V4      p V VV&   VV,          VV&   \        VRV4      p!\	        V!4      p"V'       d   \        VRV4      p#\	        V#4      pV'       g   V! VV"V\
        ,           4       VV,           V",           V,           p$V$V8”  d"   V^ 8X  d   \        VV"V\
        ,           4        MuVP                  V4       VP                  V!4       VV",          pV'       d,   VP                  V4       VP                  X#4       VV,          pV^,          pVV	8X  g   EKª   M	  \        VVVW64      p%VVV%3# u upi )z:Create a batched OP_MSG write for client-level bulk write.c               ó(   € V ^8„  d   QhRRRRRRRR/# )r<   r5  r]   r›  r>   r“   r=   rZ  r?   )r@   s   "rA   rB   Ú1_client_batched_op_msg_impl.<locals>.__annotate__  s6   € ÷ @ñ @Øð@àð@ð ð@ð 
ñ	@r+   c                ó.   € W8”  d   \        WV4       R # R # rØ   )rž  )r5  r›  r“   s   &&&rA   Ú_check_doc_size_limitsÚ;_client_batched_op_msg_impl.<locals>._check_doc_size_limits  s   € ð
 ÔÜ% g¸Ö?ñ r+   Fr5   ÚbypassDocumentValidationr‡   Úletr/   rQ   r7   r1   Ú
updateModsNÚns)r5   Ú
errorsOnlyÚordered)rõ   rP  rL  r   rS   Ú_COMMAND_OVERHEADrz   r­  Ú_OP_MSG_OVERHEADÚziprž  rî  )&rh   r×  rÙ  r   rÔ   r½   r¡  rô  rõ   rP  rL  rç  Úabridged_keysr­   Úcommand_abridgedÚcommand_len_abridgedÚmax_doc_sequences_bytesÚns_inforÝ  rÞ  rè  ré  Útotal_ops_lengthÚtotal_ns_lengthr°  Úreal_op_typeÚop_docr~  r5  r›  Úns_docÚ	ns_lengthÚnew_ns_indexÚop_doc_encodedÚ	op_lengthÚns_doc_encodedr³  r·  s&   &&&&&&&                               rA   Ú_client_batched_op_msg_implr    s  € õ@ð ×%Ñ%€MØ×3Ñ3ÐØ×+Ñ+Ðä# G¨U°DÓ9€O÷ Ù˜{¬C°Ó,@À-ÔRcÕBcÔdò ;€MØ‡{�{Ð-×.Ò.Ø×ÑÐ7Ô8Ø‡{�{�9×ÒØ×Ñ˜YÔ'Ø‡{�{�5×ÒØ×Ñ˜UÔ#Ù5BÓC±]¨c˜W�\Ò)±]ÐÐCÜœ}Ð-=¸uÀdÓKÓLÐð /Ô2BÐEYÕ2YÕZÐà€GØ+-€KØ*,€JØ')ÐØ&(ÐØÐØ€OØ
€Cä-0°×-HÑ)Ñˆ�v 	Øˆà˜8Ô#ßÜœ}¨V°JÕ-?ÀÈÓMÓN�Ù& |°X¸}ÔMØ˜9Ô$ØˆGßÜœ}¨V°LÕ-AÀ5È$ÓOÓP�Ù& |°X¸}ÔMàˆØˆ	à˜GÔ#Ø˜IÐ&ˆFÜ˜z›?ˆLØ!-ˆG�IÑð " )Õ,ˆˆw‰ô ' v¨u°dÓ;ˆÜ˜Ó'ˆ	ßÜ*¨6°5¸$Ó?ˆNÜ˜NÓ+ˆI÷ Ù" 7¨I°}ÔGXÕ7XÔYà+¨oÕ=À	ÕIÈIÕUÐàÐ5Ô5Ø�aŒxÜ)¨'°9¸mÔN_Õ>_Ô`Ùð 	×Ñ˜6Ô"Ø×"Ñ" >Ô2Ø˜IÕ%ÐßØ×Ñ˜fÔ%Ø×%Ñ% nÔ5Ø˜yÕ(ˆOàˆq�ˆð Ð&×&Ùñq .Iôv &ØÐ,Ð.@À#ó€Fð ˜
 FÐ*Ð*ùò] Ds   ÃK7c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r<   rh   ri   r×  rØ  rÙ  rÚ  r   rA  rÔ   rÕ   r½   rÐ  r=   z>tuple[bytes, list[Mapping[str, Any]], list[Mapping[str, Any]]]r?   )r@   s   "rA   rB   rB   ‡  sO   € ÷ 3ñ 3Øð3à3ð3ð ð3ð 
ð	3ð
 ð3ð 
!ð3ð Dñ3r+   c           	     ó\   € \        4       p\        WW#WEV4      w  rxp	VP                  4       Wx3# )zDEncode the next batched client-level bulkWrite
operation as OP_MSG.
)r¢  r  r¼  )
rh   r×  rÙ  r   rÔ   r½   r¡  rÝ  rÞ  r½  s
   &&&&&&    rA   Ú_client_encode_batched_op_msgr  ‡  s6   € ô ‹*€Cä!<Ø˜Z¨d¸ó"Ñ€K˜Qð �<‰<‹>˜;Ð2Ð2r+   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# ©r<   rh   ri   r×  rØ  rÙ  rÚ  r   rA  rÔ   rÕ   r½   rÐ  r=   úCtuple[int, bytes, list[Mapping[str, Any]], list[Mapping[str, Any]]]r?   )r@   s   "rA   rB   rB   š  sO   € ÷ 4ñ 4Øð4à3ð4ð ð4ð 
ð	4ð
 ð4ð 
!ð4ð Iñ4r+   c                ó¢   € \        WW#WE4      w  rgpVP                  P                  f   Q h\        RWeP                  P                  4      w  ršWšWx3# )zRCreate the next batched client-level bulkWrite operation
with OP_MSG, compressed.
ró   )r  r´   rB  rÈ   )rh   r×  rÙ  r   rÔ   r½   r»   rÝ  rÞ  rÆ   rô   s   &&&&&&     rA   Ú!_client_batched_op_msg_compressedr  š  sV   € ô %BØ˜Z¨dó%Ñ!€D�zð �8‰8×'Ñ'Ò3Ð3Ð3Ü  d¯H©H×,HÑ,HÓI�O€JØ˜KÐ3Ð3r+   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# r  r?   )r@   s   "rA   rB   rB   ®  sO   € ÷ ?ñ ?Øð?à3ð?ð ð?ð 
ð	?ð
 ð?ð 
!ð?ð Iñ?r+   c           	     óh  € \        4       pVP                  \        4       VP                  R4       \        WW#WEV4      w  rxp	VP	                  ^4       \        4       p
VP                  \        V
4      4       VP	                  ^ 4       VP                  \        V	4      4       W¦P                  4       Wx3# )z=OP_MSG implementation entry point for client-level bulkWrite.rÆ  )r¢  r¨  rÇ  r  r®  rH   rä   r¼  )rh   r×  rÙ  r   rÔ   r½   r¡  rÝ  rÞ  r·  rÆ   s   &&&&&&     rA   Ú_client_batched_op_msgr  ®  s�   € ô ‹*€Cð ‡I�IŒhÔà‡I�IÐ1Ô2ä&AØ˜Z¨d¸ó'Ñ#€K˜Vð
 ‡H�HˆQ„KÜ“€JØ‡I�IŒi˜
Ó#Ô$Ø‡H�HˆQ„KØ‡I�IŒi˜ÓÔ à—|‘|“~ {Ð>Ð>r+   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r<   rh   rK   r×  rØ  rÙ  rÚ  rÔ   rÕ   r½   rÐ  r=   r  r?   )r@   s   "rA   rB   rB   Ì  sM   € ÷ Sñ SØ%ðSà3ðSð ðSð ð	Sð
 
!ðSð IñSr+   c                óÐ   € RV R&   RV 9   d$   \        V R,          P                  R^4      4      pMRpVP                  P                  '       d   \	        WW%W44      # \        WW%W44      # )zGCreate the next batched client-level bulkWrite
operation using OP_MSG.
Úadminrÿ   rÌ  rÍ  T)rA  rz   r´   rB  r  r  )rh   r×  rÙ  rÔ   r½   r   s   &&&&& rA   rÜ  rÜ  Ì  se   € ð €GˆE�NØ˜Ô Ü�7˜>Õ*×.Ñ.¨s°AÓ6Ó7‰àˆØ
‡x�x×#×#Ð#Ü0°ÀjÐW[ÓaÐaÜ! '°zÈÓRÐRr+   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# )r<   r~  r]   rg   r>   rh   rK   rÒ   ry  rÔ   rÕ   r½   rq  r=   rº  r?   )r@   s   "rA   rB   rB   ã  sN   € ÷ #ñ #Øð#àð#ð &ð#ð "ð	#ð
 ð#ð 
ð#ð +ñ#r+   c           	     óZ   € \        4       p\        WW#WEV4      w  rxVP                  4       V3# )z:Encode the next batched insert, update, or delete command.)r¢  Ú_batched_write_command_implr¼  )	r~  rg   rh   rÒ   rÔ   r½   r¡  r  r½  s	   &&&&&&   rA   r‘  r‘  ã  s0   € ô ‹*€Cä,¨YÀ7ÐRVÐ]`Óa�J€GØ�<‰<‹>˜7Ð"Ð"r+   c               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR/# )r<   r~  r]   rg   r>   rh   rK   rÒ   ry  rÔ   rÕ   r½   rq  r¡  r¢  r=   r£  r?   )r@   s   "rA   rB   rB   ö  sb   € ÷ Hñ HØðHàðHð &ðHð "ð	Hð
 ðHð 
ðHð 
ðHð )ñHr+   c                óú  € VP                   pVP                  pV\        ,           p	VP                  p
VP	                  \
        4       VP	                  V P                  R4      4       VP	                  \        4       VP	                  \        4       VP                  4       pVP	                  \        P                  ! V4      4       VP                  R^4        VP	                  \        V,          4       TP                  4       ^,
          p. p^ pT EF7  p\        T4      P                  R4      p\!        TRT4      p\#        T4      T	8„  pT'       d;   \%        \&        P)                  4       4      T,          p\+        T\#        T4      T4       T^8¬  ;'       d4    TP                  4       \#        T4      ,           \#        T4      ,           T
8¬  pYè8¬  pT'       g	   T'       d    MkTP	                  \,        4       TP	                  T4       TP	                  \        4       TP	                  T4       TP/                  T4       T^,          pEK:  	  TP	                  \0        4       TP                  4       pTP                  T4       TP	                  \3        TT,
          ^,
          4      4       TP                  T4       TP	                  \3        TT,
          4      4       TT3#   \         d    \        R4      Rhi ; i)z(Create a batched OP_QUERY write command.Úutf8r§  NFr�  )rõ   rP  rü  rT  r¨  r  ÚencodeÚ_ZERO_8Ú_SKIPLIMr©  r  r®  Ú_OP_MAPr  r   r]   r   rS   r«  r  r¬  rž  Ú_BSONOBJr­  Ú_ZERO_16rä   )r~  rg   rh   rÒ   rÔ   r½   r¡  rõ   rP  Úmax_cmd_sizerT  Úcommand_startÚ
list_startr  r°  rÜ   r­   r±  r´  r¶  Úenough_dataÚenough_documentsr·  s   &&&&&&&                rA   r  r  ö  sG  € ð ×%Ñ%€MØ×3Ñ3Ðð !Ô#4Õ4€LØ×'Ñ'€Nð ‡I�IŒhÔà‡I�Iˆi×Ñ˜vÓ&Ô'Ø‡I�IŒgÔà‡I�IŒhÔð —H‘H“J€MØ‡I�IŒd�kŠk˜'Ó"Ô#ð ‡H�HˆR�„Oð<Ø�	‰	”'˜)Õ$Ô%ð
 —‘“˜a•€JØ€GØ
€CÜˆä�#‹h�o‰o˜fÓ%ˆÜ˜c 5¨$Ó/ˆô ˜E›
 \Ñ1ˆßÜœJŸO™OÓ-Ó.¨yÕ9ˆHÜ% h´°E³
¸MÔJØ˜Q‘h×YÐY C§H¡H£J´°S³Õ$9¼CÀ»JÕ$FÈ>Ñ#YˆØÑ6Ðß×*ÙØ�	‰	”(ÔØ�	‰	�#ŒØ�	‰	”'ÔØ�	‰	�%ÔØ�‰�sÔØˆq�‹ñ' ð. ‡I�IŒhÔð �X‰X‹Z€FØ‡H�HˆZÔØ‡I�IŒi˜ Õ+¨aÕ/Ó0Ô1Ø‡H�Hˆ]ÔØ‡I�IŒi˜ Õ.Ó/Ô0à�Fˆ?ÐøôO ô <ÜÐ0Ó1°tÐ;ð<ús   ÃK" Ë"K:c                  óÒ   € ] tR tRtRtRt]P                  ! R4      P                  t	^t
R R ltRR R lltR]RR	3R
 R lltR R ltR R lt]R R l4       t]R R l4       tRtR# )Ú_OpReplyiA  z$A MongoDB OP_REPLY response message.z<iqiic               ó(   € V ^8„  d   QhRRRRRRRR/# )r<   rÐ   r>   r²   Únumber_returnedr0   úbytes | memoryviewr?   )r@   s   "rA   rB   Ú_OpReply.__annotate__I  s,   € ÷ #ñ #Øð#Ø%(ð#Ø;>ð#ØK]ñ#r+   c                	óJ   € Wn         \        V4      V n        W0n        W@n        R # rØ   )rÐ   r   r²   r1  r0   )rC  rÐ   r²   r1  r0   s   &&&&&rA   rD  Ú_OpReply.__init__I  s    € ð Œ
Ü˜yÓ)ˆŒØ.ÔØ"Žr+   Nc               ó$   € V ^8„  d   QhRRRRRR/# )r<   r²   r•   Úuser_fieldsr™   r=   zlist[bytes | memoryview]r?   )r@   s   "rA   rB   r3  Q  s$   € ÷ *ñ *Ø&ð*Ø<Wð*à	!ñ*r+   c                óî  € V P                   ^,          '       d/   Vf   \        R4      hRV3,          pR^ RVR^+/p\        V^+V4      hV P                   ^,          '       dö   \        P                  ! V P
                  4      P                  4       pVP                  R^ 4       VR,          P                  \        P                  4      '       d   \        VR,          V4      hVP                  R4      ^28X  d/   Rp\        VP                  RV4      VP                  R4      V4      h\        RVP                  R4      ,          VP                  R4      V4      hV P
                  '       d   V P
                  .# . # )	ad  Check the response header from the database, without decoding BSON.

Check the response for errors and unpack.

Can raise CursorNotFound, NotPrimaryError, ExecutionTimeout, or
OperationFailure.

:param cursor_id: cursor_id we sent to get this response -
    used for raising an informative exception when we get cursor id not
    valid at server response.
z"No cursor id for getMore operationzCursor not found, cursor id: %drm   r[   rd   z$errzoperation exceeded time limitzdatabase error: %s)rÐ   r   r   r  ÚBSONr0   ÚdecodeÚ
setdefaultÚ
startswithr   ÚLEGACY_ERRORr   rz   r   r   )rC  r²   r7  rô   ÚerrobjÚerror_objectÚdefault_msgs   &&&    rA   Úraw_responseÚ_OpReply.raw_responseQ  sM  € ð �:‰:˜�>Œ>àÒ Ü#Ð$HÓIÐIð 4°y°lÕBˆCØ˜A˜x¨¨f°bÐ9ˆFÜ   b¨&Ó1Ð1Ø�Z‰Z˜!�^Œ^Ü+/¯9ª9°T·^±^Ó+D×+KÑ+KÓ+MˆLà×#Ñ# D¨!Ô,Ø˜FÕ#×.Ñ.¬{×/GÑ/G×HÒHÜ% l°6Õ&:¸LÓIÐIØ×!Ñ! &Ó)¨RÔ/Ø=�Ü&Ø ×$Ñ$ V¨[Ó9¸<×;KÑ;KÈFÓ;SÐUaóð ô #Ø$ |×'7Ñ'7¸Ó'?Õ?Ø× Ñ  Ó(Øóð ð
 �>�>ˆ>Ø—N‘NÐ#Ð#Øˆ	r+   Fc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# ©r<   r²   r•   Úcodec_optionsrÕ   r7  r™   Úlegacy_responserA  r=   zlist[dict[str, Any]]r?   )r@   s   "rA   rB   r3  }  sC   € ÷ Vñ Và ðVð )ðVð 1ð	Vð
 ðVð 
ñVr+   c                ó¸   € V P                  V4       V'       d"   \        P                  ! V P                  V4      # \        P                  ! V P                  W#4      # )a€  Unpack a response from the database and decode the BSON document(s).

Check the response for errors and unpack, returning a dictionary
containing the response data.

Can raise CursorNotFound, NotPrimaryError, ExecutionTimeout, or
OperationFailure.

:param cursor_id: cursor_id we sent to get this response -
    used for raising an informative exception when we get cursor id not
    valid at server response
:param codec_options: an instance of
    :class:`~bson.codec_options.CodecOptions`
:param user_fields: Response fields that should be decoded
    using the TypeDecoders from codec_options, passed to
    bson._decode_all_selective.
)rA  r  Ú
decode_allr0   Ú_decode_all_selective©rC  r²   rE  r7  rF  s   &&&&&rA   Úunpack_responseÚ_OpReply.unpack_response}  sA   € ð0 	×Ñ˜)Ô$ßÜ—?’? 4§>¡>°=ÓAÐAÜ×)Ò)¨$¯.©.¸-ÓUÐUr+   c               ó    € V ^8„  d   QhRRRR/# ©r<   rE  rÕ   r=   rY   r?   )r@   s   "rA   rB   r3  š  s   € ÷ ñ Ð.?ð ÀNñ r+   c                ó^   € V P                  VR7      pV P                  ^8X  g   Q hV^ ,          # ©zUnpack a command response.)rE  )rK  r1  )rC  rE  rÒ   s   && rA   Úcommand_responseÚ_OpReply.command_responseš  s2   € à×#Ñ#°-Ð#Ó@ˆØ×#Ñ# qÔ(Ð(Ð(Ø�A�wˆr+   c               ó   € V ^8„  d   QhRR/# )r<   r=   r
   r?   )r@   s   "rA   rB   r3     s   € ÷ "ñ " hñ "r+   c                ó   € \         h©z)Return the bytes of the command response.)ÚNotImplementedErrorrH  s   &rA   Úraw_command_responseÚ_OpReply.raw_command_response   s
   € ô "Ð!r+   c               ó   € V ^8„  d   QhRR/# ©r<   r=   rA  r?   )r@   s   "rA   rB   r3  ¦  s   € ÷ ñ ˜dñ r+   c                ó   € R# )ú+Is the moreToCome bit set on this response?Fr?   rH  s   &rA   Úmore_to_comeÚ_OpReply.more_to_come¥  s   € ñ r+   c               ó    € V ^8„  d   QhRRRR/# )r<   rô   r2  r=   r/  r?   )r@   s   "rA   rB   r3  «  s   € ÷ Añ AÐ+ð A°ñ Ar+   c                óN   € V P                  V4      w  r#rEVR,          pV ! W#WV4      # )z%Construct an _OpReply from raw bytes.:é   NN)ÚUNPACK_FROM)Úclsrô   rÐ   r²   r½  r1  r0   s   &&     rA   ÚunpackÚ_OpReply.unpackª  s-   € ð 03¯©¸sÓ/CÑ,ˆ˜!à˜•Hˆ	Ù�5 _Ó@Ð@r+   )r²   r0   rÐ   r1  )rÐ   r²   r1  r0   )NN)r_   ri  rj  rk  rl  rm  ÚstructÚStructÚunpack_fromrb  ÚOP_CODErD  rA  r9   rK  rQ  rW  rn  r]  Úclassmethodrd  ro  r?   r+   rA   r/  r/  A  sv   † Ù.àF€Ià—-’- Ó(×4Ñ4€KØ€Gõ#÷*ð\ $(Ø+IØ37Ø %÷Võ:õ"ð
 ôó ðð ôAó ôAr+   r/  c                  óâ   € ] tR tRtRtRt]P                  ! R4      P                  t	Rt
^t^tRtR R ltR/ 3R R	 lltR]RR
3R R lltR R ltR R lt]R R l4       t]R R l4       tRtR# )Ú_OpMsgi´  z"A MongoDB OP_MSG response message.z<IBiró   c               ó    € V ^8„  d   QhRRRR/# )r<   rÐ   r>   Úpayload_documentr2  r?   )r@   s   "rA   rB   Ú_OpMsg.__annotate__Á  s   € ÷ 1ñ 1˜cð 1Ð5Gñ 1r+   c                	ó   € Wn         W n        R # rØ   ©rÐ   rn  )rC  rÐ   rn  s   &&&rA   rD  Ú_OpMsg.__init__Á  s   € ØŒ
Ø 0Ör+   Nc               ó$   € V ^8„  d   QhRRRRRR/# )r<   r²   r•   r7  r™   r=   ry  r?   )r@   s   "rA   rB   ro  Å  s(   € ÷ #ñ #à ð#ð 1ð#ð 
!ñ	#r+   c                óf   € \         P                  ! \        V P                  4      V\        4      pV.# )zX
cursor_id is ignored
user_fields is used to determine which fields must not be decoded
)r  Ú_decode_selectiver   rn  r   )rC  r²   r7  Úinflated_responses   &&& rA   rA  Ú_OpMsg.raw_responseÅ  s3   € ô !×2Ò2Ü˜D×1Ñ1Ó2°KÔAXó
Ðð "Ð"Ð"r+   Fc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# rD  r?   )r@   s   "rA   rB   ro  Ó  sC   € ÷ ]ñ ]à ð]ð )ð]ð 1ð	]ð
 ð]ð 
ñ]r+   c                óX   € V'       d   Q h\         P                  ! V P                  W#4      # )aF  Unpack a OP_MSG command response.

:param cursor_id: Ignored, for compatibility with _OpReply.
:param codec_options: an instance of
    :class:`~bson.codec_options.CodecOptions`
:param user_fields: Response fields that should be decoded
    using the TypeDecoders from codec_options, passed to
    bson._decode_all_selective.
)r  rI  rn  rJ  s   &&&&&rA   rK  Ú_OpMsg.unpack_responseÓ  s&   € ÷" #Ð"Ð"Ü×)Ò)¨$×*?Ñ*?ÀÓ\Ð\r+   c               ó    € V ^8„  d   QhRRRR/# rN  r?   )r@   s   "rA   rB   ro  ç  s   € ÷ Dñ DÐ.?ð DÀNñ Dr+   c                ó4   € V P                  VR7      ^ ,          # rP  )rK  )rC  rE  s   &&rA   rQ  Ú_OpMsg.command_responseç  s   € à×#Ñ#°-Ð#Ó@ÀÕCÐCr+   c               ó   € V ^8„  d   QhRR/# )r<   r=   r2  r?   )r@   s   "rA   rB   ro  ë  s   € ÷ %ñ %Ð&8ñ %r+   c                ó   € V P                   # rU  )rn  rH  s   &rA   rW  Ú_OpMsg.raw_command_responseë  s   € à×$Ñ$Ð$r+   c               ó   € V ^8„  d   QhRR/# rZ  r?   )r@   s   "rA   rB   ro  ð  s   € ÷ 4ñ 4˜dñ 4r+   c                óN   € \        V P                  V P                  ,          4      # )r\  )rA  rÐ   ÚMORE_TO_COMErH  s   &rA   r]  Ú_OpMsg.more_to_comeï  s   € ô �D—J‘J ×!2Ñ!2Õ2Ó3Ð3r+   c               ó    € V ^8„  d   QhRRRR/# )r<   rô   r2  r=   rl  r?   )r@   s   "rA   rB   ro  õ  s   € ÷ ,ñ ,Ð+ð ,°ñ ,r+   c                óf  € V P                  V4      w  r#pV^ 8w  dO   W P                  ,          '       d   \        RVR 24      hW P                  ,          '       d   \        RVR 24      hV^ 8w  d   \        RVR 24      h\	        V4      V^,           8w  d   \        R4      hVR,          pV ! W%4      # )z#Construct an _OpMsg from raw bytes.z+Unsupported OP_MSG flag checksumPresent: 0xÚxzUnsupported OP_MSG flags: 0xz#Unsupported OP_MSG payload type: 0xz$Unsupported OP_MSG reply: >1 section:é   NN)rb  ÚCHECKSUM_PRESENTr   rƒ  rS   )rc  rô   rÐ   Úfirst_payload_typeÚfirst_payload_sizern  s   &&    rA   rd  Ú_OpMsg.unpackô  s½   € ð 9<¿¹ÈÓ8LÑ5ˆÐ#5Ø�AŒ:Ø×+Ñ+×+Ô+Ü#Ð&QÐRWÐXYÐQZÐ$[Ó\Ð\à×'Ñ'×'Ô'Ü#Ð&BÀ5ÈÀ)Ð$LÓMÐMØ Ô"ÜÐ"EÐFXÐYZÐE[Ð \Ó]Ð]äˆs‹8Ð)¨AÕ-Ô-ÜÐ FÓGÐGà˜r�7ÐÙ�5Ó+Ð+r+   rq  )rÐ   r²   r1  rn  i   )r_   ri  rj  rk  rl  rm  rf  rg  rh  rb  ri  r‰  rƒ  ÚEXHAUST_ALLOWEDrD  rA  r9   rK  rQ  rW  rn  r]  rj  rd  ro  r?   r+   rA   rl  rl  ´  sŽ   † Ù,àM€Ià—-’- Ó'×3Ñ3€KØ€Gð ÐØ€LØ€Oõ1ð $(Ø35÷#ð  $(Ø+IØ37Ø %÷]õ(Dõ%ð ô4ó ð4ð ô,ó ô,r+   rl  zBdict[int, Callable[[bytes | memoryview], Union[_OpReply, _OpMsg]]]Ú_UNPACK_REPLYc                  ó‚   € ] tR tRtRtRtRtRtR R ltR R lt	R R	 lt
R
 R ltR R ltRR R lltRR R lltRtR# )Ú_Queryi  zA query operation.Nc                óX   € V ^8„  d   Qh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/# )r<   rÐ   r>   Údbr]   r�   ÚntoskiprJ   ri   Úfieldsr™   rE  rÕ   rL   r!   r“   r”   r—   r%   r˜   rš   r›   Úclientr)   rœ   r�   ÚexhaustrA  r?   )r@   s   "rA   rB   Ú_Query.__annotate__*  sª   € ÷ $ñ $àð$ð ð$ð ð	$ð
 ð$ð  ð$ð ,ð$ð )ð$ð %ð$ð ð$ð ð$ð "ð$ð /ð$ð 2ð$ð %ð$ð  'ð!$ð" ñ#$r+   c                	óä   € Wn         W n        W0n        W@n        WPn        W`n        Wpn        W€n        W°n        W�n	        W n
        WÀn        WÐn        Wàn        Wðn        R V n        RV n        VV n        R# )rŸ   N)rÐ   r’  r�   r“  rJ   r”  rE  rL   r—   r“   r”   r˜   rš   r•  rœ   r  Ú_as_commandr–  )rC  rÐ   r’  r�   r“  rJ   r”  rE  rL   r“   r”   r—   r˜   rš   r•  rœ   r–  s   &&&&&&&&&&&&&&&&&rA   rD  Ú_Query.__init__*  si   € ð& Œ
ØŒØŒ	ØŒØŒ	ØŒØ*ÔØ.ÔØ(ÔØŒ
Ø$ŒØ"ŒØŒØŒØ,ÔØˆŒ	ØAEˆÔØˆŽr+   c               ó   € V ^8„  d   QhRR/# ©r<   r=   rZ  r?   )r@   s   "rA   rB   r—  P  ó   € ÷  ñ  �tñ  r+   c                	ó   € R V n         R # rØ   ©r™  rH  s   &rA   ÚresetÚ_Query.resetP  ó
   € ØˆÖr+   c               ó   € V ^8„  d   QhRR/# ©r<   r=   r]   r?   )r@   s   "rA   rB   r—  S  ó   € ÷ (ñ (˜3ñ (r+   c                	ó8   € V P                    R V P                   2# ©rË  ©r’  r�   rH  s   &rA   r~  Ú_Query.namespaceS  ó   € Ø—'‘'�˜!˜DŸI™I˜;Ð'Ð'r+   c               ó    € V ^8„  d   QhRRRR/# ©r<   r´   r(   r=   rA  r?   )r@   s   "rA   rB   r—  V  s   € ÷ ñ Ð 3ð ¸ñ r+   c                	óD  € R pV P                   '       g   RpMbVP                  ^8¼  d   RpMNV P                  P                  '       g3   \	        RV P                  P
                  VP                  3,          4      hVP                  V P                  V P                  4       V# )FTzDread concern level of %s is not valid with a max wire version of %d.)	r–  r¸   r—   Úok_for_legacyr   r©   Úvalidate_sessionr•  rš   )rC  r´   Úuse_find_cmds   && rA   Úuse_commandÚ_Query.use_commandV  sŒ   € ØˆØ�|�|ˆ|Ø‰LØ×"Ñ" aÔ'à‰LØ×"Ñ"×0×0Ð0Ü$ð1Ø48×4EÑ4E×4KÑ4KÈT×MbÑMbÐ3cõdóð ð
 	×Ñ˜dŸk™k¨4¯<©<Ô8ØÐr+   c               ó    € V ^8„  d   QhRRRR/# ©r<   r¬   rY   r=   rZ  r?   )r@   s   "rA   rB   r—  f  ó   € ÷ (ñ ( .ð (°Tñ (r+   c                	ó*   € WP                   3V n        R # rØ   ©r’  r™  ©rC  r¬   s   &&rA   Úupdate_commandÚ_Query.update_commandf  ó   € Ø§¡˜<ˆÖr+   c               ó$   € V ^8„  d   QhRRRRRR/# ©r<   r´   r(   Úapply_timeoutrA  r=   ztuple[dict[str, Any], str]r?   )r@   s   "rA   rB   r—  i  s$   € ÷ % ñ % Ø'ð% Ø8<ð% à	#ñ% r+   c                óf  € V P                   e   V P                   # RV P                  9   p\        V P                  V P                  V P                  V P
                  V P                  V P                  V P                  V P                  V P                  V P                  V P                  4      pV'       d   RV n        RV/pVP                  V4       V P                  '       dh   V P                  P                  VRV P                   V4       V'       g8   V P                  P"                  '       g   V P                  P%                  WA4       VP'                  W@P                  V P(                  4       V'       d   VP+                  V P(                  VR7       W@P,                  3V n         V P                   # )z.Return a find command document for this query.r    ÚexplainF©r¬   )r™  rJ   r°   r�   r”  r“  r“   r”   rÐ   r—   r˜   rš   rœ   r  Úadd_server_apiÚ	_apply_torL   rª   Ú_update_read_concernÚsend_cluster_timer•  r¾  r’  )rC  r´   r¾  rÀ  r¬   s   &&&  rA   Ú
as_commandÚ_Query.as_commandi  s@  € ð ×ÑÒ'Ø×#Ñ#Ð#à §	¡	Ñ)ˆÜ/Ø�I‰IØ�I‰IØ�K‰KØ�L‰LØ�J‰JØ�O‰OØ�J‰JØ×ÑØ�N‰NØ�L‰LØ×Ñó
ˆ÷ Ø!ˆDŒIØ˜cÐ"ˆCØ×Ñ˜CÔ Ø�<�<ˆ<Ø�L‰L×"Ñ" 3¨¨t×/CÑ/CÀTÔJç 4§<¡<×#>×#>Ð#>Ø—‘×1Ñ1°#Ô<Ø×Ñ˜s§L¡L°$·+±+Ô>çØ×Ñ˜tŸ{™{°ÐÔ4Ø§¡˜<ˆÔØ×ÑÐr+   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r<   rL   r!   r´   r(   Úuse_cmdrA  r=   r  r?   )r@   s   "rA   rB   r—  �  s,   € ÷ 2
ñ 2
Ø*ð2
Ø2Eð2
ØPTð2
à	ñ2
r+   c                ó  € Wn         VP                  '       d   V P                  ^,          pMV P                  pV P                  4       pV P                  pV'       dO   V P                  V4      ^ ,          p\        ^ VV P                  VV P                  VP                  R7      w  rxršWxV	3# V P                  ^8H  ;'       d    ^;'       g    V P                  pV P                  '       d,   V'       d   \        V P                  V4      pMV P                  pVP                  '       d$   \        V\        4      '       g   Q h\!        Wa4      p\#        TTV P$                  TTV'       d   RMV P&                  V P                  VP                  R7      # )z:Get a query message, possibly setting the secondaryOk bit.©r½   N)rL   rP   rÐ   r~  rJ   rÆ  r  r’  rE  rB  r”   r“   r‹   Ú	is_mongosÚ
isinstancer	   rT   r  r“  r”  )rC  rL   r´   rÉ  rÐ   rù  rJ   rÆ   rô   rí   r½  Ú	ntoreturns   &&&&        rA   Úget_messageÚ_Query.get_message�  sA  € ð
  /ÔØ××Ðà—J‘J •N‰Eà—J‘JˆEà�^‰^ÓˆØ�y‰yˆçØ—?‘? 4Ó(¨Õ+ˆDÜ'.ØØØ—‘ØØ×"Ñ"Ø×,Ñ,ô(Ñ$ˆJ˜Tð  DÐ(Ð(ð
 —O‘O qÑ(×.Ð.¨Q×AÐA°$·/±/ˆ	Ø�:�:ˆ:ßÜ §
¡
¨IÓ6‘	à ŸJ™J�	à�>�>ˆ>Ü˜d¤N×3Ò3Ð3Ð3Ü-¨dÓDˆDäØØØ�L‰LØØß‰D §¡Ø×ÑØ×(Ñ(ô	
ð 		
r+   )r™  rœ   r”   r•  rE  r�   r˜   r’  r–  r”  rÐ   r“   r  r“  r—   rL   rš   rJ   )rÐ   r’  r�   r“  rJ   r”  rE  rL   r“   r”   r  r—   r˜   rš   r•  rœ   r™  r–  ©F)r_   ri  rj  rk  rl  rm  Úconn_mgrr²   rD  r   r~  r±  r¹  rÆ  rÏ  ro  r?   r+   rA   r�  r�    sB   † Ùð€Ið, €HØ€Iõ$õL õ(õõ (÷% ÷N2
ó 2
r+   r�  c                  ó~   € ] tR tRtRtRtRtR R ltR R ltR R	 lt	R
 R lt
R R ltRR R lltRR R lltRtR# )Ú_GetMoreiÅ  zA getmore operation.r¶   c               óH   € V ^8„  d   Qh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²   rE  rÕ   rL   r!   rš   r›   r•  r)   r³   r•   rÒ  r   r–  rA  r‡   r?   )r@   s   "rA   rB   Ú_GetMore.__annotate__Ú  s‚   € ÷ ñ àðð ðð ð	ð
 ðð )ðð %ðð 2ðð %ðð )ðð ðð ðð ñr+   c                	ó¤   € Wn         W n        W0n        W@n        WPn        W`n        Wpn        W€n        W�n        W n	        R V n
        W°n        WÀn        R # rØ   )r’  r�   rÎ  r²   rE  rL   rš   r•  r³   rÒ  r™  r–  r‡   )rC  r’  r�   rÎ  r²   rE  rL   rš   r•  r³   rÒ  r–  r‡   s   &&&&&&&&&&&&&rA   rD  Ú_GetMore.__init__Ú  sK   € ð ŒØŒ	Ø"ŒØ"ŒØ*ÔØ.ÔØŒØŒØ!2ÔØ ŒØAEˆÔØŒØŽr+   c               ó   € V ^8„  d   QhRR/# rœ  r?   )r@   s   "rA   rB   rÖ  ÷  r�  r+   c                	ó   € R V n         R # rØ   rŸ  rH  s   &rA   r   Ú_GetMore.reset÷  r¢  r+   c               ó   € V ^8„  d   QhRR/# r¤  r?   )r@   s   "rA   rB   rÖ  ú  r¥  r+   c                	ó8   € V P                    R V P                   2# r§  r¨  rH  s   &rA   r~  Ú_GetMore.namespaceú  rª  r+   c               ó    € V ^8„  d   QhRRRR/# r¬  r?   )r@   s   "rA   rB   rÖ  ý  s   € ÷ 	ñ 	Ð 3ð 	¸ñ 	r+   c                	ó¦   € R pV P                   '       g   RpMVP                  ^8¼  d   RpVP                  V P                  V P                  4       V# )FT)r–  r¸   r¯  r•  rš   )rC  r´   rÉ  s   && rA   r±  Ú_GetMore.use_commandý  sE   € ØˆØ�|�|ˆ|Ø‰GØ×"Ñ" aÔ'àˆGà×Ñ˜dŸk™k¨4¯<©<Ô8Øˆr+   c               ó    € V ^8„  d   QhRRRR/# r´  r?   )r@   s   "rA   rB   rÖ    rµ  r+   c                	ó*   € WP                   3V n        R # rØ   r·  r¸  s   &&rA   r¹  Ú_GetMore.update_command  r»  r+   c               ó$   € V ^8„  d   QhRRRRRR/# r½  r?   )r@   s   "rA   rB   rÖ    s$   € ÷  ñ  Ø'ð Ø8<ð à	#ñ r+   c                ó"  € V P                   e   V P                   # \        V P                  V P                  V P                  V P
                  V P                  V4      pV P                  '       d)   V P                  P                  VRV P                  V4       VP                  V4       VP                  W0P                  V P                  4       V'       d   VP                  V P                  RR7       W0P                  3V n         V P                   # )z1Return a getMore command document for this query.NFrÁ  )r™  r¹   r²   r�   rÎ  r³   r‡   rš   rÃ  rL   rÂ  rÅ  r•  r¾  r’  )rC  r´   r¾  r¬   s   &&& rA   rÆ  Ú_GetMore.as_command  sÑ   € ð
 ×ÑÒ'Ø×#Ñ#Ð#ä3Ø�N‰NØ�I‰IØ�N‰NØ×"Ñ"Ø�L‰LØó
ˆð �<�<ˆ<Ø�L‰L×"Ñ" 3¨¨t×/CÑ/CÀTÔJØ×Ñ˜CÔ Ø×Ñ˜s§L¡L°$·+±+Ô>çØ×Ñ˜tŸ{™{°ÐÔ5Ø§¡˜<ˆÔØ×ÑÐr+   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r<   Údummy0r   r´   r(   rÉ  rA  r=   z0Union[tuple[int, bytes, int], tuple[int, bytes]]r?   )r@   s   "rA   rB   rÖ  %  s2   € ÷ Bñ BØðBØ!4ðBØ?CðBà	9ñBr+   c           	     ó”  € V P                  4       pVP                  pV'       d…   V P                  V4      ^ ,          pV P                  '       d$   V P                  '       d   \
        P                  pM^ p\        WvV P                  RV P                  VP                  R7      w  r‰r«W‰V
3# \        W@P                  V P                  V4      # )zGet a getmore message.NrË  )r~  rB  rÆ  rÒ  r–  rl  r�  r  r’  rE  r,  rÎ  r²   )rC  ré  r´   rÉ  rù  r½   rJ   rÐ   rÆ   rô   rí   r½  s   &&&&        rA   rÏ  Ú_GetMore.get_message%  s    € ð �^‰^ÓˆØ×&Ñ&ˆçØ—?‘? 4Ó(¨Õ+ˆDØ�}�}ˆ} §§ Ü×.Ñ.‘à�Ü'.Ø˜TŸW™W d¨D×,>Ñ,>ÀD×D\ÑD\ô(Ñ$ˆJ˜Tð  DÐ(Ð(ä˜Ÿ^™^¨T¯^©^¸SÓAÐAr+   )r™  r•  rE  r�   r‡   rÒ  r²   r’  r–  r³   rÎ  rL   rš   N)r’  r�   rÎ  r²   r³   rE  rL   rš   r•  rÒ  r™  r–  r‡   rÑ  )r_   ri  rj  rk  rl  rm  r  rD  r   r~  r±  r¹  rÆ  rÏ  ro  r?   r+   rA   rÔ  rÔ  Å  s=   † Ùð€Ið  €Dõõ: õ(õ	õ(÷ ÷4Bó Br+   rÔ  c                  ó.   a € ] tR tRtR V 3R lltRtV ;t# )Ú_RawBatchQueryi:  c               ó    € V ^8„  d   QhRRRR/# r¬  r?   )r@   s   "rA   rB   Ú_RawBatchQuery.__annotate__;  ó   € ÷ ñ Ð 3ð ¸ñ r+   c                	ót   <€ \         SV `  V4       VP                  ^8¼  d   R# V P                  '       g   R# R# ©é   TF©rv  r±  r¸   r–  ©rC  r´   r^   s   &&€rA   r±  Ú_RawBatchQuery.use_command;  ó0   ø€ ä‰Ñ˜DÔ!Ø× Ñ  AÔ%áØ——�ÙÙr+   r?   ©r_   ri  rj  rk  r±  ro  r‰  rŠ  s   @rA   rí  rí  :  ó   ø† ÷ö r+   rí  c                  ó.   a € ] tR tRtR V 3R lltRtV ;t# )Ú_RawBatchGetMoreiF  c               ó    € V ^8„  d   QhRRRR/# r¬  r?   )r@   s   "rA   rB   Ú_RawBatchGetMore.__annotate__G  rð  r+   c                	ót   <€ \         SV `  V4       VP                  ^8¼  d   R# V P                  '       g   R# R# rò  rô  rõ  s   &&€rA   r±  Ú_RawBatchGetMore.use_commandG  r÷  r+   r?   rø  rŠ  s   @rA   rû  rû  F  rù  r+   rû  c                  ól   € ] tR tRt$ RtR]R&   R R lt]R R l4       tR	 R
 lt	R R lt
R R ltRtR# )Ú_CursorAddressiR  zEThe server address (host, port) of a cursor, with namespace property.r   Ú_CursorAddress__namespacec               ó$   € V ^8„  d   QhRRRRRR/# )r<   r^  r&   r~  r]   r=   r  r?   )r@   s   "rA   rB   Ú_CursorAddress.__annotate__W  s!   € ÷ ñ ˜hð °3ð ¸>ñ r+   c                	ó<   € \         P                  W4      pW#n        V# rØ   )ÚtupleÚ__new__r  )rc  r^  r~  rC  s   &&& rA   r  Ú_CursorAddress.__new__W  s   € Ü�}‰}˜SÓ*ˆØ$ÔØˆr+   c               ó   € V ^8„  d   QhRR/# r¤  r?   )r@   s   "rA   rB   r  ]  s   € ÷  ñ  ˜3ñ  r+   c                ó   € V P                   # )zThe namespace this cursor.)r  rH  s   &rA   r~  Ú_CursorAddress.namespace\  s   € ð ×ÑÐr+   c               ó   € V ^8„  d   QhRR/# r;   r?   )r@   s   "rA   rB   r  a  s   € ÷ 6ñ 6˜#ñ 6r+   c                	ó@   € . V OV P                   N5P                  4       # rØ   )r  Ú__hash__rH  s   &rA   r  Ú_CursorAddress.__hash__a  s#   € ð *�$Ð)˜×(Ñ(Ñ)×3Ñ3Ó5Ð5r+   c               ó    € V ^8„  d   QhRRRR/# ©r<   ÚotherÚobjectr=   rA  r?   )r@   s   "rA   rB   r  f  s   € ÷ ñ ˜Fð  tñ r+   c                	óª   € \        V\        4      '       d9   \        V 4      \        V4      8H  ;'       d    V P                  VP                  8H  # \        # rØ   )rÍ  r  r  r~  ÚNotImplemented©rC  r  s   &&rA   Ú__eq__Ú_CursorAddress.__eq__f  s=   € Ü�eœ^×,Ò,Ü˜“;¤%¨£,Ñ.×TÐT°4·>±>ÀUÇ_Á_Ñ3TÐTÜÐr+   c               ó    € V ^8„  d   QhRRRR/# r  r?   )r@   s   "rA   rB   r  k  s   € ÷ !ñ !˜Fð ! tñ !r+   c                	ó   € W8X  * # rØ   r?   r  s   &&rA   Ú__ne__Ú_CursorAddress.__ne__k  s   € ØÒ Ð r+   )Ú__namespaceN)r_   ri  rj  rk  rl  Ú__annotations__r  rn  r~  r  r  r  ro  r?   r+   rA   r  r  R  s8   ‡ ÙOàÓõð
 ô ó ð õ6õ
÷
!ñ !r+   r  .i   €)NNNrØ   )’Ú__conditional_annotations__rl  Ú
__future__r   r>  rD   rf  Úior   r¢  Útypingr   r   r   r   r   r	   r
   r   r   r  r   r   r   Ú
bson.int64r   Úbson.raw_bsonr   r   r   r   Úpymongo.hellor   Úpymongo.monitoringr   Úpymongor   Ú_use_cÚImportErrorÚpymongo.errorsr   r   r   r   r   r   r   r   Úpymongo.read_preferencesr    r!   Úpymongo.compression_supportr"   r#   r$   Úpymongo.read_concernr%   Úpymongo.typingsr&   r'   r(   r)   r*   rG   rF   rü  Ú_INSERTÚ_UPDATEÚ_DELETEÚ_EMPTYr'  r$  r(  r  rÇ  r%  r&  r  r9   r  rH   rT   ra   re   r~   r«   r¦   r°   r¹   rg  ÚpackrÂ   rÃ   rÈ   rË   rÎ   rä   rá   râ   rï   rö   rú   r  r  r  r  Ú_query_messager  r  r!  r&  r)  Ú_get_more_messager,  rª  r.  rq  rŒ  rž  r˜  r¸  r¾  rÃ  rÈ  r}  rÐ  rý  rî  r  r  r  r  rÜ  r‘  r  r/  rl  ri  rd  rŽ  r�  rÔ  rí  rû  r  r  )r  s   @rA   Ú<module>r6     s7  øðôõ #ã Û Û Ý "÷
÷ 
õ 
ó ß <Ñ <Ý ÷ó õ &Ý .ðÝ!à€F÷	÷ 	ó 	÷ AçßSÑSÝ0÷õ ð €	Ø€	ð Ð à
€Ø
€Ø
€à	€Ø€Ø
€Ø€Ø€Ø.€Ø.€àÐ1ØÐ/ØÐ/ð€ð ˆkØˆiØˆiØ�ð	€
ñ COØ!*ôCÐ Ð ?ó õ
0õ
õ$Oõ
õ!ðJ �Ø�1Ø�rØ�Ø˜3ð€ð ˆhØ�ØˆVØ�	Ø�	Ø�+Ø
ˆEØ
ˆEØ�+Ø�^Ø�NØ�ð€
÷ 4õnð& "Ÿ=š=¨Ó4×9Ñ9Ð ØÐ õ+ð& �}Š}˜WÓ%×*Ñ*€õð �MŠM˜$Ó×$Ñ$€	Ø Ÿ-š-¨Ó.×3Ñ3Ð Ø�]Š]˜4Ó ×%Ñ%€
õ4õ@/õ
=÷ 
Ø$×,Ñ,Ð÷'õ@õ>#õ$#÷" 
Ø#×2Ñ2Ð÷ð( —-’- Ó%×*Ñ*€õ	õ[õ[÷ 
Ø&×8Ñ8Ð÷	Mð  ÐØˆ^Øˆ^ð€÷[
ñ [
ô|4Ð-ô 4ôn#Ð!2ô #õ0Lð& Ð õAõH#÷" 
Ø&×=Ñ=Ðõ$õ$/÷8 
Ø×/Ñ/€OõEô*:Ð3ô :ðz Ð õ-õ`s+õl3õ&4õ(?õ<Sõ.#÷ 
Ø$-×$KÒ$KÐ!õH÷VpAñ pA÷fQ,ñ Q,ðj ×Ò�h—o’oØ
‡N‚N�F—M’MðU€ÐQó ÷t
ñ t
÷nrBñ rBôj	�Vô 	ô	�xô 	ô!�U˜3 ˜8•_ö !øðu8 ô ØƒFðús   Á"O Ï	OÏO