
    ;Si                     6    d dl mZmZ  e       Z G d d      Zy)   )
EntityTypeEntityc                   L    e Zd ZeddfdededefdZd Zd Z	d Z
d	 Zd
 Zd Zy)EntityCacheNhash_mapself_idself_botc                 B    |t         u ri n|| _        || _        || _        y N)	_sentinelr   r   r	   )selfr   r   r	   s       b/var/www/OnlineNewsSite/project/venv/lib/python3.12/site-packages/telethon/_updates/entitycache.py__init__zEntityCache.__init__   s"     ')3     c                     || _         || _        |r2||rt        j                  nt        j                  f| j
                  |<   y y r   )r   r	   r   BOTUSERr   )r   idbothashs       r   set_self_userzEntityCache.set_self_user   s7    !%z~~*// RDMM" r   c                 `    	 | j                   |   \  }}t        |||      S # t        $ r Y y w xY wr   )r   r   KeyError)r   r   r   tys       r   getzEntityCache.get   s:    	}}R(HD""b$'' 		s   ! 	--c                     | j                   j                  d |D               | j                   j                  d |D               y )Nc              3      K   | ]a  }t        |d d      rR|j                  sF|j                  |j                  |j                  rt
        j                  nt
        j                  ff c yw)access_hashN)getattrminr   r   r   r   r   r   ).0us     r   	<genexpr>z%EntityCache.extend.<locals>.<genexpr>!   sT      

 q-.quu TT"#%%
Z__ 
s   A'A)c              3     K   | ]  }t        |d d      rpt        |dd      sc|j                  |j                  |j                  rt        j
                  n,t        |dd      rt        j                  nt        j                  ff  yw)r   Nr    	gigagroup)r   r   r   	megagroupr   	MEGAGROUP	GIGAGROUPCHANNEL)r!   cs     r   r#   z%EntityCache.extend.<locals>.<genexpr>)   sq      	
 q-.wq%7N TT()
$$,3A{D,IJ((zOaOa 	
s   BB)r   update)r   userschatss      r   extendzEntityCache.extend   sF     

 
 	
 	 	
 	
 		
r   c                 b    |j                   |j                  f| j                  |j                  <   y r   )r   r   r   r   )r   entitys     r   putzEntityCache.put4   s!    $*KK#;fii r   c                     | j                   j                         D ci c]  \  }} ||      s|| c}}| _         y c c}}w r   )r   items)r   filterkvs       r   retainzEntityCache.retain7   s2    *.--*=*=*?M$!Q6!9AMMs   >>c                 ,    t        | j                        S r   )lenr   )r   s    r   __len__zEntityCache.__len__:   s    4==!!r   )__name__
__module____qualname__r   dictintboolr   r   r   r.   r1   r7   r:    r   r   r   r      sN     #	!! ! 	!S
*<N"r   r   N)sessionr   r   objectr   r   rA   r   r   <module>rD      s    ' H	4" 4"r   