Ë
    Ü_Ëiâ	  ã                  óF   — d Z ddlmZ ddlmZmZ  G d„ d«      Z e«       Zy)z‡Tools for working with read concerns.

.. seealso:: This module is compatible with both the synchronous and asynchronous PyMongo APIs.
é    )Úannotations)ÚAnyÚOptionalc                  ó`   — e Zd ZdZd	d
d„Zedd„«       Zedd„«       Zedd„«       Zdd„Z	dd„Z
y)ÚReadConcernaŽ  ReadConcern

    :param level: (string) The read concern level specifies the level of
          isolation for read operations.  For example, a read operation using a
          read concern level of ``majority`` will only return data that has been
          written to a majority of nodes. If the level is left unspecified, the
          server default will be used.

    .. versionadded:: 3.2

    Nc                ód   — |�t        |t        «      r|| _        y t        dt	        |«      › �«      ‚)Nz$level must be a string or None, not )Ú
isinstanceÚstrÚ_ReadConcern__levelÚ	TypeErrorÚtype)ÚselfÚlevels     úW/var/www/pod-logistic/pod-api/venv/lib/python3.12/site-packages/pymongo/read_concern.pyÚ__init__zReadConcern.__init__%   s.   € Øˆ=œJ u¬cÔ2Ø ˆD�LäÐBÄ4ÈÃ;À-ÐPÓQÐQó    c                ó   — | j                   S )zThe read concern level.)r   ©r   s    r   r   zReadConcern.level+   s   € ð �|‰|Ðr   c                ó@   — | j                   du xs | j                   dk(  S )zdReturn ``True`` if this read concern is compatible with
        old wire protocol versions.
        NÚlocal©r   r   s    r   Úok_for_legacyzReadConcern.ok_for_legacy0   s!   € ð
 �z‰z˜TÐ!Ò: T§Z¡Z°7Ñ%:Ð:r   c                ó@   — i }| j                   r| j                  |d<   |S )zÖThe document representation of this read concern.

        .. note::
          :class:`ReadConcern` is immutable. Mutating the value of
          :attr:`document` does not mutate this :class:`ReadConcern`.
        r   )r   r   )r   Údocs     r   ÚdocumentzReadConcern.document7   s"   € ð ˆØ�<Š<ØŸ:™:ˆC�‰LØˆ
r   c                ó`   — t        |t        «      r| j                  |j                  k(  S t        S ©N)r	   r   r   ÚNotImplemented)r   Úothers     r   Ú__eq__zReadConcern.__eq__D   s%   € Ü�eœ[Ô)Ø—=‘= E§N¡NÑ2Ð2ÜÐr   c                ó:   — | j                   rd| j                   z  S y)NzReadConcern(%s)zReadConcern()r   r   s    r   Ú__repr__zReadConcern.__repr__I   s   € Ø�:Š:Ø$ t§z¡zÑ1Ð1Ør   r   )r   úOptional[str]ÚreturnÚNone)r$   r#   )r$   Úbool)r$   zdict[str, Any])r   r   r$   r&   )r$   r
   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   r   r   r    r"   © r   r   r   r      sS   „ ñ
ôRð òó ðð ò;ó ð;ð ò
ó ð
óô
r   r   N)r*   Ú
__future__r   Útypingr   r   r   ÚDEFAULT_READ_CONCERNr,   r   r   ú<module>r0      s'   ðñõ #ç  ÷4ñ 4ñn #“}Ñ r   