o
    -˜ŽjÙ	  ã                   @   sB   d dl mZ eddƒZdededefdd„Zd	edefd
d„ZdS )é    )ÚrandintÁ   C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5Bé   ÚaÚbÚreturnc                 C   s   |r|| | } }|s| S )N© )r   r   r   r   úR/var/www/kodo/Anonymous/send/lib/python3.10/site-packages/pyrogram/crypto/prime.pyÚgcd'   s   ÿr
   Úpqc                 C   sN  | d dkrdS t d| d ƒt d| d ƒt d| d ƒ}}}d } }}d }}|dkr…|}t|ƒD ]}	t|d| ƒ| |  }q3d}
|
|k r}|dkr}|}tt|||
 ƒƒD ]}	t|d| ƒ| |  }|t|| ƒ |  }qUt|| ƒ}|
|7 }
|
|k r}|dksJ|d9 }|dks-|| kr¥	 t|d| ƒ| |  }tt|| ƒ| ƒ}|dkr¤	 |S qŠ|S )Né   r   é   )r   ÚrangeÚpowÚminÚabsr
   )r   ÚyÚcÚmÚgÚrÚqÚxÚysÚ_Úkr   r   r	   Ú	decompose.   s:   .
ø
îùr   N)Úrandomr   ÚintÚCURRENT_DH_PRIMEr
   r   r   r   r   r	   Ú<module>   s   ÷