Ë
    çObj>  ã                   óø   — d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 d dl
m
Z
 d dlmZmZ d dlmZmZ d dlmZ d d	lmZ d d
lmZmZmZmZ e G d„ d«      «       Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)é    )ÚLock)Údefaultdict)ÚAsyncGeneratorÚHashableÚMapping)Úasynccontextmanager)Úcopy)Ú	dataclassÚfield)ÚAnyÚoverload)ÚDataNotDictLikeError)ÚState)ÚBaseEventIsolationÚBaseStorageÚ	StateTypeÚ
StorageKeyc                   óH   — e Zd ZU  ee¬«      Zeeef   ed<   dZ	edz  ed<   y)ÚMemoryStorageRecord)Údefault_factoryÚdataNÚstate)
Ú__name__Ú
__module__Ú__qualname__r   Údictr   Ústrr   Ú__annotations__r   © ó    úM/var/www/html/venv/lib/python3.12/site-packages/aiogram/fsm/storage/memory.pyr   r      s'   … á °Ô6€Dˆ$ˆs�Cˆx‰.Ó6Ø€Eˆ3�‰:Ôr    r   c            
       óò   — e Zd ZdZdd„Zdd„Zddededdfd„Zdede	dz  fd	„Z
ded
ee	ef   ddfd„Zdedee	ef   fd„Zedede	dedz  fd„«       Zedede	dedefd„«       Z	 ddede	dedz  dedz  fd„Zy)ÚMemoryStoragez÷
    Default FSM storage; uses a regular :class:`dict` to store data and
    does not persist it across restarts.

    .. warning::

        This storage is not recommended for production use, as all data is lost
        when the bot restarts
    ÚreturnNc                 ó,   — t        t        «      | _        y ©N)r   r   Ústorage©Úselfs    r!   Ú__init__zMemoryStorage.__init__$   s   € ÜEPÜóF
ˆ�r    c              ƒ   ó   K  — y ­wr&   r   r(   s    r!   ÚclosezMemoryStorage.close)   ó	   è ø€ Øùó   ‚Úkeyr   c              ƒ   ól   K  — t        |t        «      r|j                  n|| j                  |   _        y ­wr&   )Ú
isinstancer   r   r'   )r)   r/   r   s      r!   Ú	set_statezMemoryStorage.set_state,   s&   è ø€ Ü1;¸EÄ5Ô1I %§+¢+Èuˆ�‰�SÑÕùs   ‚24c              ƒ   ó<   K  — | j                   |   j                  S ­wr&   )r'   r   ©r)   r/   s     r!   Ú	get_statezMemoryStorage.get_state/   s   è ø€ Ø�|‰|˜CÑ ×&Ñ&Ð&ùs   ‚r   c              ƒ   ó¶   K  — t        |t        «      s#dt        |«      j                  › �}t	        |«      ‚|j                  «       | j                  |   _        y ­w)Nz-Data must be a dict or dict-like object, got )r1   r   Útyper   r   r	   r'   r   )r)   r/   r   Úmsgs       r!   Úset_datazMemoryStorage.set_data2   sI   è ø€ Ü˜$¤Ô%ØAÄ$ÀtÃ*×BUÑBUÐAVÐWˆCÜ& sÓ+Ð+Ø!%§¡£ˆ�‰�SÑÕùs   ‚AAc              ƒ   óX   K  — | j                   |   j                  j                  «       S ­wr&   )r'   r   r	   r4   s     r!   Úget_datazMemoryStorage.get_data8   s$   è ø€ Ø�|‰|˜CÑ ×%Ñ%×*Ñ*Ó,Ð,ùs   ‚(*Ústorage_keyÚdict_keyc              ƒ   ó   K  — y ­wr&   r   )r)   r<   r=   s      r!   Ú	get_valuezMemoryStorage.get_value;   s	   è ø€ ØUXùr.   Údefaultc              ƒ   ó   K  — y ­wr&   r   )r)   r<   r=   r@   s       r!   r?   zMemoryStorage.get_value>   s	   è ø€ Ø\_ùr.   c              ƒ   ór   K  — | j                   |   j                  }t        |j                  ||«      «      S ­wr&   )r'   r   r	   Úget)r)   r<   r=   r@   r   s        r!   r?   zMemoryStorage.get_valueA   s2   è ø€ ð �|‰|˜KÑ(×-Ñ-ˆÜ�D—H‘H˜X wÓ/Ó0Ð0ùs   ‚57©r$   Nr&   )r   r   r   Ú__doc__r*   r,   r   r   r2   r   r5   r   r   r9   r   r;   r   r?   r   r    r!   r#   r#      s  „ ñó
ó
ñU :ð U°ið UÈ4ó Uð' :ð '°#¸±*ó 'ð- *ð -°G¸CÀ¸HÑ4Eð -È$ó -ð- *ð -°°c¸3°h±ó -ð ØX¨:ÐXÀÐXÈÈtÉÒXó ØXàØ_¨:Ð_ÀÐ_ÈsÐ_ÐWZÒ_ó Ø_ð #ñ	1àð1ð ð1ð �t‘ð	1ð
 
ˆt‰ô1r    r#   c                   ó4   — e Zd Zededed   fd„«       Zdd„Zy)ÚDisabledEventIsolationr/   r$   ©NNc                ó   K  — d ­–— y ­wr&   r   r4   s     r!   ÚlockzDisabledEventIsolation.lockL   s	   è ø€ åùs   ‚	Nc              ƒ   ó   K  — y ­wr&   r   r(   s    r!   r,   zDisabledEventIsolation.closeP   r-   r.   rD   )r   r   r   r   r   r   rJ   r,   r   r    r!   rG   rG   K   s,   „ Øð˜jð ¨^¸JÑ-Gò ó ðôr    rG   c                   ó<   — e Zd Zdd„Zededed   fd„«       Zdd„Zy)	ÚSimpleEventIsolationr$   Nc                 ó,   — t        t        «      | _        y r&   )r   r   Ú_locksr(   s    r!   r*   zSimpleEventIsolation.__init__U   s   € ä3>¼tÓ3Dˆ�r    r/   rH   c                óœ   K  — | j                   |   }|4 ƒd {  –—†  d ­–— d d d «      ƒd {  –—†  y 7 Œ7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­wr&   )rO   )r)   r/   rJ   s      r!   rJ   zSimpleEventIsolation.lockY   sI   è ø€ à�{‰{˜3ÑˆØ÷ 	ñ 	Ü÷	÷ 	ñ 	øð 	ø÷ 	÷ 	ñ 	üs:   ‚A˜3™Aœ7¢A­5®AµA·A	½A ¾A	ÁAc              ƒ   ó@   K  — | j                   j                  «        y ­wr&   )rO   Úclearr(   s    r!   r,   zSimpleEventIsolation.close_   s   è ø€ Ø�‰×ÑÕùs   ‚rD   )	r   r   r   r*   r   r   r   rJ   r,   r   r    r!   rM   rM   T   s4   „ óEð ð˜jð ¨^¸JÑ-Gò ó ðô
r    rM   N)Úasyncior   Úcollectionsr   Úcollections.abcr   r   r   Ú
contextlibr   r	   Údataclassesr
   r   Útypingr   r   Úaiogram.exceptionsr   Úaiogram.fsm.stater   Úaiogram.fsm.storage.baser   r   r   r   r   r#   rG   rM   r   r    r!   ú<module>r\      sm   ðÝ Ý #ß =Ñ =Ý *Ý ß (ß  å 3Ý #÷ó ð ÷ð ó ðô
/1�Kô /1ôdÐ/ô ôÐ-õ r    