Ë
    I$‘j2ª  ã                  óÂ  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
mZmZmZ d dlZ ej                  e«      Zg d¢Z ej&                  d«      Z ej&                  dej*                  «      Z ej&                  d«      Z ej&                  d	ej*                  «      Z ej&                  d
ej*                  «      Z ej&                  dej*                  «      Z ej&                  dej*                  «      Z ej&                  dej*                  «      Z ej&                  dej*                  «      Z ej&                  d«      Z ej&                  d«      Z ej&                  d«      Z dZ!dZ" ej&                  dej*                  «      Z# ej&                  dej*                  «      Z$ ej&                  d«      Z% ej&                  d«      Z&dd„Z'dd„Z( G d„ d«      Z)y)é    )ÚannotationsN)ÚPath)ÚBrowserContextÚPageÚ
PlaywrightÚasync_playwright)z--no-sandboxz--disable-dev-shm-usagez--disable-gpuz---disable-blink-features=AutomationControlledzhttps://[^\s<>\"']+u/   Do you want to open|Ñ…Ð¾Ñ‚Ð¸Ñ‚Ðµ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒu7   Log in to Telegram by QR|Ð’Ð¾Ð¹Ñ‚Ð¸ Ð² Telegram Ð¿Ð¾ QRuY   LOG IN BY PHONE NUMBER|Log in by phone number|Ð’Ñ…Ð¾Ð´ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒ Ñ‚ÐµÐ»ÐµÑ„Ð¾Ð½Ð°u   ^(Next|Ð”Ð°Ð»ÐµÐµ)$uG   PLEASE WAIT|ÐŸÐ¾Ð¶Ð°Ð»ÑƒÐ¹Ñ�Ñ‚Ð°, Ð¿Ð¾Ð´Ð¾Ð¶Ð´Ð¸Ñ‚Ðµ|ÐŸÐ¾Ð´Ð¾Ð¶Ð´Ð¸Ñ‚ÐµuR   Your Phone Number|Enter your phone number|Ð½Ð¾Ð¼ÐµÑ€ Ñ‚ÐµÐ»ÐµÑ„Ð¾Ð½Ð°|Phone Numberu#   Enter code|We have sent|ÐºÐ¾Ð´|Codeu8   Two-Step Verification|Cloud Password|Ð¿Ð°Ñ€Ð¾Ð»|Passwordu&   ÐžÑ‚ÐºÑ€Ñ‹Ñ‚ÑŒ Ð¿Ð¾Ð»Ð½Ñ‹Ð¹ Ð¾Ñ‚Ñ‡ÐµÑ‚u   ^(Open|ÐžÑ‚ÐºÑ€Ñ‹Ñ‚ÑŒ)$u   ^(Cancel|ÐžÑ‚Ð¼ÐµÐ½Ð°)$u;   Ð’Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ Ð´Ð»Ñ� Ð¿Ð¾Ð¸Ñ�ÐºÐ°u1   ^updating\.?$|^Connecting|^ÐŸÐ¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµz)^[A-Z0-9._%+\-]+@[A-Z0-9.\-]+\.[A-Z]{2,}$ua   ^[Ð�-Ð¯Ð�][Ð�-Ð¯Ð�Ð°-Ñ�Ñ‘\-]+(?:\s+[Ð�-Ð¯Ð�][Ð�-Ð¯Ð�Ð°-Ñ�Ñ‘\-]+){1,2}(?:\s+\d{2}\.\d{2}\.\d{4})?$z\s+\d{2}\.\d{2}\.\d{4}$c                óú   — t        j                  dd| «      }|j                  d«      rt        |«      dk(  r	d|dd z   }n$t        |«      dk(  r|j                  d	«      rd|z   }t        j                  d
|«      r|S y)u<   ÐŸÑ€Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ Ð½Ð¾Ð¼ÐµÑ€ Ðº 79XXXXXXXXX. Ð˜Ð½Ð°Ñ‡Ðµ None.ú\DÚ Ú8é   Ú7é   Né
   Ú9z79\d{9})ÚreÚsubÚ
startswithÚlenÚ	fullmatch)ÚrawÚdigitss     úO/var/www/omen/data/www/svt13docker.storage.smart-sale.moscow/telegram/client.pyÚnormalize_ru_mobiler   9   su   € ä�V‰V�E˜2˜sÓ#€FØ×Ñ˜Ô¤# f£+°Ò"3Ø�v˜a˜b�zÑ!‰Ü	ˆV‹˜Ò	˜v×0Ñ0°Ô5Ø�v‘ˆÜ	‡|�|�J Ô'ØˆØó    c                ó:  — g }g }d}t        «       }t        «       }| D ]÷  }dj                  |j                  «       «      }|dk(  rŒ(|j                  «       }t        j                  |«      r7|j                  «       }	|	|vr"|j                  |	«       |j                  |«       Œ„t        |«      }
|
�'|
|vr"|j                  |
«       |j                  |
«       Œ¸|dk(  sŒ¾t        j                  |«      sŒÔt        j                  d|«      j                  «       }Œù |||dœS )Nr   ú )ÚphonesÚemailsÚfio)ÚsetÚjoinÚsplitÚstripÚEMAIL_REÚmatchÚlowerÚaddÚappendr   ÚFIO_REÚFIO_DATE_REr   )Útextsr   r   r    Úseen_phonesÚseen_emailsr   ÚtextÚemailÚkeyÚphones              r   Úparse_request_tagsr3   E   sþ   € Ø€FØ€FØ
€CÜ›E€KÜ›E€Kàò 4ˆØ�x‰x˜Ÿ	™	›Ó$ˆØ�2Š:Øà—
‘
“ˆÜ�>‰>˜%Ô Ø—+‘+“-ˆCØ˜+Ñ%Ø—‘ Ô$Ø—‘˜eÔ$Øä# DÓ)ˆØÐØ˜KÑ'Ø—‘ Ô&Ø—‘˜eÔ$Øà�"‹9œŸ™ dÕ+Ü—/‘/ " dÓ+×1Ñ1Ó3‰Cð+4ð. ¨°sÑ;Ð;r   c                  ó  — e Zd ZdZd=d„Zed>d„«       Zed>d„«       Zed?d„«       Zd=d„Z	d=d„Z
d=d„Zd@dAd	„ZdAd
„ZdBdCd„ZdDd„Zd>d„ZdEdFd„ZdGd„ZdHd„ZdIdJd„ZdKdLd„ZdMd„ZdNd„ZdOd„ZdPd„ZdQd„ZdRd„ZdSd„ZdTd„ZdUdVd„ZdWd„Zd=d„Z d=d„Z!d>d„Z"dXd „Z#dYd!„Z$dZd"„Z%d[d#„Z&d=d$„Z'd?d%„Z(d>d&„Z)d=d'„Z*d(„ Z+d=d)„Z,d\d*„Z-d?d+„Z.d=d,„Z/d]d-„Z0d=d.„Z1d=d/„Z2d=d0„Z3d>d1„Z4d^d2„Z5d_d3„Z6d=d4„Z7d5„ Z8d`d6„Z9d=d7„Z:d=d8„Z;d=d9„Z<dAd:„Z=dad;„Z>y<)bÚTelegramClientug   ÐžÐ´Ð¸Ð½ Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€ Ð½Ð° Ð¿Ñ€Ð¾Ñ†ÐµÑ�Ñ�: Ð¿Ñ€Ð¾Ñ„Ð¸Ð»ÑŒ Chrome + Ñ�ÐºÑ€Ð¸Ð½Ñ‹ QR Ð´Ð¾ Ð»Ð¾Ð³Ð¸Ð½Ð°.c                ó˜   — d | _         d | _        d | _        d | _        t	        j
                  «       | _        d| _        d| _        d| _	        y )NFÚnot_started)
Ú
last_errorÚ_playwrightÚ_contextÚ_pageÚasyncioÚLockÚ_lockÚ_startedÚ
_logged_inÚ_login_step©Úselfs    r   Ú__init__zTelegramClient.__init__i   sB   € Ø&*ˆŒØ.2ˆÔØ/3ˆŒØ"&ˆŒ
Ü—\‘\“^ˆŒ
ØˆŒØˆŒØ(ˆÕr   c                ó:   — | j                   xr | j                  d uS ©N)r?   r;   rB   s    r   ÚstartedzTelegramClient.starteds   s   € à�}‰}Ò7 §¡°4Ð!7Ð7r   c                ó   — | j                   S rF   )r@   rB   s    r   Ú	logged_inzTelegramClient.logged_inw   s   € à�‰Ðr   c                ó   — | j                   S rF   )rA   rB   s    r   Ú
login_stepzTelegramClient.login_step{   s   € à×ÑÐr   c              ƒ  óˆ	  K  — | j                   ry t        j                  j                  dd¬«       t        j                  j                  dd¬«       t
        j                  dt        j                  t        j                  xs dt        j                  «       t        j                  j                  dd«       t        «       j                  «       ƒ d {  –—† | _        t        t         «      }t        j                  r|j#                  d«       t%        t        j                  «      t        j                  |dd	d
œdddœ}t        j                  rdt        j                  i|d<    | j                  j&                  j(                  di |¤Žƒ d {  –—† | _        | j*                  j,                  r| j*                  j,                  d   n!| j*                  j/                  «       ƒ d {  –—† | _        | j0                  j3                  d«       d | _        d| _        	 | j0                  j9                  t        j:                  dt        j<                  ¬«      ƒ d {  –—†  | j?                  «       ƒ d {  –—†  | jG                  «       ƒ d {  –—†  | jE                  d«      ƒ d {  –—†  | jH                  rF| jK                  «       ƒ d {  –—†  | jM                  «       ƒ d {  –—†  t
        j                  d«       y 	 | jO                  «       ƒ d {  –—†  | jQ                  «       ƒ d {  –—†  t        jR                  rm| jU                  t        jR                  «      ƒ d {  –—†  | jV                  dk(  r7t        jX                  r'| j[                  t        jX                  «      ƒ d {  –—†  | jG                  «       ƒ d {  –—†  | jE                  d«      ƒ d {  –—†  t
        j                  d| jV                  «       y 7 �Œ 7 �Œj7 �Œ7 �Œ©7 �Œ”# t@        $ rE}t%        |«      | _        t
        jC                  d«       | jE                  d«      ƒ d {  –—†7   ‚ d }~ww xY w7 �ŒÐ7 �Œº7 �Œ™7 �Œ„7 �ŒX7 �ŒC7 �Œ7 ŒË7 Œµ7 Œž# t@        $ rH}t%        |«      | _        t
        jC                  d«       | j]                  «       ƒ d {  –—†7   Y d }~Œèd }~ww xY w­w)NT©ÚparentsÚexist_oku9   Ð—Ð°Ð¿ÑƒÑ�Ðº Chromium (headless=%s, proxy=%s, profile=%s)ÚoffÚ&PLAYWRIGHT_CHROMIUM_USE_HEADLESS_SHELLÚ0z--headless=newi   i   )ÚwidthÚheightzru-RUzEurope/Moscow)Úuser_data_dirÚheadlessÚargsÚviewportÚlocaleÚtimezone_idÚserverÚproxyr   é˜:  Údomcontentloaded©Ú
wait_untilÚtimeoutu/   Ð�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ Telegram Webú	error.pngú
latest.pngu+   Ð¡ÐµÑ�Ñ�Ð¸Ñ� Telegram ÑƒÐ¶Ðµ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð°Úwaiting_passwordu=   Ð�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚ÑŒ Ð²Ñ…Ð¾Ð´ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒu/   ÐžÐ¶Ð¸Ð´Ð°Ð½Ð¸Ðµ Ð²Ñ…Ð¾Ð´Ð° Telegram, ÑˆÐ°Ð³=%s© )/rG   ÚconfigÚPROFILE_DIRÚmkdirÚDATA_DIRÚloggerÚinfoÚHEADLESSÚPROXYÚosÚenvironÚ
setdefaultr   Ústartr9   ÚlistÚCHROME_ARGSr)   ÚstrÚchromiumÚlaunch_persistent_contextr:   ÚpagesÚnew_pager;   Úset_default_timeoutr8   r?   ÚgotoÚWEB_URLÚNAV_TIMEOUT_MSÚ_wait_auth_screenÚ	ExceptionÚ	exceptionÚ_safe_screenshotÚ_refresh_login_stater@   Ú_open_bot_chatÚ_save_storage_stateÚ_open_phone_formÚ_ensure_country_russiaÚPHONEÚ_submit_phone_numberrA   ÚTWO_FA_PASSWORDÚ_submit_cloud_passwordÚ_save_qr)rC   Úchrome_argsÚlaunch_kwargsÚexcs       r   rq   zTelegramClient.start   s¢  è ø€ Ø�<Š<Øä×Ñ× Ñ ¨¸Ð Ô=Ü�‰×Ñ d°TÐÔ:ä�‰ØGÜ�O‰OÜ�L‰LÒ!˜EÜ×Ñô		
ô 	�
‰
×ÑÐFÈÔLÜ!1Ó!3×!9Ñ!9Ó!;×;ˆÔÜœ;Ó'ˆÜ�?Š?Ø×ÑÐ/Ô0ä ¤×!3Ñ!3Ó4ÜŸ™ØØ"&°#Ñ6ØØ*ñ,
ˆô �<Š<Ø&.´·±Ð%=ˆM˜'Ñ"ØQ˜d×.Ñ.×7Ñ7×QÑQÑbÐTaÑb×bˆŒØ/3¯}©}×/BÒ/B�T—]‘]×(Ñ(¨Ò+ÈdÏmÉm×NdÑNdÓNf×HfˆŒ
Ø�
‰
×&Ñ& vÔ.ØˆŒØˆŒð	Ø—*‘*—/‘/Ü—‘Ø-Ü×-Ñ-ð "ó ÷ ð ð
 ×(Ñ(Ó*×*Ð*ð ×'Ñ'Ó)×)Ð)Ø×#Ñ# LÓ1×1Ð1Ø�?Š?Ø×%Ñ%Ó'×'Ð'Ø×*Ñ*Ó,×,Ð,Ü�K‰KÐEÔFØð	"Ø×'Ñ'Ó)×)Ð)Ø×-Ñ-Ó/×/Ð/Ü�|Š|Ø×/Ñ/´·±Ó=×=Ð=Ø×#Ñ#Ð'9Ò9¼f×>TÒ>TØ×5Ñ5´f×6LÑ6LÓM×MÐMØ×+Ñ+Ó-×-Ð-Ø×'Ñ'¨Ó5×5Ð5ô 	�‰ÐEÀt×GWÑGWÕXðo <ùð cùØHfùðùð
 +úÜò 	Ü! #›hˆDŒOÜ×ÑÐNÔOØ×'Ñ'¨Ó4×4Ñ4Øûð		úð 	*ùØ1ùà'ùØ,ùð
 *ùØ/ùà=ùàMøØ-øØ5ùÜò 	"Ü! #›hˆDŒOÜ×ÑÐ\Ô]Ø—-‘-“/×!Ö!ûð	"üsq  ‚CSÃO3ÃB8SÆO6ÆASÇ"O9Ç#2SÈ=P ÉO<ÉP É+O?É,P É0SÊQÊSÊQÊ#SË QËSËQËSË4Q. ÌQÌQ. ÌQ"Ì 6Q. ÍQ%ÍAQ. ÎQ(ÎQ. Î4Q*Î5Q. ÏQ,ÏQ. Ï"SÏ6SÏ9SÏ<P Ï?P Ð	QÐ9QÑQÑQÑQÑSÑSÑSÑSÑQ. Ñ"Q. Ñ%Q. Ñ(Q. Ñ*Q. Ñ,Q. Ñ.	R?Ñ78R:Ò/R2Ò0R:Ò5SÒ:R?Ò?Sc              ƒ  ó^  K  — d| _         d| _        | j                  �#	 | j                  j                  «       ƒ d {  –—†  d | _        d | _        | j                  �*| j                  j                  «       ƒ d {  –—†  d | _        y y 7 ŒI# t        $ r t
        j                  d«       Y Œgw xY w7 Œ3­w)NFu.   ÐžÑˆÐ¸Ð±ÐºÐ° Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ� Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€Ð°)
r?   r@   r:   Úcloser~   rj   r   r;   r9   ÚstoprB   s    r   r�   zTelegramClient.stopÆ   s¥   è ø€ ØˆŒØˆŒØ�=‰=Ð$ðSØ—m‘m×)Ñ)Ó+×+Ð+ð ˆŒØˆŒ
Ø×ÑÐ'Ø×"Ñ"×'Ñ'Ó)×)Ð)Ø#ˆDÕð (ð ,ùÜò SÜ× Ñ Ð!QÖRðSúð
 *úsD   ‚B-žB »B¼B Á 7B-Á7B+Á8B-ÂB ÂB(Â%B-Â'B(Â(B-c              ƒ  óH  K  — 	 	 | j                   st        j                  d«      ƒ d{  –—†  Œ,| j                  4 ƒd{  –—†  | j                  }| j                  «       ƒ d{  –—†  | j                  d«      ƒ d{  –—†  | j                  ra|s†t        j                  d«       | j                  «       ƒ d{  –—†  | j                  «       ƒ d{  –—†  | j                  d«      ƒ d{  –—†  n'| j                  dk(  r| j                  «       ƒ d{  –—†  ddd«      ƒd{  –—†  | j                  rt        j                  nt        j                  }t        j                  |«      ƒ d{  –—†  �Œl7 �ŒG7 �Œ47 �Œ7 Œü7 ŒÃ7 Œ­7 Œ–7 Œp7 Œb# 1 ƒd{  –—†7  sw Y   ŒrxY w7 Œ0# t        j                   $ r ‚ t"        $ rg}t%        |«      | _        t        j)                  d«       | j+                  d«      ƒ d{  –—†7   t        j                  d«      ƒ d{  –—†7   Y d}~Œ¬d}~ww xY w­w)	u…   ÐŸÐ¾ÐºÐ° Ð½ÐµÑ‚ Ð»Ð¾Ð³Ð¸Ð½Ð° â€” Ð¾Ð±Ð½Ð¾Ð²Ð»Ñ�ÐµÑ‚ Ñ�ÐºÑ€Ð¸Ð½ Ñ„Ð¾Ñ€Ð¼Ñ‹; Ð¿Ð¾Ñ�Ð»Ðµ Ð»Ð¾Ð³Ð¸Ð½Ð° â€” ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒ Ñ�ÐµÑ�Ñ�Ð¸Ð¸.é   Nrc   u@   Ð’Ñ…Ð¾Ð´ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´Ñ‘Ð½, Ñ�ÐµÑ�Ñ�Ð¸Ñ� Ñ�Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð°Ú
waiting_qru    Ð¡Ð±Ð¾Ð¹ Ñ†Ð¸ÐºÐ»Ð° Ð»Ð¾Ð³Ð¸Ð½Ð°rb   é   )rG   r<   Úsleepr>   r@   r�   Ú_screenshotrj   rk   rƒ   r‚   rA   rŠ   rf   ÚLOGGED_IN_POLL_SECONDSÚQR_POLL_SECONDSÚCancelledErrorr~   rt   r8   r   r€   )rC   Úwas_logged_inÚdelayr�   s       r   Úwatch_loginzTelegramClient.watch_loginÔ   s¼  è ø€ àð'Ø—|’|Ü!Ÿ-™-¨Ó*×*Ð*ØàŸ:™:÷ .ñ .Ø$(§O¡O�MØ×3Ñ3Ó5×5Ð5Ø×*Ñ*¨<Ó8×8Ð8Ø—’Ù,Ü"ŸK™KÐ(jÔkØ"&×":Ñ":Ó"<×<Ð<Ø"&×"5Ñ"5Ó"7×7Ð7Ø"&×"2Ñ"2°<Ó"@×@Ñ@Ø×)Ñ)¨\Ò9Ø"Ÿm™m›o×-Ð-÷.÷ .ð —’ô ×1Ò1ä×/Ñ/ð ô
 —m‘m EÓ*×*Ð*ñ1 ð +ùð.ùà5ùØ8øð =øØ7øØ@øà-øð.ø÷ .÷ .ñ .úð$ +ùÜ×)Ñ)ò ØÜò 'Ü"% c£(�”Ü× Ñ Ð!CÔDØ×+Ñ+¨KÓ8×8Ñ8Ü—m‘m AÓ&×&Ö&ûð	'üs   ‚H"…$F ©E0ªF ®H"¯F ¿E3Á F Á FÁ#E6Á$FÁ<E9Á=:FÂ7E;Â8FÃE=ÃFÃ(E?Ã)'FÄFÄFÄF Ä FÄ!AF Å)FÅ*F Å.H"Å0F Å3F Å6FÅ9FÅ;FÅ=FÅ?FÆFÆF ÆFÆFÆFÆF ÆHÆ89HÇ1G4Ç2HÈHÈHÈH"ÈHÈH"c              ƒ  ó  K  — | j                   4 ƒd {  –—†  | j                  r| j                  €t        d«      ‚| j	                  |«      ƒ d {  –—† cd d d «      ƒd {  –—†  S 7 ŒQ7 Œ7 Œ	# 1 ƒd {  –—†7  sw Y   y xY w­w©Nõ)   Ð‘Ñ€Ð°ÑƒÐ·ÐµÑ€ ÐµÑ‰Ñ‘ Ð½Ðµ Ð·Ð°Ð¿ÑƒÑ‰ÐµÐ½)r>   rG   r;   ÚRuntimeErrorr–   ©rC   Únames     r   Úcapture_screenshotz!TelegramClient.capture_screenshot÷   so   è ø€ Ø—:‘:÷ 	0ñ 	0Ø—<’< 4§:¡:Ð#5Ü"Ð#NÓOÐOØ×)Ñ)¨$Ó/×/÷	0÷ 	0ò 	0øð 0øð	0ø÷ 	0÷ 	0ñ 	0üsV   ‚B “A%”B —8A+ÁA'ÁA+ÁB ÁA)Á B Á'A+Á)B Á+A=Á1A4Á2A=Á9B c              ƒ  ó0   K  — t         j                  |z  S ­wrF   )rf   ri   r¡   s     r   Úscreenshot_pathzTelegramClient.screenshot_pathý   s   è ø€ Ü�‰ Ñ%Ð%ùs   ‚c           
   ƒ  ó˜  K  — t         j                  j                  |«      }|€9dj                  t	        t         j                  «      «      }t        d|›d|› �«      ‚| j                  4 ƒd{  –—†  | j                  r| j                  €t        d«      ‚| j                  «       ƒ d{  –—†  | j                  st        d«      ‚	 | j                  «       ƒ d{  –—†  | j                  «       ƒ d{  –—†  | j                  «       ƒ d{  –—†  | j                  d¬«      ƒ d{  –—† }| j                  d	¬«      ƒ d{  –—† }| j!                  |||«      ƒ d{  –—†  | j#                  d
«      ƒ d{  –—†  | j%                  t&        |«      ƒ d{  –—† }| j#                  d«      ƒ d{  –—†  | j)                  ||«      ƒ d{  –—†  | j%                  t*        |«      ƒ d{  –—† }| j#                  d«      ƒ d{  –—†  | j-                  |«      ƒ d{  –—† }	t.        j1                  |	«      }
| j3                  |«      ƒ d{  –—†  | j)                  |t4        «      ƒ d{  –—†  | j7                  |
r|
j9                  d«      nd¬«      ƒ d{  –—† }| j#                  d«      ƒ d{  –—†  | j                  «       ƒ d{  –—†  | j;                  |«      ƒ d{  –—† }| j#                  d«      ƒ d{  –—†  t@        jC                  dtE        |d   «      tE        |d   «      |d   xs d«       |||||	|d   |d   |d   dœcddd«      ƒd{  –—†  S 7 �Œá7 �Œ©7 �Œ|7 �Œg7 �ŒR7 �Œ;7 �Œ$7 �Œ7 �Œö7 �ŒÛ7 �ŒÅ7 �Œ®7 �Œ“7 �Œ}7 �Œg7 �Œ<7 �Œ!7 Œö7 Œß7 ŒÉ7 Œ²7 Œ›# t<        $ r | j?                  d«      ƒ d{  –—†7   ‚ w xY w7 Œj# 1 ƒd{  –—†7  sw Y   yxY w­w)uc   Ð˜Ð�Ð� Ð² Ñ‡Ð°Ñ‚ Ð±Ð¾Ñ‚Ð° â†’ Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ â†’ Ñ�Ñ�Ñ‹Ð»ÐºÐ° Ð½Ð° Ð¿Ð¾Ð»Ð½Ñ‹Ð¹ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚.Nz, u(   Ð�ÐµÐ¸Ð·Ð²ÐµÑ�Ñ‚Ð½Ð¾Ðµ Ð´ÐµÐ¹Ñ�Ñ‚Ð²Ð¸Ðµ u   . Ð”Ð¾Ñ�Ñ‚ÑƒÐ¿Ð½Ð¾: rŸ   ua   Ð�ÐµÑ‚ Ñ�ÐµÑ�Ñ�Ð¸Ð¸ Telegram: Ð²Ð¾Ð¹Ð´Ð¸Ñ‚Ðµ Ð¿Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ñƒ (POST /login/phone Ð¸ /login/code)F©ÚownTzlookup-01-sent.pngzlookup-02-direction.pngzlookup-03-report.pngr   r   )Úfallbackzlookup-04-link.pngrc   rb   u@   ÐžÑ‚Ñ‡Ñ‘Ñ‚ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½: Ñ‚ÐµÐ»ÐµÑ„Ð¾Ð½Ð¾Ð²=%s email=%s fio=%sr   r   r    õ   â€”)ÚqueryÚactionÚbuttonÚ
report_urlÚpreview_textr   r   r    )#rf   ÚACTION_BUTTONSÚgetr"   ÚsortedÚ
ValueErrorr>   rG   r;   r    r�   r@   Ú_dismiss_link_modalÚ_ensure_bot_chatÚ_wait_connection_readyÚ_newest_message_idÚ_ensure_query_deliveredr–   Ú_wait_new_bot_messageÚDIRECTION_TEXTÚ_click_in_messageÚREPORT_HINT_TEXTÚ_message_textÚREPORT_URL_REÚsearchÚ_scroll_message_into_viewÚREPORT_BUTTON_REÚ_grab_report_urlÚgroupÚ_parse_report_contactsr~   r€   rj   rk   r   )rC   r«   r¬   Úbutton_nameÚknownÚbefore_bot_idÚbefore_own_idÚdirection_idÚ	report_idÚ	last_textÚ	from_textr®   Úcontactss                r   ÚlookupzTelegramClient.lookup   sw  è ø€ ä×+Ñ+×/Ñ/°Ó7ˆØÐØ—I‘Iœf¤V×%:Ñ%:Ó;Ó<ˆEÜÐGÈÀzÐQeÐfkÐelÐmÓnÐnà—:‘:÷ 4	ñ 4	Ø—<’< 4§:¡:Ð#5Ü"Ð#NÓOÐOØ×+Ñ+Ó-×-Ð-Ø—?’?Ü"Øwóð ðØ×.Ñ.Ó0×0Ð0Ø×+Ñ+Ó-×-Ð-Ø×1Ñ1Ó3×3Ð3Ø&*×&=Ñ&=À%Ð&=Ó&H× H�Ø&*×&=Ñ&=À$Ð&=Ó&G× G�Ø×2Ñ2°5¸-ÈÓW×WÐWØ×&Ñ&Ð';Ó<×<Ð<à%)×%?Ñ%?ÄÐP]Ó%^×^�Ø×&Ñ&Ð'@ÓA×AÐAØ×,Ñ,¨\¸;ÓG×GÐGà"&×"<Ñ"<Ô=MÈ|Ó"\×\�	Ø×&Ñ&Ð'=Ó>×>Ð>Ø"&×"4Ñ"4°YÓ"?×?�	Ü)×0Ñ0°Ó;�	Ø×4Ñ4°YÓ?×?Ð?Ø×,Ñ,¨YÔ8HÓI×IÐIØ#'×#8Ñ#8ÑXaÀ)Ç/Á/ÐRSÔBTÐgiÐ#8Ó#j×j�
Ø×&Ñ&Ð';Ó<×<Ð<Ø×.Ñ.Ó0×0Ð0Ø!%×!<Ñ!<¸ZÓ!H×H�Ø×&Ñ& |Ó4×4Ð4ô
 �K‰KØRÜ�H˜XÑ&Ó'Ü�H˜XÑ&Ó'Ø˜‘Ò( 5ô	ð Ø Ø%Ø(Ø )Ø" 8Ñ,Ø" 8Ñ,Ø ‘ñ	÷W4	÷ 4	ò 4	ùð .ùð 1ùØ-ùØ3ùØ HùØ GùØWùØ<ùà^ùØAùØGùà\ùØ>ùØ?ùà?ùØIùØjøØ<øØ0øØHøØ4ùÜò Ø×+Ñ+¨KÓ8×8Ñ8ØðúðC4	ø÷ 4	÷ 4	ñ 4	üsç  ‚A+O
Á-MÁ.O
Á17N5Â(MÂ)N5ÃNÃMÃNÃ0MÃ1NÄMÄ	NÄ"MÄ#NÄ<M Ä=NÅM#ÅNÅ0M&Å1NÆM)ÆNÆ'M,Æ(NÇM/ÇNÇM2Ç NÇ8M5Ç9NÈM8È-NÈ?M;É NÉM>É,NÊ
NÊNÊ#NÊ$NÊ;NÊ<NËNËNË-N	Ë.NË2A
N5Ì<O
ÍN3Í	O
ÍN5ÍNÍNÍNÍNÍ NÍ#NÍ&NÍ)NÍ,NÍ/NÍ2NÍ5NÍ8NÍ;NÍ>NÎNÎNÎNÎNÎ	NÎN0Î(N+Î)N0Î0N5Î3O
Î5OÎ;N>Î<OÏO
c              ƒ  ó  K  — | j                   €t        d«      ‚| j                   j                  d«      }|j                  dd¬«      ƒ d {  –—†  |j	                  «       ƒ d {  –—†  | j                   j
                  j                  d«      ƒ d {  –—†  | j                   j
                  j                  d«      ƒ d {  –—†  |j                  |d¬	«      ƒ d {  –—†  t        j                  d
«      ƒ d {  –—†  | j                   j                  d«      }|j                  «       ƒ d {  –—† dkD  r|j	                  «       ƒ d {  –—†  y | j                   j
                  j                  d«      ƒ d {  –—†  y 7 �Œ,7 �Œ7 Œì7 ŒÁ7 Œ¨7 Œ�7 Œ\7 ŒC7 Œ­w)Nõ(   Ð�ÐµÑ‚ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¾Ð¹ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ñ‹ú#editable-message-textÚvisibleé N  ©Ústatera   ú	Control+AÚ	Backspaceé   ©r›   çš™™™™™Ù?zbutton.main-buttonr   ÚEnter)r;   r    ÚlocatorÚwait_forÚclickÚkeyboardÚpressÚpress_sequentiallyr<   r•   Úcount)rC   r/   ÚboxÚsends       r   Ú_send_chat_textzTelegramClient._send_chat_text=  s5  è ø€ Ø�:‰:ÐÜÐIÓJÐJØ�j‰j× Ñ Ð!9Ó:ˆØ�l‰l °FˆlÓ;×;Ð;Ø�i‰i‹k×ÐØ�j‰j×!Ñ!×'Ñ'¨Ó4×4Ð4Ø�j‰j×!Ñ!×'Ñ'¨Ó4×4Ð4Ø×$Ñ$ T°Ð$Ó4×4Ð4Ü�m‰m˜CÓ × Ð Ø�z‰z×!Ñ!Ð"6Ó7ˆØ—‘“× Ò!Ø—*‘*“,×Ñà—*‘*×%Ñ%×+Ñ+¨GÓ4×4Ñ4ð 	<ùØùØ4øØ4øØ4øØ øàøØøà4ús¢   ‚A	FÁE7ÁFÁ#E:Á$,FÂE=Â,FÂ=E?Â>FÃFÃFÃ5FÃ62FÄ(FÄ)FÅFÅ-FÅ1F	Å2FÅ:FÅ=FÅ?FÆFÆFÆFÆFÆ	Fc              ƒ  ó†   K  — | j                  «       }| j                  |j                  t        «      «      ƒ d {  –—† S 7 Œ­wrF   )Ú_require_pageÚ_is_visibleÚget_by_textÚUPDATING_RE©rC   Úpages     r   Ú_is_updatingzTelegramClient._is_updatingM  s6   è ø€ Ø×!Ñ!Ó#ˆØ×%Ñ% d×&6Ñ&6´{Ó&CÓD×DÐDÐDúó   ‚8Aº?»Ac              ƒ  ó6  K  — t        j                  «       |z   }t        j                  «       |k  rN| j                  «       ƒ d {  –—† sy t        j                  d«      ƒ d {  –—†  t        j                  «       |k  rŒNt
        j                  d«       y 7 ŒP7 Œ4­w)Nç      à?uj   Ð—Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº Ð²Ñ�Ñ‘ ÐµÑ‰Ñ‘ updating â€” Ñ�Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ� Ð¿Ñ€Ð¸ Ñ�Ñ‚Ð¾Ð¼ Ð¼Ð¾Ð³ÑƒÑ‚ ÑƒÑ…Ð¾Ð´Ð¸Ñ‚ÑŒ)ÚtimeÚ	monotonicrí   r<   r•   rj   Úwarning)rC   Ú	timeout_sÚdeadlines      r   r¶   z%TelegramClient._wait_connection_readyQ  s|   è ø€ Ü—>‘>Ó# iÑ/ˆÜ�n‰nÓ Ò)Ø×*Ñ*Ó,×,Ð,ØÜ—-‘- Ó$×$Ð$ô �n‰nÓ Ó)ô 	�‰ð  Dõ  	Eð -øà$ús*   ‚ABÁBÁBÁ"BÁ#BÁ?BÂBc              ƒ  óê   K  — | j                  |«      ƒ d {  –—† }| j                  |j                  d«      «      ƒ d {  –—† ry| j                  |j                  d«      «      ƒ d {  –—† S 7 ŒU7 Œ/7 Œ­w)Nzh.icon-message-succeeded, .icon-checks, .icon-message-read, [class*='succeeded'], [class*='message-read']Fz>.icon-message-pending, .icon-clock, [class*='message-pending'])Ú_message_locatorrè   rÜ   ©rC   Ú
message_idÚlocs      r   Ú_message_is_pendingz"TelegramClient._message_is_pendingY  s~   è ø€ Ø×)Ñ)¨*Ó5×5ˆà×!Ñ!Ø�K‰Kð@óó
÷ 
ð 
ð Ø×%Ñ%Ø�K‰KÐXÓYó
÷ 
ð 	
ð 6øð
øð
ús2   ‚A3—A-˜'A3¿A/Á (A3Á(A1Á)A3Á/A3Á1A3c              ƒ  ó¾   K  — | j                  d¬«      ƒ d {  –—† }||k  ry | j                  t        |«      «      ƒ d {  –—† }t        |v rt        |«      S y 7 Œ@7 Œ­w)NFr§   )r·   r½   rt   rº   )rC   rÇ   ÚnewestÚbodys       r   Ú_direction_message_idz$TelegramClient._direction_message_idg  s^   è ø€ Ø×.Ñ.°5Ð.Ó9×9ˆØ�]Ò"ØØ×'Ñ'¬¨F«Ó4×4ˆÜ˜TÑ!Ü�v“;ÐØð :øð 5ús!   ‚A˜A™'AÁ AÁAÁAc              ƒ  ó–  K  — t        j                  «       |z   }t        j                  «       |k  r‡| j                  t        |«      «      ƒ d {  –—† sy | j	                  |«      ƒ d {  –—† �t
        j                  d«       y t        j                  d«      ƒ d {  –—†  t        j                  «       |k  rŒ‡t        d«      ‚7 Œt7 Œ\7 Œ+­w)NuH   Ð‘Ð¾Ñ‚ Ð¾Ñ‚Ð²ÐµÑ‚Ð¸Ð» â€” Ð¸Ñ�Ñ…Ð¾Ð´Ñ�Ñ‰ÐµÐµ ÑƒÐ¶Ðµ Ð´Ð¾Ñ�Ñ‚Ð°Ð²Ð»ÐµÐ½Ð¾ç333333ã?uC   Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ðµ Ð½Ðµ ÑƒÑˆÐ»Ð¾ (Ñ‡Ð°Ñ�Ñ‹ Ñƒ Ð¸Ñ�Ñ…Ð¾Ð´Ñ�Ñ‰ÐµÐ³Ð¾))
rñ   rò   rû   rt   rÿ   rj   rk   r<   r•   ÚTimeoutError)rC   rù   rÇ   rô   rõ   s        r   Ú_wait_own_deliveredz"TelegramClient._wait_own_deliveredp  s¦   è ø€ Ü—>‘>Ó# iÑ/ˆÜ�n‰nÓ Ò)Ø×1Ñ1´#°j³/ÓB×BÐBØØ×/Ñ/°Ó>×>ÐJÜ—‘ÐfÔgØÜ—-‘- Ó$×$Ð$ô �n‰nÓ Ó)ô Ð`ÓaÐað Cøà>øð %ús<   ‚AC	ÁCÁC	Á(CÁ)2C	ÂCÂC	Â8C	ÃC	ÃC	c              ƒ  ó¸  K  — | j                  |«      ƒ d {  –—†  | j                  ||«      ƒ d {  –—† }	 | j                  ||«      ƒ d {  –—†  |S 7 Œ;7 Œ#7 Œ
# t        $ �rt | j	                  |«      ƒ d {  –—†7  �t
        j                  d«       |cY S t
        j                  d«       | j                  «       ƒ d {  –—†7   | j                  «       ƒ d {  –—†7   | j                  «       ƒ d {  –—†7   | j                  d¬«      ƒ d {  –—†7  }||kD  rN| j                  t        |«      «      ƒ d {  –—†7  }||v r'| j                  t        |«      «      ƒ d {  –—†7  s|cY S | j	                  |«      ƒ d {  –—†7  �|cY S | j                  |«      ƒ d {  –—†7   | j                  ||«      ƒ d {  –—†7  }| j                  ||«      ƒ d {  –—†7   |cY S w xY w­w)NuS   Ð¢Ð°Ð¹Ð¼Ð°ÑƒÑ‚ Ñ‡Ð°Ñ�Ð¾Ð², Ð½Ð¾ Ð±Ð¾Ñ‚ ÑƒÐ¶Ðµ Ð¿Ñ€Ð¸Ñ�Ð»Ð°Ð» Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµuq   Ð˜Ñ�Ñ…Ð¾Ð´Ñ�Ñ‰ÐµÐµ Ð·Ð°Ð²Ð¸Ñ�Ð»Ð¾, Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ¶Ð°ÑŽ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ñƒ Ð¸ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ñ�ÑŽ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÑƒTr§   )rå   Ú_wait_own_messager  r  rÿ   rj   rk   ró   Ú_reload_authrµ   r¶   r·   r½   rt   rû   )rC   r«   rÈ   rÇ   Úmsg_idrý   rþ   s          r   r¸   z&TelegramClient._ensure_query_delivered{  s�  è ø€ Ø×"Ñ" 5Ó)×)Ð)Ø×-Ñ-¨e°]ÓC×Cˆð	Ø×*Ñ*¨6°=ÓA×AÐAØˆMð	 	*øØCøàAùäó 	Ø×/Ñ/°Ó>×>Ð>ÐJÜ—‘ÐqÔrØ’Ü�N‰Nð  Oô  PØ×#Ñ#Ó%×%Ñ%Ø×'Ñ'Ó)×)Ñ)Ø×-Ñ-Ó/×/Ñ/Ø×2Ñ2°tÐ2Ó<×<Ð<ˆFØ˜Ò%Ø!×/Ñ/´°F³Ó<×<Ð<�Ø˜D‘=¨t×/GÑ/GÌÈFËÓ/T×)TÑ)TØ!’MØ×/Ñ/°Ó>×>Ð>ÐJØ’Ø×&Ñ& uÓ-×-Ñ-Ø×1Ñ1°%¸ÓG×GÐGˆFØ×*Ñ*¨6°=ÓA×AÑAØŠMð%	üsü   ‚G—A˜G±A²G·A ÁAÁA ÁGÁGÁA ÁGÁ7A:Á8GÂGÂ(GÂ>CÂ?GÃCÃGÃ0C3Ã1GÄDÄ'GÄ3D6Ä4&GÅEÅGÅ"GÅ$GÅ8E;Å9GÆ GÆGÆFÆGÆ1F4Æ2GÇGÇGÇGÇGÇGc             ƒ  óh  K  — | j                   €y|rdnd}| j                   j                  |«      }|j                  «       ƒ d {  –—† }d}t        |«      D ]S  }|j	                  |«      j                  d«      ƒ d {  –—† }|sŒ.|j                  «       sŒ?t        |t        |«      «      }ŒU |S 7 Œi7 Œ3­w)Nr   z.Message.own[data-message-id]z#.Message[data-message-id]:not(.own)zdata-message-id)	r;   rÜ   râ   ÚrangeÚnthÚget_attributeÚisdigitÚmaxÚint)rC   r¨   Úselectorrú   râ   ÚbestÚindexr   s           r   r·   z!TelegramClient._newest_message_id•  s¢   è ø€ Ø�:‰:ÐØÙ69Ñ2Ð?dˆØ�j‰j× Ñ  Ó*ˆØ—i‘i“k×!ˆØˆÜ˜5“\ò 	+ˆEØŸ™ ›×4Ñ4Ð5FÓG×GˆCÚ�s—{‘{•}Ü˜4¤ S£Ó*‘ð	+ð ˆð "øð Hús0   ‚AB2ÁB.Á7B2Á<B0Á=B2ÂB2ÂB2Â0B2c              ƒ  óF   K  — | j                  d||¬«      ƒ d {  –—† S 7 Œ­w)NT©r¨   Úprev_idÚtext_fragment)Ú_wait_newest_message)rC   r/   r  s      r   r  z TelegramClient._wait_own_message¢  s%   è ø€ Ø×.Ñ.°4ÀÐX\Ð.Ó]×]Ð]Ð]ús   ‚!š›!c              ƒ  ó°   K  — t        |xs d«      j                  «       rt        |«      nd}| j                  d||¬«      ƒ d {  –—† }t        |«      S 7 Œ­w)Nr   r   Fr  )rt   r  r  r  )rC   r  r  Úprevrý   s        r   r¹   z$TelegramClient._wait_new_bot_message¥  sP   è ø€ Ü" 7¢=¨bÓ1×9Ñ9Ô;Œs�7Œ|ÀˆØ×0Ñ0°UÀDÐXeÐ0Óf×fˆÜ�6‹{Ðð gús   ‚AAÁAÁAc             ƒ  óþ  K  — | j                   €t        d«      ‚t        j                  «       t        j
                  dz  z   }|}t        j                  «       |k  r~| j                  |¬«      ƒ d {  –—† }||kD  r*|}| j                  t        |«      «      ƒ d {  –—† }||v r|S t        j                  d«      ƒ d {  –—†  t        j                  «       |k  rŒ~|rdnd}t        d|› d|›d	|› d
|› d�	«      ‚7 Œ†7 Œ_7 Œ>­w)NrÐ   iè  r§   rÚ   u   Ñ�Ð²Ð¾Ñ‘u   Ð±Ð¾Ñ‚Ð°u   Ð�Ðµ Ð´Ð¾Ð¶Ð´Ð°Ð»Ð¸Ñ�ÑŒ u&    Ñ�Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ� Ñ� Ñ‚ÐµÐºÑ�Ñ‚Ð¾Ð¼ z
 (prev_id=z, last_seen=ú))r;   r    rñ   rò   rf   ÚLOOKUP_TIMEOUT_MSr·   r½   rt   r<   r•   r  )	rC   r¨   r  r  rõ   Ú	last_seenrý   rþ   Úkinds	            r   r  z#TelegramClient._wait_newest_messageª  s  è ø€ Ø�:‰:ÐÜÐIÓJÐJÜ—>‘>Ó#¤v×'?Ñ'?À$Ñ'FÑGˆØˆ	Ü�n‰nÓ Ò)Ø×2Ñ2°sÐ2Ó;×;ˆFØ˜ÒØ"�	Ø!×/Ñ/´°F³Ó<×<�Ø  DÑ(Ø!�MÜ—-‘- Ó$×$Ð$ô �n‰nÓ Ó)ñ !‰z jˆÜØ& t fÐ,RÐS`ÐRcð dØ�y ¨Y¨K°qð:ó
ð 	
ð <øð =øð %ús<   ‚A.C=Á0C7Á1(C=ÂC9Â"C=Â<C;Â=C=ÃC=Ã9C=Ã;C=c              ƒ  óv   K  — | j                   €t        d«      ‚| j                   j                  d|› d�«      S ­w)NrÐ   z.Message[data-message-id="z"])r;   r    rÜ   )rC   rù   s     r   r÷   zTelegramClient._message_locator½  s;   è ø€ Ø�:‰:ÐÜÐIÓJÐJØ�z‰z×!Ñ!Ð$>¸z¸lÈ"Ð"MÓNÐNùs   ‚79c              ƒ  óÌ   K  — | j                  |«      ƒ d {  –—† }|j                  «       ƒ d {  –—† dk(  ry|j                  «       ƒ d {  –—† j                  «       S 7 ŒF7 Œ07 Œ­w)Nr   r   )r÷   râ   Ú
inner_textr$   rø   s      r   r½   zTelegramClient._message_textÂ  sS   è ø€ Ø×)Ñ)¨*Ó5×5ˆØ—‘“× Ò!ØØ—n‘nÓ&×&×-Ñ-Ó/Ð/ð 6øØøà&ús1   ‚A$—A˜A$¯A °A$ÁA"ÁA$Á A$Á"A$c              ƒ  ó  K  — | j                  |«      ƒ d {  –—† }	 |j                  d«      ƒ d {  –—†  t	        j
                  d«      ƒ d {  –—†  y 7 Œ<7 Œ$# t        $ r |j                  «       ƒ d {  –—†7   Y ŒFw xY w7 Œ1­w)Nz=el => el.scrollIntoView({block: 'center', inline: 'nearest'})ç333333Ó?)r÷   Úevaluater~   Úscroll_into_view_if_neededr<   r•   rø   s      r   rÀ   z(TelegramClient._scroll_message_into_viewÈ  sr   è ø€ Ø×)Ñ)¨*Ó5×5ˆð	3Ø—,‘,Ð^Ó_×_Ð_ô �m‰m˜CÓ × Ñ ð 6øà_ùÜò 	3Ø×0Ñ0Ó2×2Ó2ð	3úà úsY   ‚B—A˜B�A ±A²A ¶BÁB ÁBÁA ÁA=Á4A7Á5A=Á:BÁ<A=Á=Bc              ƒ  óþ  K  — | j                  |«      ƒ d {  –—† }| j                  |«      ƒ d {  –—†  |j                  d|¬«      }|j                  «       ƒ d {  –—† dk(  r|j	                  |«      }|j                  «       ƒ d {  –—† dk(  rt        d|› d|›�«      ‚|j                  }	 |j                  d«      ƒ d {  –—†  |j                  dd¬	«      ƒ d {  –—†  y 7 ŒÊ7 Œ³7 ŒŠ7 Œ`7 Œ(# t        $ r Y Œ1w xY w7 Œ­w)
Nr­   ©r¢   r   u   Ð’ Ñ�Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ð¸ u    Ð½ÐµÑ‚ ÐºÐ½Ð¾Ð¿ÐºÐ¸ z*el => el.scrollIntoView({block: 'center'})r]   T)ra   Úforce)
r÷   rÀ   Úget_by_rolerâ   ré   r    Úlastr#  r~   rÞ   )rC   rù   r¢   rú   ÚbtnÚtargets         r   r»   z TelegramClient._click_in_messageÐ  sñ   è ø€ Ø×)Ñ)¨*Ó5×5ˆØ×,Ñ,¨ZÓ8×8Ð8Ø�o‰o˜h¨TˆoÓ2ˆØ—‘“× Ò!Ø—/‘/ $Ó'ˆCØ—‘“× Ò!ÜÐ!7¸
°|ÐCXÐY]ÐX`ÐaÓbÐbØ—‘ˆð	Ø—/‘/Ð"NÓO×OÐOð �l‰l 6°ˆlÓ6×6Ñ6ð 6øØ8øàøàøð PùÜò 	Ùð	úà6ús…   ‚C=—C"˜C=°C$±*C=ÁC&Á+C=ÂC(Â$C=Â-C, ÃC*ÃC, ÃC=ÃC;ÃC=Ã$C=Ã&C=Ã(C=Ã*C, Ã,	C8Ã5C=Ã7C8Ã8C=c              ƒ  ó  K  — | j                  «       }|j                  t        «      }	 |j                  j	                  d¬«      ƒ d {  –—†  |j                  j                  «       ƒ d {  –—† }t        j                  |«      }|� |j                  d«      j                  d«      S d }d}	 |j                  d¬«      4 ƒd {  –—† }|j                  dt        ¬«      j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  j                  ƒ d {  –—† }|j                  d	d
¬«      ƒ d {  –—†  |j                   }|�|j#                  «       ƒ d {  –—†  	 |j%                  d«      r|S 	 |j-                  d«      j/                  d«      ƒ d {  –—† }	t1        |	«      D ]@  }
t3        |
t4        «      sŒd|
v sd|
v rŒ|
j%                  d«      sŒ/|
j                  d«      c S  |j%                  d«      r|j                  d«      S t7        d«      ‚7 �ŒÈ7 �Œ©7 �ŒU7 �Œ+7 �Œ# 1 ƒd {  –—†7  sw Y   �Œ/xY w7 �Œ#7 �Œ7 Œç# |�|j#                  «       ƒ d {  –—†7   w w xY w# t&        $ r t(        j+                  d«       Y �Œw xY w7 Œò­w)Nià.  ©ra   r   z).,;r   é@  r­   r&  r^   rÓ   ÚhttpuI   Ð”Ð¸Ð°Ð»Ð¾Ð³ Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ Ð½Ðµ Ð¿Ð¾Ñ�Ð²Ð¸Ð»Ñ�Ñ�, Ð¸Ñ‰ÐµÐ¼ URL Ð² Ñ‡Ð°Ñ‚Ðµza[href^="http"]zels => els.map(e => e.href)zweb.telegram.orgzt.me/uK   Ð�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚ÑŒ URL Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð° Ð¸Ð· Ð´Ð¸Ð°Ð»Ð¾Ð³Ð°)rç   ré   ÚLINK_PROMPT_REÚfirstrÝ   r   r¾   r¿   rÃ   ÚrstripÚexpect_popupr(  ÚMODAL_OPEN_RErÞ   ÚvalueÚwait_for_load_stateÚurlr�   r   r~   rj   ró   rÜ   Úevaluate_allÚreversedÚ
isinstancert   r    )rC   r©   rì   ÚpromptÚ
modal_textr&   Ú
popup_pager7  Ú
popup_infoÚhrefsÚhrefs              r   rÂ   zTelegramClient._grab_report_urlß  sd  è ø€ Ø×!Ñ!Ó#ˆØ×!Ñ!¤.Ó1ˆð	hØ—,‘,×'Ñ'°Ð'Ó7×7Ð7Ø%Ÿ|™|×6Ñ6Ó8×8ˆJÜ!×(Ñ(¨Ó4ˆEØÐ Ø—{‘{ 1“~×,Ñ,¨VÓ4Ð4Ø&*ˆJØˆCð-Ø×,Ñ,°UÐ,Ó;÷ Qð Q¸zØ×*Ñ*¨8¼-Ð*ÓH×NÑNÓP×PÐP÷Q÷ Qà#-×#3Ñ#3×3�
Ø ×4Ñ4Ð5GÐQWÐ4ÓX×XÐXØ —n‘n�àÐ)Ø$×*Ñ*Ó,×,Ñ,Ø�~‰~˜fÔ%Ø�
ð &ð
 —l‘lÐ#4Ó5×BÑBØ)ó
÷ 
ˆô ˜U“Oò 	+ˆDÜ˜d¤CÔ(ØØ! TÑ)¨W¸©_ØØ�‰˜vÕ&Ø—{‘{ 6Ó*Ò*ð	+ð ×Ñ˜vÔ&Ø—?‘? 6Ó*Ð*ÜÐhÓiÐiðC 8ùØ8ùðQùØPùðQù÷ Q÷ Qò Qúà3ùØXùð -ùð Ð)Ø$×*Ñ*Ó,×,Ò,ð *ûô ò 	hÜ�N‰NÐf×gð	húð
ús  ‚&J©I ÁHÁ	!I Á*HÁ+:I Â%JÂ&I Â+H= ÃHÃH= Ã)HÃ.HÃ/HÃ3H= Ã>HÃ?H= ÄH5ÄH= Ä-H8Ä.H= Ä>I ÅH;ÅI Å+%JÆJÆ=JÇAJÈI ÈI ÈH= ÈHÈH= ÈH2È%H(È&H2È-	H= È8H= È;I È=IÉIÉIÉI ÉJ É<JÉ?J Ê Jc              ƒ  ó2  K  — | j                   €t        d«      ‚|j                  d«      st        d«      ‚| j                   j                  «       ƒ d {  –—† }	 |j	                  |dt
        j                  ¬«      ƒ d {  –—†  	 |j                  d«      j                  j                  dt
        j                  ¬«      ƒ d {  –—†  |j                  d«      j                  «       ƒ d {  –—† }	 |j                  t        t
        j                  d	z  «      ¬
«      ƒ d {  –—†  t%        |«      }t         j'                  dt)        |«      |d   |d   |d   xs d«       ||j+                  «       ƒ d {  –—†  S 7 �Œ#7 Œú7 Œ¹# t        $ rF}|j                  t        t
        j                  d	z  «      ¬
«      ƒ d {  –—†7   t        d«      |‚d }~ww xY w7 Œæ7 Œ³# t        $ r t         j#                  d«       Y ŒÑw xY w7 Œ†# |j+                  «       ƒ d {  –—†7   w xY w­w)NrŸ   r/  u   ÐŸÑƒÑ�Ñ‚Ð¾Ð¹ URL Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð°r^   r_   z .report-card__body, .request-tagrÒ   rÔ   zlookup-05-report-page.png©Úpathu9   Ð¡Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ð° Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð° Ð½Ðµ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ð»Ð°Ñ�ÑŒz.request-tagu<   Ð¡ÐºÑ€Ð¸Ð½ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†Ñ‹ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð° Ð½Ðµ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ð½u8   Ð¢ÐµÐ³Ð¸ Ð¾Ñ‚Ñ‡Ñ‘Ñ‚Ð°: raw=%s phones=%s emails=%s fio=%sr   r   r    rª   )r:   r    r   rx   rz   rf   r|   rÜ   r1  rÝ   ÚREPORT_TIMEOUT_MSr~   Ú
screenshotrt   ri   Úall_inner_textsrj   Údebugr3   rk   r   r�   )rC   r®   rì   r�   r,   rÍ   s         r   rÄ   z%TelegramClient._parse_report_contacts  sä  è ø€ Ø�=‰=Ð ÜÐJÓKÐKØ×$Ñ$ VÔ,ÜÐ>Ó?Ð?à—]‘]×+Ñ+Ó-×-ˆð	Ø—)‘)ØØ-Ü×-Ñ-ð ó ÷ ð ð
iØ—l‘lÐ#EÓF×LÑL×UÑUØ#Ü"×4Ñ4ð Vó ÷ ð ð Ÿ,™, ~Ó6×FÑFÓH×HˆEð]Ø—o‘o¬3¬v¯©ÐA\Ñ/\Ó+]�oÓ^×^Ð^ô *¨%Ó0ˆHÜ�K‰KØJÜ�E“
Ø˜Ñ"Ø˜Ñ"Ø˜‘Ò( 5ôð à—*‘*“,×Ñð? .ùðøðùô ò iØ—o‘o¬3¬v¯©ÐA\Ñ/\Ó+]�oÓ^×^Ñ^Ü"Ð#^Ó_ÐehÐhûðiúð Iøà^ùÜò ]Ü—‘Ð[Ö\ð]úð ù�$—*‘*“,×ÒüsÞ   ‚AHÁE6ÁHÁ%G9 Á>E9Á?G9 Â=E= ÃE;ÃE= Ã"G9 Ã(GÃ)G9 Ã./G ÄGÄG Ä";G9 ÅHÅ0G7Å1HÅ9G9 Å;E= Å=	GÆ/GÆ5F8Æ6GÇGÇG9 ÇG ÇG4Ç1G9 Ç3G4Ç4G9 Ç7HÇ9HÈHÈHÈHc              ƒ  ó4  K  — | j                   €y | j                   j                  d«      }	 |j                  «       ƒ d {  –—† dkD  r#|j                  j	                  «       ƒ d {  –—† ry | j                  «       ƒ d {  –—†  y 7 ŒC7 Œ # t
        $ r Y Œ(w xY w7 Œ­w)NrÑ   r   )r;   rÜ   râ   r1  Ú
is_visibler~   r‚   )rC   Úcomposers     r   rµ   zTelegramClient._ensure_bot_chat-  s‰   è ø€ Ø�:‰:ÐØØ—:‘:×%Ñ%Ð&>Ó?ˆð	Ø—^‘^Ó%×%¨Ò)°H·N±N×4MÑ4MÓ4O×.OÐ.OØð ×!Ñ!Ó#×#Ñ#ð	 &øÐ.Oùäò 	Ùð	úà#úsW   ‚)B¬B ¿BÁ $B Á$BÁ%B Á)BÁ=BÁ>BÂB ÂB Â	BÂBÂBÂBc              ƒ  ó„  K  — | j                   €y | j                   j                  dt        ¬«      }	 |j                  «       ƒ d {  –—† dkD  rH|j                  j                  «       ƒ d {  –—† r%|j                  j                  d¬«      ƒ d {  –—†  y y y 7 ŒP7 Œ-7 Œ# t        $ r t        j                  d«       Y y w xY w­w)Nr­   r&  r   i¸  r-  u>   ÐœÐ¾Ð´Ð°Ð»ÑŒÐ½Ð¾Ðµ Ð¾ÐºÐ½Ð¾ Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ ÑƒÐ¶Ðµ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¾)
r;   r(  ÚMODAL_CANCEL_RErâ   r1  rI  rÞ   r~   rj   rG  )rC   Úcancels     r   r´   z"TelegramClient._dismiss_link_modal8  s¤   è ø€ Ø�:‰:ÐØØ—‘×'Ñ'¨´Ð'ÓGˆð	[Ø—\‘\“^×# aÒ'°&·,±,×2IÑ2IÓ2K×,KÐ,KØ—l‘l×(Ñ(°Ð(Ó7×7Ñ7ð -LÐ'Ð#øÐ,KøØ7ùÜò 	[Ü�L‰LÐYÖZð	[üs^   ‚/C ²B ÁBÁ$B Á*BÁ+#B ÂBÂB ÂC ÂB ÂB ÂB ÂB=Â:C Â<B=Â=C c              ƒ  ó,  K  — | j                   4 ƒd {  –—†  | j                  r| j                  €	 d d d «      ƒd {  –—†  y| j                  «       ƒ d {  –—†  | j                  cd d d «      ƒd {  –—†  S 7 Œc7 Œ<7 Œ%7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)NF)r>   rG   r;   r�   r@   rB   s    r   Úrefresh_login_statez"TelegramClient.refresh_login_stateB  s…   è ø€ Ø—:‘:÷ 	#ñ 	#Ø—<’< 4§:¡:Ð#5Ø÷	#÷ 	#ð 	#ð ×+Ñ+Ó-×-Ð-Ø—?‘?÷		#÷ 	#ò 	#øð 	#øð .øð	#ø÷ 	#÷ 	#ñ 	#üsq   ‚B“A7”B—A?±B¼A9½BÁA?ÁA;ÁA?Á%BÁ1A=Á2BÁ9BÁ;A?Á=BÁ?BÂBÂBÂBc              ƒ  ó`  K  — | j                   4 ƒd {  –—†  | j                  «        | j                  «       ƒ d {  –—†  | j                  |«      ƒ d {  –—†  | j	                  d«      ƒ d {  –—†  | j
                  cd d d «      ƒd {  –—†  S 7 Œ{7 ŒU7 Œ>7 Œ'7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w©Nrc   )r>   rç   r„   r‡   r–   rA   )rC   r2   s     r   Úsubmit_phonezTelegramClient.submit_phoneI  s—   è ø€ Ø—:‘:÷ 	$ñ 	$Ø×ÑÔ Ø×'Ñ'Ó)×)Ð)Ø×+Ñ+¨EÓ2×2Ð2Ø×"Ñ" <Ó0×0Ð0Ø×#Ñ#÷	$÷ 	$ò 	$øà)øØ2øØ0øð		$ø÷ 	$÷ 	$ñ 	$üsx   ‚B.“B”B.—$B»B¼BÁBÁBÁ-BÁ.BÁ=B.Â	BÂ
B.ÂBÂBÂBÂB.ÂB+ÂB"Â B+Â'B.c              ƒ  óÄ  K  — | j                   4 ƒd {  –—†  | j                  «        | j                  «       ƒ d {  –—†  | j                  dk7  r| j	                  «       ƒ d {  –—†  | j                  |«      ƒ d {  –—†  | j                  dk(  r7t        j                  r'| j                  t        j                  «      ƒ d {  –—†  | j                  r0| j                  «       ƒ d {  –—†  | j                  «       ƒ d {  –—†  | j                  d«      ƒ d {  –—†  | j                  cd d d «      ƒd {  –—†  S 7 �Œ%7 Œÿ7 ŒÚ7 ŒÃ7 Œ7 Œ]7 ŒG7 Œ07 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)NÚwaiting_coderd   rc   )r>   rç   r�   rA   Ú_recover_code_screenÚ_submit_login_coderf   rˆ   r‰   r@   rƒ   r‚   r–   )rC   Úcodes     r   Úsubmit_codezTelegramClient.submit_codeQ  s#  è ø€ Ø—:‘:÷ 	$ñ 	$Ø×ÑÔ Ø×+Ñ+Ó-×-Ð-Ø×Ñ >Ò1Ø×/Ñ/Ó1×1Ð1Ø×)Ñ)¨$Ó/×/Ð/Ø×ÑÐ#5Ò5¼&×:PÒ:PØ×1Ñ1´&×2HÑ2HÓI×IÐIØ�ŠØ×.Ñ.Ó0×0Ð0Ø×)Ñ)Ó+×+Ð+Ø×"Ñ" <Ó0×0Ð0Ø×#Ñ#÷	$÷ 	$ò 	$ùà-øà1øØ/øàIøà0øØ+øØ0øð	$ø÷ 	$÷ 	$ñ 	$üsÁ   ‚E “D8”E —$E»D;¼&EÁ"D=Á#EÁ;D?Á<AEÃEÃ#EÃ%EÃ&EÃ=EÃ>EÄEÄEÄ&E Ä2E	Ä3E Ä;EÄ=EÄ?EÅEÅEÅEÅEÅ	E ÅEÅEÅEÅE c              ƒ  ó¬  K  — | j                   4 ƒd {  –—†  | j                  «        | j                  |«      ƒ d {  –—†  | j                  r0| j	                  «       ƒ d {  –—†  | j                  «       ƒ d {  –—†  | j                  d«      ƒ d {  –—†  | j                  cd d d «      ƒd {  –—†  S 7 ŒŸ7 Œx7 ŒV7 Œ@7 Œ)7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­wrQ  )r>   rç   r‰   r@   rƒ   r‚   r–   rA   )rC   Úpasswords     r   Úsubmit_passwordzTelegramClient.submit_password`  s´   è ø€ Ø—:‘:÷ 	$ñ 	$Ø×ÑÔ Ø×-Ñ-¨hÓ7×7Ð7Ø�ŠØ×.Ñ.Ó0×0Ð0Ø×)Ñ)Ó+×+Ð+Ø×"Ñ" <Ó0×0Ð0Ø×#Ñ#÷	$÷ 	$ò 	$øà7øà0øØ+øØ0øð	$ø÷ 	$÷ 	$ñ 	$üsŠ   ‚C“B3”C—%B?¼B5½#B?Á B7Á!B?Á8B9Á9B?ÂB;ÂB?Â!CÂ-B=Â.CÂ5B?Â7B?Â9B?Â;B?Â=CÂ?CÃCÃCÃCc                ó`   — | j                   r| j                  €t        d«      ‚| j                  S rž   )rG   r;   r    rB   s    r   rç   zTelegramClient._require_pagej  s(   € Ø�|Š|˜tŸz™zÐ1ÜÐJÓKÐKØ�z‰zÐr   c              ƒ  óä   K  — | j                   €d| _        d| _        y 	 | j                  «       ƒ d {  –—† | _        | j                  dk(  | _        y 7 Œ# t        $ r d| _        d| _        Y y w xY w­w)NFr7   rI   Úunknown)r;   r@   rA   Ú_detect_login_stepr~   rB   s    r   r�   z#TelegramClient._refresh_login_stateo  so   è ø€ Ø�:‰:ÐØ#ˆDŒOØ,ˆDÔØð	)Ø%)×%<Ñ%<Ó%>×>ˆDÔØ"×.Ñ.°+Ñ=ˆD�Oð  ?ùäò 	)Ø#ˆDŒOØ(ˆDÖð	)üs8   ‚A0ŸA ²A³A ÁA0ÁA ÁA-Á*A0Á,A-Á-A0c              ƒ  óp  K  — | j                  «       }| j                  |j                  d«      «      ƒ d {  –—† ry| j                  |j                  t        «      «      ƒ d {  –—† ry| j                  |j                  d«      «      ƒ d {  –—† ry|j                  d«      }| j                  |«      ƒ d {  –—† r)| j                  |j                  d«      «      ƒ d {  –—† sy| j                  |j                  d«      «      ƒ d {  –—† ry| j                  |j                  t
        «      «      ƒ d {  –—† r-| j                  |j                  t        «      «      ƒ d {  –—† sy|j                  d«      }| j                  |«      ƒ d {  –—† ry	|j                  d
«      }| j                  |«      ƒ d {  –—† ry	| j                  |j                  t        «      «      ƒ d {  –—† ry| j                  |j                  t        «      «      ƒ d {  –—† ryy7 �Œâ7 �Œ¸7 �Œ’7 �Œj7 �ŒE7 �Œ7 Œô7 ŒÊ7 Œ¡7 Œx7 ŒM7 Œ"­w)Nú#sign-in-passwordrd   ú#sign-in-coderT  z?input[autocomplete="one-time-code"], input[inputmode="numeric"]z(#sign-in-phone-number, input[type='tel']Úwaiting_phonerÑ   rI   z0#LeftColumn, #column-left, .ChatList, .chat-listr“   r^  )rç   rè   rÜ   ré   ÚPASSWORD_HEADING_REÚPHONE_HEADING_REÚ
QR_PAGE_REÚPHONE_LOGIN_RE)rC   rì   Ú
code_inputrJ  Úlefts        r   r_  z!TelegramClient._detect_login_step{  s  è ø€ Ø×!Ñ!Ó#ˆà×!Ñ! $§,¡,Ð/BÓ"CÓD×DÐDØ%Ø×!Ñ! $×"2Ñ"2Ô3FÓ"GÓH×HÐHØ%à×!Ñ! $§,¡,¨Ó"?Ó@×@Ð@Ø!Ø—\‘\Ð"cÓdˆ
Ø×!Ñ! *Ó-×-Ð-¸D×<LÑ<LØ�L‰LÐCÓDó=
÷ 7
ð 7
ð "à×!Ñ! $§,¡,Ð/YÓ"ZÓ[×[Ð[Ø"Ø×!Ñ! $×"2Ñ"2Ô3CÓ"DÓE×EÐEÐTX×TdÑTdØ×ÑœZÓ(óU
÷ O
ð O
ð #à—<‘<Ð 8Ó9ˆØ×!Ñ! (Ó+×+Ð+ØØ�|‰|ÐNÓOˆØ×!Ñ! $Ó'×'Ð'Øà×!Ñ! $×"2Ñ"2´:Ó">Ó?×?Ð?ØØ×!Ñ! $×"2Ñ"2´>Ó"BÓC×CÐCØØð? EùàHùð Aùð .ùð 7
ùð
 \ùàEøð O
øð ,øð (øð @øàCúsÕ   ‚4H6¶H·,H6Á#HÁ$(H6ÂHÂ*H6Â7H!Â8'H6ÃH$Ã (H6ÄH'Ä	,H6Ä5H*Ä6+H6Å!H,Å"*H6ÆH.Æ*H6Æ7H0Æ8,H6Ç$H2Ç%,H6ÈH4ÈH6ÈH6ÈH6È!H6È$H6È'H6È*H6È,H6È.H6È0H6È2H6È4H6c              ƒ  óì   K  — 	 |j                  «       ƒ d {  –—† }t        t        |d«      «      D ]+  }|j                  |«      j	                  «       ƒ d {  –—† sŒ+ y 	 y7 ŒI7 Œ# t
        $ r Y yw xY w­w)Né   TF)râ   r	  Úminr
  rI  r~   )rC   rÜ   râ   r  s       r   rè   zTelegramClient._is_visibleŸ  sp   è ø€ ð	Ø!Ÿ-™-›/×)ˆEÜœs 5¨!›}Ó-ò  �Ø Ÿ™ UÓ+×6Ñ6Ó8×8Ñ8Ùñ ð
 ð *øà8ùäò 	Ùð	üs\   ‚A4„A% —A!˜>A% ÁA#ÁA% ÁA% ÁA4ÁA% Á A4Á!A% Á#A% Á%	A1Á.A4Á0A1Á1A4c              ƒ  ó€  K  — | j                  «       }t        j                  «       dz   }t        j                  «       |k  rv| j                  «       ƒ d {  –—†  | j                  dv ry | j                  «       ƒ d {  –—† �y t        j                  d«      ƒ d {  –—†  t        j                  «       |k  rŒuy y 7 Œc7 Œ>7 Œ"­w)NrØ   >   rI   r“   rT  rc  rd   rÚ   )rç   rñ   rò   r�   rA   Ú_phone_login_buttonr<   r•   )rC   rì   rõ   s      r   r}   z TelegramClient._wait_auth_screen©  s£   è ø€ Ø×!Ñ!Ó#ˆÜ—>‘>Ó# bÑ(ˆÜ�n‰nÓ Ò)Ø×+Ñ+Ó-×-Ð-Ø×Ñð $ñ ð Ø×-Ñ-Ó/×/Ð;ØÜ—-‘- Ó$×$Ð$ô �n‰nÓ Õ)Ø-øð 0øà$ús<   ‚AB>ÁB8Á&B>Á;B:Á<B>ÂB<ÂB>Â6B>Â:B>Â<B>c              ƒ  óÜ  K  — | j                  «       }|j                  dt        ¬«      |j                  dt        ¬«      |j                  t        «      |j	                  d«      j                  t        ¬«      g}|D ]Z  }	 |j                  «       ƒ d {  –—† }t        |«      D ]1  }|j                  |«      }|j                  «       ƒ d {  –—† sŒ-|c c S  Œ\ y 7 ŒF7 Œ# t        $ r Y Œmw xY w­w)Nr­   r&  Úlinkzbutton, a, div, span)Úhas_text)rç   r(  rg  ré   rÜ   Úfilterrâ   r	  r
  rI  r~   )rC   rì   Úlocatorsrú   râ   r  Úitems          r   rn  z"TelegramClient._phone_login_buttonº  sä   è ø€ Ø×!Ñ!Ó#ˆà×Ñ˜X¬NÐÓ;Ø×Ñ˜V¬.ÐÓ9Ø×Ñœ^Ó,Ø�L‰LÐ/Ó0×7Ñ7ÄÐ7ÓPð	
ˆð ò 	ˆCðØ!Ÿi™i›k×)�Ü" 5›\ò $�EØŸ7™7 5›>�DØ!Ÿ_™_Ó.×.Ñ.Ø#œñ$ð	ð ð *øð /ùäò Ùðüs`   ‚A<C,Á?CÂCÂ6CÃ	CÃ
CÃCÃC,ÃCÃC,ÃCÃCÃ	C)Ã&C,Ã(C)Ã)C,c              ƒ  ó–  K  — | j                  «       ƒ d {  –—†  | j                  «       ƒ d {  –—†  | j                  dv ry t        j                  «       dz   }d }t        j                  «       |k  rP| j                  «       ƒ d {  –—† }|�n5t        j                  d«      ƒ d {  –—†  t        j                  «       |k  rŒP|€$| j                  d«      ƒ d {  –—†  t        d«      ‚|j                  d¬«      ƒ d {  –—†  t        j                  «       dz   }t        j                  «       |k  r0| j                  «       ƒ d {  –—†  t        j                  «       |k  rŒ0| j                  d	k(  r d | _        | j                  «       ƒ d {  –—†  y | j                  d«      ƒ d {  –—†  t        d
«      ‚7 �Œ�7 �Œˆ7 �Œ47 �Œ7 Œæ7 ŒÃ7 Œ7 Œ;7 Œ#­w)N>   rI   rT  rc  rd   é   rÚ   rb   u@   Ð�Ð° Ñ�ÐºÑ€Ð°Ð½Ðµ Ð½ÐµÑ‚ Ñ�Ñ�Ñ‹Ð»ÐºÐ¸ Â«Log in by phone numberÂ»T)r'  é   rc  u@   Ð¤Ð¾Ñ€Ð¼Ð° Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ‚ÐµÐ»ÐµÑ„Ð¾Ð½Ð° Ð½Ðµ Ð¾Ñ‚ÐºÑ€Ñ‹Ð»Ð°Ñ�ÑŒ)r}   r�   rA   rñ   rò   rn  r<   r•   r–   r    rÞ   r8   r…   )rC   rõ   r­   s      r   r„   zTelegramClient._open_phone_formÍ  s™  è ø€ Ø×$Ñ$Ó&×&Ð&Ø×'Ñ'Ó)×)Ð)Ø×ÑÐaÑaØô —>‘>Ó# bÑ(ˆØˆÜ�n‰nÓ Ò)Ø×3Ñ3Ó5×5ˆFØÐ!ØÜ—-‘- Ó$×$Ð$ô	 �n‰nÓ Ó)ð
 ˆ>Ø×"Ñ" ;Ó/×/Ð/ÜÐaÓbÐbØ�l‰l ˆlÓ&×&Ð&ä—>‘>Ó# bÑ(ˆÜ�n‰nÓ Ò)Ø×+Ñ+Ó-×-Ð-ô �n‰nÓ Ó)à×Ñ˜Ò.Ø"ˆDŒOØ×-Ñ-Ó/×/Ð/Øð ×Ñ˜{Ó+×+Ð+ÜÐ]Ó^Ð^ð9 	'ùØ)ùð 6ùð %ùà/øà&øð .øð 0øð 	,ús«   ‚G	–F3—G	®F6¯AG	ÂF9ÂG	Â%F<Â&G	ÃG	ÃF?Ã$G	Ã=GÃ>AG	ÅGÅG	Å )G	Æ	GÆ
G	Æ#GÆ$G	Æ6G	Æ9G	Æ<G	Æ?G	ÇG	ÇG	ÇG	ÇG	c                ó  — t        j                  dd|j                  «       «      }|j                  d«      rt	        |«      dk(  r
d|dd  z   }|S |j                  d«      rt	        |«      dk(  rd|z   }|S |j                  d«      sd|z   }|S )	Nz[^\d+]r   r   r   z+7r   r   ú+)r   r   r$   r   r   )rC   r   r5  s      r   Ú_normalize_phonezTelegramClient._normalize_phoneì  s“   € Ü—‘�y " c§i¡i£kÓ2ˆØ×Ñ˜CÔ ¤S¨£Z°2Ò%5Ø˜5  ˜9Ñ$ˆEð
 ˆð	 ×Ñ˜cÔ"¤s¨5£z°RÒ'7Ø˜%‘KˆEð ˆð ×!Ñ! #Ô&Ø˜%‘KˆEØˆr   c              ƒ  ó  K  — | j                  «       }| j                  |j                  t        j                  dt        j
                  «      «      |j                  d«      |j                  d«      j                  d«      «      ƒ d {  –—† }|€y	 |j                  «       ƒ d {  –—† j                  «       S 7 Œ.7 Œ# t        $ r; 	 |j                  «       ƒ d {  –—†7  j                  «       cY S # t        $ r Y Y yw xY ww xY w­w)Nõ   ^Country$|^Ð¡Ñ‚Ñ€Ð°Ð½Ð°$ú#sign-in-phone-codezinput[autoComplete="off"]r   r   )rç   Ú_first_visibleÚget_by_labelr   ÚcompileÚIrÜ   r
  Úinput_valuer$   r~   r   )rC   rì   Úfields      r   Ú_country_field_valuez#TelegramClient._country_field_valueö  sä   è ø€ Ø×!Ñ!Ó#ˆØ×)Ñ)Ø×ÑœbŸj™jÐ)DÄbÇdÁdÓKÓLØ�L‰LÐ.Ó/Ø�L‰LÐ4Ó5×9Ñ9¸!Ó<ó
÷ 
ˆð
 ˆ=Øð	Ø×+Ñ+Ó-×-×4Ñ4Ó6Ð6ð
øð .ùÜò 	ðØ#×.Ñ.Ó0×0Ð0×7Ñ7Ó9Ò9øÜò Úðúð	üsx   ‚BDÂB6ÂDÂB: Â#B8Â$B: Â5DÂ8B: Â:	C>ÃC-ÃCÃC-Ã*C>Ã+DÃ-	C:Ã6C>Ã7DÃ9C:Ã:C>Ã>Dc              ƒ  óT  K  — | j                  «       }| j                  «       ƒ d{  –—† }t        j                  d|t        j                  «      ry| j                  |j                  t        j                  dt        j                  «      «      |j                  d«      «      ƒ d{  –—† }|€t        d«      ‚|j                  «       ƒ d{  –—†  t        j                  d«      ƒ d{  –—†  |j                  j                  d«      ƒ d{  –—†  |j                  j                  d«      ƒ d{  –—†  |j                  d	d
¬«      ƒ d{  –—†  t        j                  d«      ƒ d{  –—†  |j                  d«      }|j!                  t        j                  d«      «      }|j#                  «       ƒ d{  –—† dk(  r$|j!                  t        j                  d«      «      }|j#                  «       ƒ d{  –—† dk(  r$| j%                  d«      ƒ d{  –—†  t        d«      ‚|j&                  j                  dd¬«      ƒ d{  –—†  t        j                  d«      ƒ d{  –—†  | j                  «       ƒ d{  –—† }t        j                  d|t        j                  «      sX|j                  j                  d«      ƒ d{  –—†  t        j                  d«      ƒ d{  –—†  | j                  «       ƒ d{  –—† }t        j                  d|t        j                  «      s+| j%                  d«      ƒ d{  –—†  t        d|xs d› �«      ‚t(        j+                  d«       | j-                  d«      ƒ d{  –—†  y7 �ŒN7 �ŒÑ7 �Œ¯7 �Œ•7 �Œu7 �ŒU7 �Œ=7 �Œ#7 �ŒÙ7 �Œ�7 �Œ„7 �ŒW7 �Œ=7 �Œ(7 Œâ7 ŒÇ7 Œ±7 Œu7 Œ7­w)uk   ÐŸÑ€Ð¾ÐºÑ�Ð¸ Ð´Ð°Ñ‘Ñ‚ Ð³ÐµÐ¾ Ð¡Ð¨Ð�; Ð´Ð»Ñ� Ñ€Ð¾Ñ�Ñ�Ð¸Ð¹Ñ�ÐºÐ¾Ð³Ð¾ Ð½Ð¾Ð¼ÐµÑ€Ð° Ð½ÑƒÐ¶Ð½Ð° Ñ�Ñ‚Ñ€Ð°Ð½Ð° +7.Nu   Russia|Ð Ð¾Ñ�Ñ�Ð¸r|  r}  u)   ÐŸÐ¾Ð»Ðµ Ñ�Ñ‚Ñ€Ð°Ð½Ñ‹ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾r"  rÖ   r×   ÚRussiaé2   rÙ   r  z).Menu.CountryCodeInput, .CountryCodeInputzRussian Federationr   z^Russian Federation$rb   u4   Ð’ Ñ�Ð¿Ð¸Ñ�ÐºÐµ Ñ�Ñ‚Ñ€Ð°Ð½ Ð½ÐµÑ‚ Russian FederationTr.  )r'  ra   rð   rÛ   rÚ   u?   Ð�Ðµ ÑƒÐ´Ð°Ð»Ð¾Ñ�ÑŒ Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ Ð Ð¾Ñ�Ñ�Ð¸ÑŽ, Ñ�ÐµÐ¹Ñ‡Ð°Ñ�: u
   Ð¿ÑƒÑ�Ñ‚Ð¾u0   Ð¡Ñ‚Ñ€Ð°Ð½Ð° Ð²Ñ…Ð¾Ð´Ð°: Russian Federation (+7)rc   )rç   r„  r   r¿   r�  r~  r  r€  rÜ   r    rÞ   r<   r•   rß   rà   rá   ré   râ   r–   r1  rj   rk   r€   )rC   rì   ÚcurrentÚcountryÚmenuÚoptions         r   r…   z%TelegramClient._ensure_country_russia  sÜ  è ø€ à×!Ñ!Ó#ˆØ×1Ñ1Ó3×3ˆÜ�9‰9Ð)¨7´B·D±DÔ9Øà×+Ñ+Ø×ÑœbŸj™jÐ)DÄbÇdÁdÓKÓLØ�L‰LÐ.Ó/ó
÷ 
ˆð ˆ?ÜÐJÓKÐKà�m‰m‹o×ÐÜ�m‰m˜CÓ × Ð Ø�m‰m×!Ñ! +Ó.×.Ð.Ø�m‰m×!Ñ! +Ó.×.Ð.Ø×(Ñ(¨¸Ð(Ó<×<Ð<Ü�m‰m˜CÓ × Ð à�|‰|ÐGÓHˆØ×!Ñ!¤"§*¡*Ð-BÓ"CÓDˆØ—‘“× 1Ò$Ø×%Ñ%¤b§j¡jÐ1HÓ&IÓJˆFØ—‘“× 1Ò$Ø×"Ñ" ;Ó/×/Ð/ÜÐUÓVÐVØ�l‰l× Ñ  t°UÐ Ó;×;Ð;Ü�m‰m˜CÓ × Ð à×1Ñ1Ó3×3ˆÜ�y‰yÐ-¨w¼¿¹Ô=Ø—-‘-×%Ñ% gÓ.×.Ð.Ü—-‘- Ó$×$Ð$Ø ×5Ñ5Ó7×7ˆGÜ�y‰yÐ-¨w¼¿¹Ô=Ø×"Ñ" ;Ó/×/Ð/ÜÐ!`ÐahÒaxÐlxÐ`yÐzÓ{Ð{Ü�‰ÐFÔGØ×#Ñ# LÓ1×1Ñ1ðK 4ùð
ùð 	ùØ ùØ.ùØ.ùØ<ùØ ùð  ùàùØ/ùà;ùØ ùà3ùà.øØ$øØ7øà/øð 	2úsV  ‚$N(¦M4§A?N(Â&M7Â'$N(ÃM:ÃN(Ã(M=Ã)"N(ÄN Ä"N(Ä.NÄ/N(Å	NÅ
N(Å&N	Å'AN(Æ3NÆ4>N(Ç2NÇ3N(ÈNÈ/N(È>NÈ?N(ÉNÉN(É3NÉ4AN(Ê;NÊ<N(ËN ËN(Ë0N"Ë1=N(Ì.N$Ì/?N(Í.N&Í/N(Í7N(Í:N(Í=N(Î N(ÎN(ÎN(Î	N(ÎN(ÎN(ÎN(ÎN(ÎN(ÎN(ÎN(Î N(Î"N(Î$N(Î&N(c              ƒ  óÚ  K  — | j                  «       }| j                  |«      }| j                  «       ƒ d {  –—†  | j                  |j	                  d«      |j	                  d«      |j	                  d«      «      ƒ d {  –—† }|€t        d«      ‚|j                  «       ƒ d {  –—†  |j                  j                  d«      ƒ d {  –—†  |j                  j                  d«      ƒ d {  –—†  |j                  |d¬«      ƒ d {  –—†  t        j                  d	«      ƒ d {  –—†  | j                  «       ƒ d {  –—†  | j                  «       ƒ d {  –—†  y 7 �Œ!7 ŒÛ7 Œ¸7 Œ—7 Œv7 Œ]7 ŒB7 Œ,7 Œ­w)
Nz#sign-in-phone-numberzinput[type="tel"]zinput[autocomplete="tel"]u:   ÐŸÐ¾Ð»Ðµ Ð½Ð¾Ð¼ÐµÑ€Ð° Ñ‚ÐµÐ»ÐµÑ„Ð¾Ð½Ð° Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾rÖ   r×   é(   rÙ   rÚ   )rç   rz  r…   r~  rÜ   r    rÞ   rß   rà   rá   r<   r•   Ú_click_next_or_enterÚ_wait_phone_accepted)rC   r2   rì   Ú
normalizedrƒ  s        r   r‡   z#TelegramClient._submit_phone_number1  s<  è ø€ Ø×!Ñ!Ó#ˆØ×*Ñ*¨5Ó1ˆ
Ø×)Ñ)Ó+×+Ð+Ø×)Ñ)Ø�L‰LÐ0Ó1Ø�L‰LÐ,Ó-Ø�L‰LÐ4Ó5ó
÷ 
ˆð
 ˆ=ÜÐ[Ó\Ð\à�k‰k‹m×ÐØ�m‰m×!Ñ! +Ó.×.Ð.Ø�m‰m×!Ñ! +Ó.×.Ð.Ø×&Ñ& z¸Ð&Ó<×<Ð<Ü�m‰m˜CÓ × Ð Ø×'Ñ'Ó)×)Ð)Ø×'Ñ'Ó)×)Ñ)ð 	,ùð
øð 	øØ.øØ.øØ<øØ øØ)øØ)ús    ‚5E+·E¸AE+Á?EÂ $E+Â$EÂ%"E+ÃEÃ"E+Ã*E!Ã+E+ÄE#ÄE+Ä"E%Ä#E+Ä:E'Ä;E+ÅE)ÅE+ÅE+ÅE+ÅE+Å!E+Å#E+Å%E+Å'E+Å)E+c              ƒ  ó¶  K  — t        j                  «       }|dz   }d}t        j                  «       |k  �r| j                  «       ƒ d {  –—†  | j                  dv rd | _        y | j                  «       ƒ d {  –—† }|r*| j                  «       ƒ d {  –—† s|| _        t        |«      ‚|sa| j                  «       ƒ d {  –—† rIt        j                  «       |z
  dk\  r/t        j                  d«       | j                  «       ƒ d {  –—†  d}t        j                  d«      ƒ d {  –—†  t        j                  «       |k  r�Œt        d«      ‚7 �Œ7 Œ×7 Œ¿7 Œ•7 ŒP7 Œ3­w)	NéZ   F>   rI   rT  rd   rw  uR   Telegram Ð·Ð°Ð²Ð¸Ñ� Ð½Ð° PLEASE WAIT â€” Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ¶Ð°ÑŽ Ñ�Ñ‚Ñ€Ð°Ð½Ð¸Ñ†ÑƒTrð   uj   Telegram Ð½Ðµ Ð¾Ñ‚ÐºÑ€Ñ‹Ð» Ð¿Ð¾Ð»Ðµ ÐºÐ¾Ð´Ð° (Ð·Ð°Ð²Ð¸Ñ�Ð°Ð½Ð¸Ðµ Ð¿Ð¾Ñ�Ð»Ðµ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ Ð½Ð¾Ð¼ÐµÑ€Ð°))rñ   rò   r�   rA   r8   Ú_auth_error_textÚ_is_please_waitr    rj   ró   r  r<   r•   )rC   rG   rõ   ÚreloadedÚerrors        r   r�  z#TelegramClient._wait_phone_acceptedE  s7  è ø€ Ü—.‘.Ó"ˆØ˜R‘<ˆØˆÜ�n‰nÓ Ó)Ø×+Ñ+Ó-×-Ð-Ø×ÑÐ#TÑTØ"&�”ØØ×/Ñ/Ó1×1ˆEÙ 4×#7Ñ#7Ó#9×9Ð9Ø"'�”Ü" 5Ó)Ð)áØ×.Ñ.Ó0×0Ð0Ü—N‘NÓ$ wÑ.°"Ò4ä—‘ÐsÔtØ×'Ñ'Ó)×)Ð)Ø�Ü—-‘- Ó$×$Ð$ô# �n‰nÓ Ô)ô$ ð  Hó  Ið  	Ið# .ùð 2øØ9øð
 1øð *øà$úss   ‚AEÁ	EÁ
-EÁ7EÁ8EÂEÂ+EÂ=EÂ>AEÄEÄEÄ#EÄ$EÅEÅEÅEÅEÅEÅEc              ƒ  ó¾  K  — | j                  «       ƒ d {  –—†  | j                  «       ƒ d {  –—†  | j                  dk(  ry | j                  «       ƒ d {  –—† rMt	        j
                  d«      ƒ d {  –—†  | j                  «       ƒ d {  –—†  | j                  «       ƒ d {  –—†  | j                  dk7  rt        d| j                  › d�«      ‚y 7 Œº7 Œ¤7 Œ~7 Œc7 ŒM7 Œ7­w)NrT  rk  u!   ÐŸÐ¾Ð»Ñ� ÐºÐ¾Ð´Ð° Ð½ÐµÑ‚ (ÑˆÐ°Ð³ u<   ). Ð—Ð°Ð¿Ñ€Ð¾Ñ�Ð¸Ñ‚Ðµ ÐºÐ¾Ð´ Ð·Ð°Ð½Ð¾Ð²Ð¾: POST /login/phone)r  r�   rA   r”  r<   r•   r    rB   s    r   rU  z#TelegramClient._recover_code_screen]  sÙ   è ø€ Ø×ÑÓ!×!Ð!Ø×'Ñ'Ó)×)Ð)Ø×Ñ˜~Ò-ØØ×%Ñ%Ó'×'Ð'Ü—-‘- Ó"×"Ð"Ø×#Ñ#Ó%×%Ð%Ø×+Ñ+Ó-×-Ð-Ø×Ñ˜~Ò-ÜØ3°D×4DÑ4DÐ3Eð FLð Lóð ð .ð 	"øØ)øð (øØ"øØ%øØ-úsg   ‚C–C—C®C¯'CÁCÁCÁ3CÁ4CÂCÂCÂ#CÂ$.CÃCÃCÃCÃCÃCc              ƒ  ó   K  — | j                  «       }|j                  dt        j                  ¬«      ƒ d {  –—†  | j	                  «       ƒ d {  –—†  | j                  «       ƒ d {  –—†  | j                  d«      ƒ d {  –—†  y 7 ŒN7 Œ87 Œ"7 Œ­w)Nr^   r_   rc   )rç   Úreloadrf   r|   r}   r�   r€   rë   s     r   r  zTelegramClient._reload_authl  s{   è ø€ Ø×!Ñ!Ó#ˆØ�k‰kÐ%7Ä×AVÑAVˆkÓW×WÐWØ×$Ñ$Ó&×&Ð&Ø×'Ñ'Ó)×)Ð)Ø×#Ñ# LÓ1×1Ñ1ð 	XøØ&øØ)øØ1úsE   ‚5B·B¸BÁBÁBÁ'B
Á(BÂ BÂBÂBÂ
BÂBc              ƒ  ó†   K  — | j                  «       }| j                  |j                  t        «      «      ƒ d {  –—† S 7 Œ­wrF   )rç   rè   ré   ÚPLEASE_WAIT_RErë   s     r   r”  zTelegramClient._is_please_waits  s6   è ø€ Ø×!Ñ!Ó#ˆØ×%Ñ% d×&6Ñ&6´~Ó&FÓG×GÐGÐGúrî   c              ƒ  óÆ  K  — | j                  «       }| j                  «       ƒ d {  –—†  | j                  dk7  rt        d| j                  › d�«      ‚t	        j
                  dd|«      }| j                  |j                  d«      |j                  d«      |j                  d«      «      ƒ d {  –—† }|€t        d	«      ‚|j                  «       ƒ d {  –—†  |j                  j                  d
«      ƒ d {  –—†  |j                  j                  d«      ƒ d {  –—†  |j                  |d¬«      ƒ d {  –—†  t        j                  d«      ƒ d {  –—†  | j                  dk(  r| j                  «       ƒ d {  –—†  t        j                   «       dz   }t        j                   «       |k  r�| j                  «       ƒ d {  –—†  | j                  dv rd | _        y | j%                  «       ƒ d {  –—† }|r|| _        t        |«      ‚t        j                  d«      ƒ d {  –—†  t        j                   «       |k  rŒ�t        d«      ‚7 �Œ7 �Œš7 �Œx7 �ŒX7 �Œ87 �Œ 7 �Œ7 Œá7 Œ�7 Œq7 ŒB­w)NrT  õ   Ð¡ÐµÐ¹Ñ‡Ð°Ñ� ÑˆÐ°Ð³ u   , Ð° Ð½Ðµ Ð²Ð²Ð¾Ð´ ÐºÐ¾Ð´Ð°r
   r   rb  z#input[autocomplete="one-time-code"]zinput[inputmode="numeric"]u%   ÐŸÐ¾Ð»Ðµ ÐºÐ¾Ð´Ð° Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾rÖ   r×   r‡  rÙ   gš™™™™™é?rv  >   rI   rd   rÚ   uB   ÐšÐ¾Ð´ Ð½Ðµ Ð¿Ñ€Ð¸Ð½Ñ�Ñ‚. ÐŸÑ€Ð¾Ð²ÐµÑ€ÑŒÑ‚Ðµ Ñ†Ð¸Ñ„Ñ€Ñ‹ Ð¸Ð»Ð¸ 2FA)rç   r�   rA   r    r   r   r~  rÜ   rÞ   rß   rà   rá   r<   r•   rŽ  rñ   rò   r8   r“  )rC   rW  rì   r   rƒ  rõ   r–  s          r   rV  z!TelegramClient._submit_login_codew  s  è ø€ Ø×!Ñ!Ó#ˆØ×'Ñ'Ó)×)Ð)Ø×Ñ˜~Ò-ÜÐ!5°d×6FÑ6FÐ5GÐGbÐcÓdÐdä—‘˜˜r 4Ó(ˆØ×)Ñ)Ø�L‰L˜Ó)Ø�L‰LÐ>Ó?Ø�L‰LÐ5Ó6ó
÷ 
ˆð
 ˆ=ÜÐFÓGÐGà�k‰k‹m×ÐØ�m‰m×!Ñ! +Ó.×.Ð.Ø�m‰m×!Ñ! +Ó.×.Ð.Ø×&Ñ& v°RÐ&Ó8×8Ð8Ü�m‰m˜CÓ × Ð Ø×Ñ˜~Ò-Ø×+Ñ+Ó-×-Ð-ä—>‘>Ó# bÑ(ˆÜ�n‰nÓ Ò)Ø×+Ñ+Ó-×-Ð-Ø×ÑÐ#DÑDØ"&�”ØØ×/Ñ/Ó1×1ˆEÙØ"'�”Ü" 5Ó)Ð)Ü—-‘- Ó$×$Ð$ô �n‰nÓ Ó)ô Ð_Ó`Ð`ðC 	*ùð

ùð 	ùØ.ùØ.ùØ8ùØ ùà-øð .øð 2øð %úsË   ‚$I!¦I§BI!Â-IÂ.$I!ÃI
Ã"I!Ã5IÃ6"I!ÄIÄI!Ä3IÄ4I!ÅIÅ&I!Å7IÅ8AI!Æ=IÆ>-I!Ç+IÇ,0I!ÈIÈI!È9I!ÉI!É
I!ÉI!ÉI!ÉI!ÉI!ÉI!ÉI!ÉI!ÉI!c              ƒ  óZ  K  — | j                  «       }| j                  «       ƒ d {  –—†  | j                  dk7  rt        d| j                  › d�«      ‚| j	                  |j                  d«      |j                  d«      «      ƒ d {  –—† }|€t        d«      ‚|j                  «       ƒ d {  –—†  |j                  j                  d«      ƒ d {  –—†  |j                  j                  d«      ƒ d {  –—†  |j                  |d	¬
«      ƒ d {  –—†  t        j                  d«      ƒ d {  –—†  | j                  «       ƒ d {  –—†  t        j                  «       dz   }t        j                  «       |k  r�| j                  «       ƒ d {  –—†  | j                  dk(  rd | _        y | j!                  «       ƒ d {  –—† }|r|| _        t        |«      ‚t        j                  d«      ƒ d {  –—†  t        j                  «       |k  rŒ�t        d«      ‚7 �Œé7 �ŒŒ7 �Œj7 �ŒJ7 �Œ*7 �Œ7 Œ÷7 Œá7 Œ�7 Œp7 ŒA­w)Nrd   r�  u   , Ð° Ð½Ðµ Ð¿Ð°Ñ€Ð¾Ð»ÑŒ 2FAra  zinput[type="password"]u-   ÐŸÐ¾Ð»Ðµ Ð¿Ð°Ñ€Ð¾Ð»Ñ� 2FA Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾rÖ   r×   rØ   rÙ   r"  rv  rI   rÚ   u"   ÐŸÐ°Ñ€Ð¾Ð»ÑŒ 2FA Ð½Ðµ Ð¿Ñ€Ð¸Ð½Ñ�Ñ‚)rç   r�   rA   r    r~  rÜ   rÞ   rß   rà   rá   r<   r•   rŽ  rñ   rò   r8   r“  )rC   rZ  rì   rƒ  rõ   r–  s         r   r‰   z%TelegramClient._submit_cloud_passwordœ  sè  è ø€ Ø×!Ñ!Ó#ˆØ×'Ñ'Ó)×)Ð)Ø×ÑÐ1Ò1ÜÐ!5°d×6FÑ6FÐ5GÐGaÐbÓcÐcà×)Ñ)Ø�L‰LÐ,Ó-Ø�L‰LÐ1Ó2ó
÷ 
ˆð ˆ=ÜÐNÓOÐOà�k‰k‹m×ÐØ�m‰m×!Ñ! +Ó.×.Ð.Ø�m‰m×!Ñ! +Ó.×.Ð.Ø×&Ñ& x°rÐ&Ó:×:Ð:Ü�m‰m˜CÓ × Ð Ø×'Ñ'Ó)×)Ð)ä—>‘>Ó# bÑ(ˆÜ�n‰nÓ Ò)Ø×+Ñ+Ó-×-Ð-Ø×Ñ ;Ò.Ø"&�”ØØ×/Ñ/Ó1×1ˆEÙØ"'�”Ü" 5Ó)Ð)Ü—-‘- Ó$×$Ð$ô �n‰nÓ Ó)ô Ð?Ó@Ð@ð= 	*ùð
ùð 	ùØ.ùØ.ùØ:ùØ øØ)øð .øð 2øð %úsË   ‚$H+¦H§AH+ÂHÂ$H+Â+HÂ,"H+ÃHÃ"H+Ã1HÃ2H+ÄHÄH+Ä)H!Ä*H+ÅH#ÅAH+ÆH%Æ.H+Æ6H'Æ70H+Ç'H)Ç(H+ÈH+ÈH+ÈH+ÈH+ÈH+ÈH+È!H+È#H+È%H+È'H+È)H+c              ƒ  ó¾  K  — | j                  «       }|j                  dt        ¬«      }	 |j                  «       ƒ d {  –—† dkD  rG|j                  j                  «       ƒ d {  –—† r%|j                  j                  d¬«      ƒ d {  –—†  y |j                  j                  d«      ƒ d {  –—†  y 7 Œr7 ŒO7 Œ-# t        $ r t        j                  d«       Y ŒJw xY w7 Œ/­w)Nr­   r&  r   iˆ  r-  u9   ÐšÐ½Ð¾Ð¿ÐºÐ° Next Ð½Ðµ Ð½Ð°Ð¶Ð°Ñ‚Ð°, Ð¿Ñ€Ð¾Ð±ÑƒÐµÐ¼ EnterrÛ   )rç   r(  ÚNEXT_BTN_RErâ   r1  rI  rÞ   r~   rj   rG  rß   rà   )rC   rì   Únxts      r   rŽ  z#TelegramClient._click_next_or_enter¾  s¸   è ø€ Ø×!Ñ!Ó#ˆØ×Ñ˜x¬kÐÓ:ˆð	VØ—Y‘Y“[×  1Ò$¨s¯y©y×/CÑ/CÓ/E×)EÐ)EØ—i‘i—o‘o¨e�oÓ4×4Ð4Øð �m‰m×!Ñ! 'Ó*×*Ñ*ð !øÐ)EøØ4ùäò 	VÜ�L‰LÐTÖUð	Vúà*úsh   ‚(C«B7 ¾B1¿$B7 Á#B3Á$#B7 ÂB5ÂB7 ÂCÂ+CÂ,CÂ1B7 Â3B7 Â5B7 Â7CÃCÃCÃCc              ‡  óð   K  — |D ]Z  }	 |j                  «       ƒ d {  –—† }t        |«      D ]1  }|j                  |«      }|j                  «       ƒ d {  –—† sŒ-|c c S  Œ\ y 7 ŒF7 Œ# t        $ r Y Œmw xY w­wrF   )râ   r	  r
  rI  r~   )rC   rs  rú   râ   r  rt  s         r   r~  zTelegramClient._first_visibleÉ  s~   è ø€ Øò 	ˆCðØ!Ÿi™i›k×)�Ü" 5›\ò $�EØŸ7™7 5›>�DØ!Ÿ_™_Ó.×.Ñ.Ø#œñ$ð	ð ð *øð /ùäò Ùðüs\   ‚A6‰A'œA#�6A'ÁA%ÁA'ÁA'ÁA6ÁA'Á A6Á#A'Á%A'Á'	A3Á0A6Á2A3Á3A6c              ƒ  óŒ  K  — | j                  «       }|j                  d«      }	 |j                  «       ƒ d {  –—† }t        t	        |d«      «      D ]X  }|j                  |«      }|j                  «       ƒ d {  –—† sŒ-|j                  «       ƒ d {  –—† j                  «       }|sŒV|c S  	 y 7 Œv7 Œ77 Œ # t        $ r Y y w xY w­w)Nz2.error, .input-error, .FormError, [class*='error']r   )
rç   rÜ   râ   r	  rl  r
  rI  r   r$   r~   )rC   rì   rú   râ   r  rt  r/   s          r   r“  zTelegramClient._auth_error_textÕ  s·   è ø€ Ø×!Ñ!Ó#ˆØ�l‰lÐOÓPˆð
	ØŸ)™)›+×%ˆEÜœs 5¨"›~Ó.ò  �Ø—w‘w˜u“~�Ø!Ÿ_™_Ó.×.Ð.ØØ"Ÿo™oÓ/×/×6Ñ6Ó8�ÚØ’Kñ ð ð &øð /øà/ùô ò 	Ùð	üso   ‚"C¥B5 ¸B/¹A B5 Á9B1Á:B5 ÂB3ÂB5 Â(B5 Â+CÂ,B5 Â.CÂ/B5 Â1B5 Â3B5 Â5	CÂ>CÃ CÃCc              ƒ  óÈ  K  — | j                   €y | j                   j                  d«      }	 | j                   j                  t        j                  dt        j
                  ¬«      ƒ d {  –—†  |j                  dd¬«      ƒ d {  –—†  y 7 Œ 7 Œ# t        $ r }t        j                  d|«       Y d }~nd }~ww xY w	 | j                   j                  t        j                  d¬	«      j                  j                  d
¬«      ƒ d {  –—†7   |j                  dd¬«      ƒ d {  –—†7   y # t        $ r0}t        |«      | _        t        j                  d|«       Y d }~y d }~ww xY w­w)NrÑ   r^   r_   rÒ   rÓ   rÔ   uJ   ÐŸÐµÑ€ÐµÑ…Ð¾Ð´ Ð¿Ð¾ URL Ñ‡Ð°Ñ‚Ð° Ð½Ðµ Ð¾Ñ‚ÐºÑ€Ñ‹Ð» Ð¿Ð¾Ð»Ðµ Ð²Ð²Ð¾Ð´Ð°: %sF)Úexacti'  r-  u)   Ð§Ð°Ñ‚ Ð±Ð¾Ñ‚Ð° Ð½Ðµ Ð¾Ñ‚ÐºÑ€Ñ‹Ð»Ñ�Ñ�: %s)r;   rÜ   rz   rf   ÚCHAT_URLr|   rÝ   r~   rj   ró   ré   Ú	BOT_TITLEr1  rÞ   rt   r8   )rC   rJ  r�   s      r   r‚   zTelegramClient._open_bot_chatå  s4  è ø€ Ø�:‰:ÐØØ—:‘:×%Ñ%Ð&>Ó?ˆð		nØ—*‘*—/‘/Ü—‘Ø-Ü×-Ñ-ð "ó ÷ ð ð
 ×#Ñ#¨)¸VÐ#ÓD×DÐDØðøð
 Eùäò 	nÜ�N‰NÐgÐil×mÑmûð	núð	MØ—*‘*×(Ñ(¬×)9Ñ)9ÀÐ(ÓG×MÑM×SÑSÐ\bÐSÓc×cÑcØ×#Ñ#¨)¸VÐ#ÓD×DÒDøÜò 	MÜ! #›hˆDŒOÜ�N‰NÐFÈ×LÑLûð	Müs•   ‚)E"¬=B Á)B
Á*B ÂBÂB Â	E"Â
B ÂB Â	B7ÂB2Â-E"Â2B7Â7E"Â;AD& ÄDÄD& ÄD"Ä D& Ä%E"Ä&	EÄ/&EÅE"ÅEÅE"c              ƒ  óö   K  — | j                   €y t        j                  j                  j	                  dd¬«       | j                   j                  t        t        j                  «      ¬«      ƒ d {  –—†  y 7 Œ­w)NTrM   rB  )r:   rf   ÚSTORAGE_STATEÚparentrh   Ústorage_statert   rB   s    r   rƒ   z"TelegramClient._save_storage_stateû  sX   è ø€ Ø�=‰=Ð ØÜ×Ñ×#Ñ#×)Ñ)°$ÀÐ)ÔFØ�m‰m×)Ñ)¬s´6×3GÑ3GÓ/HÐ)ÓI×IÒIús   ‚A/A9Á1A7Á2A9c              ƒ  ó8  K  — | j                   €y t        j                  dz  }| j                   j                  d«      }|j	                  «       ƒ d {  –—† }d}d}t        |«      D ]S  }|j                  |«      j                  «       ƒ d {  –—† }|€Œ-t        |d   «      t        |d   «      z  }||kD  sŒP|}|}ŒU |dk\  r8|dk\  r3|j                  |«      j                  t        |«      ¬	«      ƒ d {  –—†  y | j                  d«      ƒ d {  –—†  y 7 ŒÀ7 Œ‰7 Œ#7 Œ­w)
Nzqr.pngÚcanvaséÿÿÿÿg        rS   rT   r   i   rB  )r;   rf   ri   rÜ   râ   r	  r
  Úbounding_boxÚfloatrE  rt   r–   )	rC   Úqr_pathÚcanvasesrâ   Ú
best_indexÚ	best_arear  rã   Úareas	            r   rŠ   zTelegramClient._save_qr  s  è ø€ Ø�:‰:ÐØÜ—/‘/ HÑ,ˆØ—:‘:×%Ñ% hÓ/ˆØ—n‘nÓ&×&ˆØˆ
Øˆ	Ü˜5“\ò 	#ˆEØ Ÿ™ UÓ+×8Ñ8Ó:×:ˆCØˆ{ØÜ˜˜W™Ó&¬¨s°8©}Ó)=Ñ=ˆDØ�iÓØ �	Ø"‘
ð	#ð ˜Š?˜y¨GÒ3Ø—,‘,˜zÓ*×5Ñ5¼3¸w»<Ð5ÓH×HÐHØØ×Ñ˜xÓ(×(Ñ(ð 'øð ;øð Iøà(úsN   ‚ADÁDÁ8DÂ
DÂ)DÂ5=DÃ2DÃ3DÄDÄDÄDÄDÄDc              ƒ  ó  K  — | j                   €t        d«      ‚t        j                  |z  }t        j                  j	                  dd¬«       | j                   j                  t        |«      d¬«      ƒ d {  –—†  |S 7 Œ­w)NrÐ   TrM   F)rC  Ú	full_page)r;   r    rf   ri   rh   rE  rt   )rC   r¢   rC  s      r   r–   zTelegramClient._screenshot  sm   è ø€ Ø�:‰:ÐÜÐIÓJÐJÜ�‰ Ñ%ˆÜ�‰×Ñ d°TÐÔ:Ø�j‰j×#Ñ#¬¨T«¸eÐ#ÓD×DÐDØˆð 	Eús   ‚A5B Á7A>Á8B c              ƒ  ó¨   K  — 	 | j                   �| j                  |«      ƒ d {  –—†  y y 7 Œ# t        $ r t        j	                  d|«       Y y w xY w­w)Nu!   Ð¡ÐºÑ€Ð¸Ð½ %s Ð½Ðµ Ð·Ð°Ð¿Ð¸Ñ�Ð°Ð½)r;   r–   r~   rj   rG  r¡   s     r   r€   zTelegramClient._safe_screenshot  sQ   è ø€ ð	DØ�z‰zÐ%Ø×&Ñ& tÓ,×,Ñ,ð &Ø,ùÜò 	DÜ�L‰LÐ<¸dÖCð	Düs1   ‚A„ - ¤+¥- ©A«- ­AÁAÁAÁAN)ÚreturnÚNone)r¹  Úbool)r¹  rt   )rc   )r¢   rt   r¹  r   )Úinn)r«   rt   r¬   rt   r¹  údict[str, object])r/   rt   r¹  rº  )rk  )rô   r°  r¹  rº  )rù   rt   r¹  r»  )rÇ   r  r¹  ú
str | None)r   rw  )rù   r  rÇ   r  rô   r°  r¹  rº  )r   )r«   rt   rÈ   r  rÇ   r  r¹  r  )r¨   r»  r¹  r  )r/   rt   r  r  r¹  r  )r  rt   r  zint | str | Noner¹  rt   )r¨   r»  r  r  r  rt   r¹  r  )rù   rt   )rù   rt   r¹  rt   )rù   rt   r¹  rº  )rù   rt   r¢   zstr | re.Pattern[str]r¹  rº  )r   )r©   rt   r¹  rt   )r®   rt   r¹  r½  )r2   rt   r¹  rt   )rW  rt   r¹  rt   )rZ  rt   r¹  rt   )r¹  r   )r   rt   r¹  rt   )r2   rt   r¹  rº  )rW  rt   r¹  rº  )rZ  rt   r¹  rº  )r¹  r¾  )r¢   rt   r¹  rº  )?Ú__name__Ú
__module__Ú__qualname__Ú__doc__rD   ÚpropertyrG   rI   rK   rq   r�   rœ   r£   r¥   rÎ   rå   rí   r¶   rû   rÿ   r  r¸   r·   r  r¹   r  r÷   r½   rÀ   r»   rÂ   rÄ   rµ   r´   rO  rR  rX  r[  rç   r�   r_  rè   r}   rn  r„   rz  r„  r…   r‡   r�  rU  r  r”  rV  r‰   rŽ  r~  r“  r‚   rƒ   rŠ   r–   r€   re   r   r   r5   r5   f   sn  „ Ùqó)ð ò8ó ð8ð òó ðð ò ó ð óEYóN$ó!'ôF0ó&ô;óz5ó EôEó
óô	bôó4ó^óó

ó&Oó
0ó!ó7ô%jóN%óN	$ó[ó#ó$ó$ó$óó

)ó"óHó%ò"ó&_ó>óó"(2óT*ó(Ió0ó2óHó#aóJ AóD	+ò
óó Mó,Jó)ó,ôDr   r5   )r   rt   r¹  r¾  )r,   z	list[str]r¹  r½  )*Ú
__future__r   r<   Úloggingrn   r   rñ   Úpathlibr   Úplaywright.async_apir   r   r   r   rf   Ú	getLoggerr¿  rj   rs   r€  r¾   r�  r0  rf  rg  r   r›  re  ÚCODE_HEADING_RErd  rÁ   r4  rL  rº   r¼   rê   r%   r*   r+   r   r3   r5   re   r   r   ú<module>rÊ     sÉ  ðÝ "ã Û Û 	Û 	Û Ý ç SÓ Sã à	ˆ×	Ñ	˜8Ó	$€ò€ð �—
‘
Ð1Ó2€Ø�—‘ÐNÐPR×PTÑPTÓU€ØˆR�Z‰ZÐRÓS€
Ø�—‘Ø`Ø‡D�Dó€ð ˆb�j‰jÐ/°·±Ó6€Ø�—‘ÐfÐhj×hlÑhlÓm€Ø�2—:‘:ØYØ‡D�DóÐ ð �"—*‘*Ø*Ø‡D�Dó€ð !�b—j‘jØ?Ø‡D�DóÐ ð �2—:‘:ÐGÓHÐ Ø�—
‘
Ð5Ó6€Ø�"—*‘*Ð7Ó8€ØN€Ø;Ð Øˆb�j‰jÐMÈrÏtÉtÓT€Øˆ2�:‰:ÐBÀBÇDÁDÓI€Ø	ˆ�‰Øhó
€ð ˆb�j‰jÐ3Ó4€ó	ó<÷B~Dò ~Dr   