
    ;3h                        U d dl Z d dlZd dlZd dl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Zd dlmZ d dlmZ dZg Zed   ed<    ej(                         Zedk(  rd	Zned
k(  rdZd ej*                         j-                          dej-                          Zej0                  dk(  rdndZde de e Zdddddddddddddd d!d"Zd#Ze d$e Z e
e      d%z  d&z  Z eeez        Z d'Z!d(Z"d)Z# G d* d      Z$y)+    N)Path)HF_HOME)ChecksumMismatchErrorz0.3TunnelCURRENT_TUNNELSx86_64amd64aarch64arm64frpc__ntz.exe z-https://cdn-media.huggingface.co/frpc-gradio-/@14bc0ea470be5d67d79a07412bd21de8a0a179c6ac1116d7764f68e942dc9ceb@c791d1f047b41ff5885772fc4bf20b797c6059bbd82abb9e31de15e55d6a57c4@823ced25104de6dc3c9f4798dbb43f20e681207279e6ab89c40e2176ccbf70cd@930f8face3365810ce16689da81b7d1941fda4466225a7bbcbced9a2916a6e15@dfac50c690aca459ed5158fad8bfbe99f9282baf4166cf7c410a6673fbc1f327@4b563beb2e36c448cc688174e20b53af38dc1ff2b5e362d4ddd1401f2affbfb7@cb0a56c764ecf96dd54ed601d240c564f060ee4e58202d65ffca17c1a51ce19c@516d9e6903513869a011ddcd1ec206167ad1eb5dd6640d21057acc258edecbbb@4c2f2a48cd71571498c0ac8a4d42a055f22cb7f14b4b5a2b0d584220fd60a283@b309ecd594d4f0f7f33e556a80d4b67aef9319c00a8334648a618e56b23cb9e0@0372ef5505baa6f3b64c6295a86541b24b7b0dbe4ef28b344992e21f47624b7b@1658eed7e8c14ea76e1d95749d58441ce24147c3d559381832c725c29cfc3df3@a2aaba16961d3372b79bd7a28976fcd0f0bbaebc2b50d5a7a71af2240747960f@721b90550195a83e15f2176d8f85a48d5a25822757cb872e9723d4bccc4e5bb6@796481edd609f31962b45cc0ab4c9798d040205ae3bf354ed1b72fb432d796b8)zGhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_windows_amd64.exezAhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_amd64zAhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_arm64zBhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_darwin_amd64zBhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_darwin_arm64z?https://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_armzAhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_freebsd_386zChttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_freebsd_amd64z?https://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_386z@https://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_mipszBhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_mips64zChttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_riscv64zBhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_mipslezEhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_windows_386.exezDhttps://cdn-media.huggingface.co/frpc-gradio-0.3/frpc_linux_mips64le   _vgradiofrpc   zYCould not create share URL. Please check the appended log from frpc for more information:z.gradio/certificate.pemc                   p    e Zd Zdededededededz  fdZed	        Zd
efdZd Z	ded
efdZ
d
efdZy)r   remote_hostremote_port
local_host
local_portshare_tokenshare_server_tls_certificateNc                 t    d | _         d | _        || _        || _        || _        || _        || _        || _        y N)procurlr&   r'   r(   r)   r*   r+   )selfr&   r'   r(   r)   r*   r+   s          P/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/gradio/tunneling.py__init__zTunnel.__init__@   s@     	&&$$&,H)    c                     t        t              j                         st        t              j	                  dd       t        j                  t        d      } | j                  dk(  r t        dt        j                                | j                          t        t        d      5 }|j                  | j                         d d d        t!        j"                  t              }t!        j$                  t        |j&                  t"        j(                  z         t        t*        v rt-        j.                         t        t        d      5 t1        fd	d
      D ]  }j3                  |        	 d d d        j5                         }|t*        t           k7  r
t7               y y y # 1 sw Y   xY w# 1 sw Y   BxY w)NT)parentsexist_okr$   )timeouti  zCannot set up a share link as this platform is incompatible. Please create a GitHub issue with information about your platform: wbrbc                  H     j                  t        j                  z        S r-   )read
CHUNK_SIZE
block_size)fshas   r1   <lambda>z(Tunnel.download_binary.<locals>.<lambda>i   s    affZ#..5P.Q r3   r3   )r   BINARY_PATHexistsBINARY_FOLDERmkdirhttpxget
BINARY_URLstatus_codeOSErrorplatformunameraise_for_statusopenwritecontentosstatchmodst_modeS_IEXEC	CHECKSUMShashlibsha256iterupdate	hexdigestr   )respfilestchunkcalculated_hashr>   r?   s        @@r1   download_binaryzTunnel.download_binaryR   sg   K '')%%dT%B99Z4D3&SS[SaSaScRdf 
 !!# k4( )D

4<<()%BHH["**t||";<Y&nn&+t, *!%&QSV!W *

5)** #&--/"i
&;;/11 < '% *) )* *s   +F*'F6*F36F?returnc                 n    | j                          | j                  t              | _        | j                  S r-   )r`   _start_tunnelrA   r/   r0   s    r1   start_tunnelzTunnel.start_tunnelp   s)    %%k2xxr3   c                     | j                   Tt        d| j                   d| j                   d| j                          | j                   j                          d | _         y y )NzKilling tunnel :z <> )r.   printr(   r)   r/   	terminaterd   s    r1   killzTunnel.killu   sQ    99 ODOO#4Adoo5Fd488*UVII!DI !r3   binaryc                    t         j                  |        |dd| j                  dt        | j                        d| j
                  ddddd	| j                   d
| j                   dg}| j                  |j                  dd| j                  g       t        j                  |t        j                  t        j                        | _        t        j                  | j                          | j#                         S )Nhttpz-nz-lz-iz--ucz--sdrandomz--uez--server_addrrg   z--disable_log_colorz--tls_enablez--tls_trusted_ca_file)stdoutstderr)r   appendr*   strr)   r(   r&   r'   r+   extend
subprocessPopenPIPEr.   atexitregisterrj   _read_url_from_tunnel_stream)r0   rk   commands      r1   rc   zTunnel._start_tunnel{   s    t$ OO $"2"2!34!
" ,,8NN"+55 $$JOOJOO
	 			"0022r3   c                 "   t        j                          }g d}fd}|dk(  rt        j                          |z
  t        k\  r |        | j                  J | j                  j                  O| j                  j                  j	                         }|j                  d      }|dk(  rj                  |j                                d|v r2t        j                  d|      }| |        n|j                  d      }nd|v r |        |dk(  r|S )Nr   c                      dj                        } t        | t        j                         t	        t
         d|        )N
)r\   )joinrh   sysrp   
ValueErrorTUNNEL_ERROR_MESSAGE)log_textlogs    r1   _raise_tunnel_errorz@Tunnel._read_url_from_tunnel_stream.<locals>._raise_tunnel_error   s6    yy~H(, 45RzBCCr3   zutf-8zstart proxy successzstart proxy success: (.+)
   zlogin to server failed)timeTUNNEL_TIMEOUT_SECONDSr.   ro   readlinedecoderq   stripresearchgroup)r0   start_timestampr/   r   lineresultr   s         @r1   ry   z#Tunnel._read_url_from_tunnel_stream   s    ))+	D
 Riyy{_,0FF#%99(((yy'99##,,.D;;w'DrzJJtzz|$$,#@$G>') ,,q/C)T1#%1 Ri4 
r3   )__name__
__module____qualname__rr   intr2   staticmethodr`   re   rj   rc   ry    r3   r1   r   r   ?   s    II I 	I
 I I '*DjI$ 2 2:c 
3C 3C 3B%c %r3   )%rw   rV   rP   rJ   r   rQ   rt   r   r   pathlibr   rE   huggingface_hub.constantsr   gradio.exceptionsr   VERSIONr   list__annotations__machinesystemlowerBINARY_REMOTE_NAMEname	EXTENSIONrG   rU   r<   BINARY_FILENAMErC   rr   rA   r   r   CERTIFICATE_PATHr   r   r3   r1   <module>r      s     	  	   
    - 3
"$h $
(



hG	G_X__.4467q8IJ ggoF2	<WIQGYFZ[dZef
 PR JL JL KM KM HJ JL LN HJ IK KM LN KM NP MO	$ 
'(7)4W(61-/12 D 
 - B Br3   