+
    /O|j  ã                  ó¢   € ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt RR.t]! R4      t]! R	4      t	 ! R
 R]],          4      t
 ! R R4      tR# )é    )Úannotations)ÚAny)Úcast)ÚGeneric)ÚTypeVarÚStashÚStashKeyÚTÚDc                  ó   € ] tR t^tRtRtRtR# )r	   zß``StashKey`` is an object used as a key to a :class:`Stash`.

A ``StashKey`` is associated with the type ``T`` of the value of the key.

A ``StashKey`` is unique and cannot conflict with another key.

.. versionadded:: 7.0
© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__Ú__static_attributes__r   ó    ÚFC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\_pytest/stash.pyr	   r	      s   † ñð „Ir   c                  ó~   € ] tR t^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 ltR R ltR R ltRtR# )r   aæ  ``Stash`` is a type-safe heterogeneous mutable mapping that
allows keys and value types to be defined separately from
where it (the ``Stash``) is created.

Usually you will be given an object which has a ``Stash``, for example
:class:`~pytest.Config` or a :class:`~_pytest.nodes.Node`:

.. code-block:: python

    stash: Stash = some_object.stash

If a module or plugin wants to store data in this ``Stash``, it creates
:class:`StashKey`\s for its keys (at the module level):

.. code-block:: python

    # At the top-level of the module
    some_str_key = StashKey[str]()
    some_bool_key = StashKey[bool]()

To store information:

.. code-block:: python

    # Value type must match the key.
    stash[some_str_key] = "value"
    stash[some_bool_key] = True

To retrieve the information:

.. code-block:: python

    # The static type of some_str is str.
    some_str = stash[some_str_key]
    # The static type of some_bool is bool.
    some_bool = stash[some_bool_key]

.. versionadded:: 7.0
c               ó   € V ^8„  d   QhRR/# )é   ÚreturnÚNoner   )Úformats   "r   Ú__annotate__ÚStash.__annotate__H   s   € ÷ 8ñ 8˜$ñ 8r   c                	ó   € / V n         R # )N©Ú_storage©Úselfs   &r   Ú__init__ÚStash.__init__H   s	   € Ø57ˆŽr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚkeyúStashKey[T]Úvaluer
   r   r   r   )r   s   "r   r   r   K   s!   € ÷ #ñ #˜{ð #°1ð #¸ñ #r   c                ó"   € W P                   V&   R# )zSet a value for key.Nr    )r#   r'   r)   s   &&&r   Ú__setitem__ÚStash.__setitem__K   s   € à"�‰�cÓr   c               ó    € V ^8„  d   QhRRRR/# )r   r'   r(   r   r
   r   )r   s   "r   r   r   O   s   € ÷ +ñ +˜{ð +¨qñ +r   c                óD   € \        \        V P                  V,          4      # )zJGet the value for key.

Raises ``KeyError`` if the key wasn't set before.
)r   r
   r!   ©r#   r'   s   &&r   Ú__getitem__ÚStash.__getitem__O   s   € ô
 ”A�t—}‘} SÕ)Ó*Ð*r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r'   r(   Údefaultr   r   zT | Dr   )r   s   "r   r   r   V   s!   € ÷ ñ �{ð ¨Qð °5ñ r   c                ó:   €  W,          #   \          d    Tu # i ; i)zFGet the value for key, or return default if the key wasn't set
before.©ÚKeyError©r#   r'   r3   s   &&&r   ÚgetÚ	Stash.getV   s#   € ð	Ø•9ÐøÜô 	ØŠNð	ús   ‚
 Š™c               ó$   € V ^8„  d   QhRRRRRR/# )r   r'   r(   r3   r
   r   r   )r   s   "r   r   r   ^   s!   € ÷ ñ ˜kð °Að ¸!ñ r   c                óB   €  W,          #   \          d
    Y T&   Tu # i ; i)zeReturn the value of key if already set, otherwise set the value
of key to default and return default.r5   r7   s   &&&r   Ú
setdefaultÚStash.setdefault^   s*   € ð	Ø•9ÐøÜô 	Ø�‰IØŠNð	ús   ‚
 Š�c               ó    € V ^8„  d   QhRRRR/# )r   r'   r(   r   r   r   )r   s   "r   r   r   g   s   € ÷ ñ ˜{ð ¨tñ r   c                ó    € V P                   V R# )zMDelete the value for key.

Raises ``KeyError`` if the key wasn't set before.
Nr    r/   s   &&r   Ú__delitem__ÚStash.__delitem__g   s   € ð
 �M‰M˜#Òr   c               ó    € V ^8„  d   QhRRRR/# )r   r'   r(   r   Úboolr   )r   s   "r   r   r   n   s   € ÷ $ñ $ ð $°ñ $r   c                ó   € WP                   9   # )zReturn whether key was set.r    r/   s   &&r   Ú__contains__ÚStash.__contains__n   s   € à—m‘mÑ#Ð#r   c               ó   € V ^8„  d   QhRR/# )r   r   Úintr   )r   s   "r   r   r   r   s   € ÷ "ñ "˜ñ "r   c                ó,   € \        V P                  4      # )z)Return how many items exist in the stash.)Úlenr!   r"   s   &r   Ú__len__ÚStash.__len__r   s   € ä�4—=‘=Ó!Ð!r   r    N)r   r   r   r   r   r   r$   r+   r0   r8   r<   r@   rE   rK   r   r   r   r   r   r      s<   † ñ&ðP €Iõ8õ#õ+õõõõ$÷"ñ "r   N)Ú
__future__r   Útypingr   r   r   r   Ú__all__r
   r   r	   r   r   r   r   Ú<module>rP      sP   ðÝ "å Ý Ý Ý ð �JÐ
€ñ ˆCƒL€ÙˆCƒL€ô
ˆw�q�zô 
÷W"ó W"r   