+
    IV-j²  ã                   óž   € R t ^ RIHt ^ RIHt ^RIHt ^RIH	t	 ^RI
Ht ^RIHt RR./t. ROt ! R R	]4      t ! R R
]4      tR t]t]tR# )zë
Sends updates to a Telegram bot.

Usage:
>>> from tqdm.contrib.telegram import tqdm, trange
>>> for i in trange(10, token='{token}', chat_id='{chat_id}'):
...     ...

![screenshot](https://tqdm.github.io/img/screenshot-telegram.gif)
)Úwarn)ÚSession)Útqdm)ÚTqdmWarning)Úenvwrap)Ú
MonoWorkerzgithub.com/Ú	casperdclÚ
TelegramIOÚtqdm_telegramc                   óV   a a€ ] tR t^t oRtRtV 3R lt]R 4       tR t	R t
RtVtV ;t# )r	   z/Non-blocking file-like IO using a Telegram Bot.zhttps://api.telegram.org/botc                ó¨   <€ \         SV `  4        Wn        W n        \	        4       V n        V P                  P                  V n        V P                   R# )z-Creates a new message in the given `chat_id`.N)
ÚsuperÚ__init__ÚtokenÚchat_idr   ÚsessionÚ	__class__Ú__name__ÚtextÚ
message_id)Úselfr   r   r   s   &&&€Úf/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/tqdm/contrib/telegram.pyr   ÚTelegramIO.__init__   s9   ø€ ä‰ÑÔØŒ
ØŒÜ“yˆŒØ—N‘N×+Ñ+ˆŒ	Ø�Œó    c           	     ó,  € \        V R 4      '       d   V P                  #  V P                  P                  V P                   V P
                   R2RRV P                   R2RV P                  RR/R7      pVP                  4       pVP                  4        VR,          R	,          V n        V P                  #   \         dT   pXP                  R
8X  d   \        R\        ^R7        Rp?R# \        P                  ! \!        T4      4        Rp?R# Rp?ii ; i)Ú_message_idz/sendMessager   Ú`r   Ú
parse_modeÚ
MarkdownV2©ÚdataÚresultr   i­  z2Creation rate limit: try increasing `mininterval`.)Ú
stacklevelN)Úhasattrr   r   ÚpostÚAPIr   r   r   ÚjsonÚraise_for_statusÚ	ExceptionÚstatus_coder   r   Ú	tqdm_autoÚwriteÚstr)r   ÚreqÚresÚes   &   r   r   ÚTelegramIO.message_id%   só   € ä�4˜×'Ò'Ø×#Ñ#Ð#ð	$Ø—,‘,×#Ñ#Ø—8‘8�*˜TŸZ™Z˜L¨Ð5Ø  $§)¡) ¨AÐ.°	¸4¿<¹<Ø" Lð2ð $ó 3ˆCð —(‘(“*ˆCØ× Ñ Ô"ð  # 8�}¨\Õ:ˆDÔØ×#Ñ#Ð#øô ô 	(Ø�‰ #Ô%ÜÐIÜ ¨Q÷0ó 0ô —’¤ A£×'Ò'ûð	(ús    A4B5 Â5DÃ #DÃ)DÄDc                óÎ  € V'       g   RpVP                  RR4      P                  4       pWP                  8X  d   R# V P                  pVf   R# Wn         V P	                  V P
                  P                  V P                   V P                   R2RRV R2RV P                  R	VR
R/R7      pV#   \         d+   p\        P                  ! \        T4      4        Rp?R# Rp?ii ; i)z/Replaces internal `message_id`'s text with `s`.z...ÚÚ Nz/editMessageTextr   r   r   r   r   r   r   )ÚreplaceÚstripr   r   Úsubmitr   r$   r%   r   r   r(   r*   r+   r,   )r   Úsr   Úfuturer/   s   &&   r   r+   ÚTelegramIO.write:   sÒ   € çØˆAØ�I‰I�d˜BÓ×%Ñ%Ó'ˆØ—	‘	Œ>ÙØ—_‘_ˆ
ØÒÙØŒ	ð	Ø—[‘[Ø—‘×!Ñ! d§h¡h Z°·
±
¨|Ð;KÐ#LØ  !  A˜h¨	°4·<±<Ø" J°¸lðLð !ó MˆFð ˆMøô ô 	$Ü�OŠOœC ›F×#Ò#ûð	$ús   ÁAB/ Â/C$Â:CÃC$c                óø   €  V P                  V P                  P                  RRV P                  RV P                  /R7      pV#   \
         d+   p\        P                  ! \        T4      4        Rp?R# Rp?ii ; i)zDeletes internal `message_id`.z${self.API}{self.token}/deleteMessager   r   r   N)	r6   r   r$   r   r   r(   r*   r+   r,   )r   r8   r/   s   &  r   ÚdeleteÚTelegramIO.deleteO   sk   € ð	Ø—[‘[Ø—‘×!Ñ!Ð#IØ §¡¨|¸T¿_¹_ÐMð !ó OˆFð ˆMøô ô 	$Ü�OŠOœC ›F×#Ò#ûð	$ús   ‚A A ÁA9ÁA4Á4A9)r   r   r   r   r   )r   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r%   r   Úpropertyr   r+   r;   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r   r	   r	      s5   ù‡ € Ù9Ø
(€Cõð ñ$ó ð$ò(÷*	ò 	r   c                   ó‚   a a€ ] tR t^[t oRt]! RRRR7      RRRR/V 3R	 ll4       tV 3R
 ltV 3R ltV 3R lt	Rt
VtV ;t# )r
   a  
Standard `tqdm.auto.tqdm` but also sends updates to a Telegram Bot.
May take a few seconds to create (`__init__`).

- create a bot <https://core.telegram.org/bots#6-botfather>
- copy its `{token}`
- add the bot to a chat and send it a message such as `/start`
- go to <https://api.telegram.org/bot`{token}`/getUpdates> to find out
  the `{chat_id}`
- paste the `{token}` & `{chat_id}` below

>>> from tqdm.contrib.telegram import tqdm, trange
>>> for i in tqdm(iterable, token='{token}', chat_id='{chat_id}'):
...     ...
r   ÚtelegramT)Ú	is_methodr   Nr   c               ó–   <€ VP                  R4      '       g!   VP                  4       p\        W4      V n        \        SV `  ! V/ VB  R# )zî
Parameters
----------
token  : str, required. Telegram token
    [default: ${TQDM_TELEGRAM_TOKEN}].
chat_id  : str, required. Telegram chat ID
    [default: ${TQDM_TELEGRAM_CHAT_ID}].

See `tqdm.auto.tqdm.__init__` for other parameters.
ÚdisableN)ÚgetÚcopyr	   Útgior   r   )r   r   r   ÚargsÚkwargsr   s   &$$*,€r   r   Útqdm_telegram.__init__k   s=   ø€ ð �z‰z˜)×$Ò$Ø—[‘[“]ˆFÜ" 5Ó2ˆDŒIÜ‰Ò˜$Ð) &Ô)r   c                ó  <€ \         SV `  ! R/ VB  V P                  pVP                  R R4      '       d-   VR ,          P	                  RR4      P	                  RR4      VR &   V P
                  P                  V P                  ! R/ VB 4       R# )Ú
bar_formatNz<bar/>z	{bar:10u}z{bar}© )r   ÚdisplayÚformat_dictrL   r4   rN   r+   Úformat_meter)r   rP   Úfmtr   s   &, €r   rU   Útqdm_telegram.display|   sz   ø€ Ü‰ŠÑ!˜&Ò!Ø×ÑˆØ�7‰7�< ×&Ò&Ø # LÕ 1× 9Ñ 9Ø˜+ó!'ß'.¡w¨w¸Ó'Dð �Ñà�	‰	�‰˜×)Ò)Ñ0¨CÑ0Ö1r   c                ó†   <€ \         SV `  ! V/ VB  V P                  '       g   V P                  P	                  R 4       R# R# )r3   N)r   ÚclearrK   rN   r+   )r   rO   rP   r   s   &*,€r   r[   Útqdm_telegram.clear„   s2   ø€ Ü‰Š�tÐ&˜vÒ&Ø�|�|ˆ|Ø�I‰I�O‰O˜BÖñ r   c                óê   <€ V P                   '       d   R # \        SV `	  4        V P                  '       g>   V P                  f   V P                  ^ 8X  g   V P
                  P                  4        R # R # R # )N)rK   r   ÚcloseÚleaveÚposrN   r;   )r   r   s   &€r   r^   Útqdm_telegram.close‰   sL   ø€ Ø�<�<ˆ<ÙÜ‰‰ŒØ—
—
�
˜tŸz™zÒ1°d·h±hÀ!´mØ�I‰I×ÑÖñ 7D‘
r   )rN   )r   r=   r>   r?   r@   r   r   rU   r[   r^   rB   rC   rD   rE   s   @@r   r
   r
   [   sI   ù‡ € ññ ˆV�Z¨4Ô0ð* Dð *°$ö *ó 1ð*õ 2õ ÷
õ r   c                 ó(   € \        \        V !  3/ VB # )zBShortcut for `tqdm.contrib.telegram.tqdm(range(*args), **kwargs)`.)r
   Úrange)rO   rP   s   *,r   Úttgrangerd   ‘   s   € äœ ™Ñ0¨Ñ0Ð0r   N)r	   r
   rd   r   Útrange)r@   Úwarningsr   Úrequestsr   Úautor   r*   Ústdr   Úutilsr   Úutils_workerr   Ú
__author__Ú__all__r	   r
   rd   re   rT   r   r   Ú<module>rn      s\   ðñ	õ å å $Ý Ý Ý $à˜k˜]Ð+€
Ú
G€ô@�ô @ôF3�Iô 3òl1ð €Ø	‚r   