
    ;3h                         d dl Z d dlZd dlZd dlm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 dedefdZedk(  r ed	d
      Zej)                          yy)    N)	signature)	SketchBox)ai
get_header	set_kwargapp_fileconfig_filec                 0    !"#$%&' t         j                  j                         }t         j                  j                  t         j                  j                               }i g d%t        j
                  ddit        j                  ddit        j                  ddiit        j                  t        j                  t        j                  t        j                  t        j                  g&g t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                   t        j"                  t        j$                  t        j&                  t        j(                  t        j*                  t        j,                  t        j.                  t        j0                  t        j2                  t        j4                  t        j
                  t        j6                  t        j8                  t        j:                  t        j<                  t        j                  t        j>                  t        j@                  t        j                  t        jB                  t        jD                  t        j                  t        j                  t        jF                  t        jH                  fdd*fd	fdd 't	        jJ                         5 }t	        j                  d	      }g i g }d	}t	        j                  d
      "t	        j                  |      $t	        j                        t	        j                  |      t	        j                        !t	        j                  |g      t	        j                  d       #t	        j                  d      }t	        j                  tM        jN                         xs t        jP                  d             t	        j                  dd	dd      t	        jR                         5 }	t	        jT                  "$# gd       !"#$%&'fd       }
d d d        t	        jV                         5  t	        j                  d|z   dz   |z   dz          jU                          t	        j                  ddd	      }t	        j                  ddd	dtX        jZ                  j]                  d            }d d d        t	        jT                  !|#"gd      !"#f	d       }t	        jR                  dd      5 }t	        j                  d       t	        jT                  gd      "#fd        }d! }j_                  |"#|g       t	        j                  d"       t	        j$                  d#dd$      }t	        j`                  !g|d%      d&        }d d d        j_                  |g||"	gd%       fd'       }|j_                  d |d()       d d d        |S # 1 sw Y   xY w# 1 sw Y   IxY w# 1 sw Y   jxY w# 1 sw Y   S xY w)+N)everyinputsrenderkeytypefilepathmessagesc                 T    D cg c]  }|j                   | k(  s| c}d   S c c}w )Nr   )__name__)name	componentall_component_lists     Q/var/www/html/audio-gradio/venv/lib/python3.12/site-packages/gradio/sketch/run.pyget_component_by_namez%create.<locals>.get_component_by_nameE   s6    '9
#Y=O=OSW=WI

 	 
s   %%c                     | }t        | t              r|d   t        |       k  r| |d      nd }t        |      dkD  r ||dd  |      \  }}}|||fS )Nr      )
isinstancelistlen)_slotigpparenttargetget_boxs        r   r#   zcreate.<locals>.get_boxJ   sc     *5$ 7AaD3u:<MqtSWq6A:!(12!?B66!!    c           	          ||      \  }}}t        |t              r|g}|r|||d   <   |j                  |d   |       j                  | i       j	                         }	| j
                  |	dg||<   | j
                  j                         }
|D cg c]
  }||   d    }}|
}d}||v r|
dz   t        |      z   }|dz  }||v r|||   d<   |||d||dz   t        j                  d	      fS c c}w )
N    _r   modify_componentT)interactive)
r   intinsertgetcopyr   lowerstrgrButton)r   layout
componentsdependencies	add_indexnew_component_idr    r!   r*   default_kwargscomponent_namer   existing_namesvar_namedefault_kwargs_mapr#   s                 r   add_componentzcreate.<locals>.add_componentQ   s.     	2FAfc"XF$*9R=!im%56+//	2>CCE(1(:(:NB'O
#$"++1134>?q*Q-*??!.(%+c!f4HFA .( +3
#$Q' q II$'
 	
 @s   C-c                     	 t        j                  |        t        j
                  dd       | S # t        $ r}t        j                  d      |d }~ww xY w)NzInvalid Hugging Face token.zToken set successfully.r)   duration)hubloginBaseExceptionr3   ErrorSuccess)tokenerrs     r   set_hf_tokenzcreate.<locals>.set_hf_tokenp   sP    	CIIe 	

,q9  	C((89sB	Cs   0 	AAAr   r?   FHF_TOKENz+ Add Function)scaler,   r   hiddenshow_progressc                   +,-./0123 | dk(  rt              dk(  rd} dg| dk(  r*t        j                  d       t        j                  d       | dk(  rt        j                  d       t              dk(  rt        j                  d       nt        j                  d       AD ]D  }t        j                  |j                  d	
      j                  |f4fd	<<79=>?5g       F t        j                  6D cg c]  }|j                   c}ddd      }|j                  4:fd|<g<79=>?5g       | dk(  ro   \  }	}
3t        j                  d       t        j                  3d      }fd}t        j                  |j                  |j                  g||7       t        j                  d        :|	      }t        t        |j                        j                  j!                               dd  }|D ]  }|@v r|
j#                  |d      }t        j                  ||d|	j%                          d|	j%                          d|j%                         j'                  dd       d      }|ffd	}t        j                  |j                  |j                  g||7        | dk(  r%   ..\  },-3}}t        j                  d        t        j                  3d!      }.fd"}t        j                  |j                  |j                  g||9       t        j                  d#       sDt        j                  d$d%d&'      }t        j                  d(d	
      }|j                  B|;       nd)1d*/t        |      dkD  }t        j                  d+d,|r/n1d-      }t           d         dt           d.         z   cxk(  xr dk(  nc }|rt        j                  d/       d00d12t        j                  |r2n0d	| 2      }t        j                  d3d	|4      },D cg c]
  }|   d.    c}+-D cg c]
  }|   d.    }}||n-t)        3+       d5d6j+                  |D  cg c]  } d7 c}        }t        j,                  |d8d9:      }!t        j                  d;d	
      }"t        j.                  |d<=      }#,-:3fd>}$d?t        t0        t2        t2        f      d@t2        dAt2        f/2fdB}%|j                  |$||#g|!      j5                  |%|#||!g|#|||gdCD       +013fdE}&|j                  |&9>g|!||||#9g       8.3fdF}'|"j                  |'|#|!g9       t        j                  dGdHd	I      }(|(j                  dJ d =>g       t        j                  dKdLd	I      })fdM}*|)j                  |*d 9=>g       y y c c}w c c}w c c}w c c} w )NNdefaultr   r?   z## Placementz)Click on a '+' button to add a component.z## Selectionz Select first component to place.z+Select component to place in selected area.mdsizec                      ||       S N )_layout
_component
_add_index_components_dependencies_new_component_idr?   s     r   <lambda>z0create.<locals>.render_sidebar.<locals>.<lambda>   s    - * ' + - * 1C r$   TzOther Components...)	containerlabelr,   c                 *      |       |      S rV   rW   )rY   rX   rZ   r[   r\   r]   r?   r   s     r   r^   z0create.<locals>.render_sidebar.<locals>.<lambda>   s#    M1*=#')&-5 r$   r+   zT## Configuration
Hover over a component to add new components when done configuring.zVariable Name)r`   c                     |    d<   S )Nr)   rW   )r   r[   
_modify_ids    r   set_var_namez4create.<locals>.render_sidebar.<locals>.set_var_name   s    59J/2**r$   zQSet args below with python syntax, e.g. `True`, `5`, or `["choice1", "choice2"]`.r   r(   z,<a href='https://www.gradio.app/docs/gradio/z#param--r*   z' target='_blank'>docs</a>)r`   infoc                 .    t           d   ||        S )Nr   )r   )valueargr[   rc   s     r   set_argz/create.<locals>.render_sidebar.<locals>.set_arg  s    %k*&=a&@#uM#..r$   modify_functionz## Event ListenerszFunction Namec                     | d<   S )N   rW   )r   r\   deps    r   set_fn_namez3create.<locals>.render_sidebar.<locals>.set_fn_name  s    !%A,,r$   zvMark the components in the diagram as inputs or outputs, and select their triggers. Then use the code generator below.zHF TokenzNeeded for code generation. Copy from [HF Token Page](https://huggingface.co/settings/token). Token requires access to inference providers.password)r`   rf   r   zSubmit Tokenz%Describe what the function should do.zMDescribe how to change the code generation. Click 'Reset Code' to start over.Promptrm   )r`   linesplaceholderr,   r)   z6Set **all inputs and outputs** before generating code.zGenerate CodezUpdate Code)rT   r,   z
Reset Code)rT   visiblez
    ...
    return , ...   python)rr   languagez	Save CodeFrt   c              3      K   t        || d ggz   D cg c]  }|   d    |   d         |   d   f! c}D cg c]  } |   d         |   d   f c}      E d {    y c c}w c c}w 7 w)Nr)   r   r   )r   )	_prompt_historycr[   	_hf_token_inputs_outputsr   r=   s	      r   generatez0create.<locals>.render_sidebar.<locals>.generatea  s     ') (WdO+< < ) ( .5!" )*	 )4Aq(9(=k!nQ>O(P(3Aq(9%&!" .6!"
 )* )>k!nQ>O(P(3Aq(9%&!"(  !"!"s'   A9$A-A9 A2
A9'A7(A9historypromptcodec                     | j                  ||f       | t        j                  d      t        j                  d      t        j                        fS )NTrz   r(   )rh   rs   )appendr3   r4   Textbox)r   r   r   edit_prompt_placeholderupdate_generate_texts      r   append_to_historyz9create.<locals>.render_sidebar.<locals>.append_to_historyw  sO     $NNFD>: ' "		$ 7 "

*,:Q!" !#		*> ?$ r$   rM   rN   c                     g | |   d<   d | |   d<   t              t        j                  d      t        j                        t        j                        g | fS )Nrw      Frz   )rs   )r   r3   r4   r   )r\   rc   __inputsnew_generate_textnew_prompt_placeholderr=   s     r   
reset_codez2create.<locals>.render_sidebar.<locals>.reset_code  sa    ;=M*5a8;?M*5a8 *8X > "		% 8 "

7M N "		*; < " -$ r$   c                 0   	 t        |       vrt        j                  d d      t	        |       dk(  rg n| d d | d   d   |ggz   d<   |d<   t        j
                  dd	
       S # t        $ r}t        j                  d|       |d }~ww xY w)NzError saving function: z
Function 'z' not found in code.r   r'   rw   r   zFunction saved.r)   rA   )execrE   r3   rF   r   rG   )r}   _codeer\   created_fns_namespacern   r=   s      r   	save_codez1create.<locals>.render_sidebar.<locals>.save_code  s    U $U,A B  (/DD&(hh&0
:N$O'" !"
 $'x=A#5 !#%-cr]x|A6N5O%O  F
 &+CFJJ'81E#00 $1 U&(hh1H/L&MST TUs   A. .	B7BBDoneprimary)variantrT   c                  
    dd gS NrQ   rW   rW   r$   r   r^   z0create.<locals>.render_sidebar.<locals>.<lambda>  s    D 1 r$   zDelete Functionstopc                       =  dd fS r   rW   )r\   rc   s   r   del_functionz4create.<locals>.render_sidebar.<locals>.del_function  s    )*5,i==r$   )r   r3   Markdownr4   r   clickDropdownchanger   onblursubmitr   r   __init__
parameterskeysr/   r1   replacer   joinCodeJSONtupler2   then)C_moderZ   r]   r[   r\   rc   r   r   any_component_searchr;   kwargsvar_name_boxrd   	argumentsri   	arg_valuearg_boxrj   	_triggersr}   r   function_name_boxro   input_hf_tokensubmit_token_btnhistory_existsr   no_components_are_setgenerate_code_btnreset_code_btnr~   	__outputsr*   fn_codesave_code_btnr   r   r   r   r   done_function_btndel_function_btnr   r   r   r   rn   r   r   r   r   r=   r?   
add_fn_btnr   r6   r   r7   r   hf_tokenr5   mode	modify_idr9   nonconfigurable_paramsquick_component_listrJ   sC    ``````                                    @@@@@@@@@r   render_sidebarzcreate.<locals>.render_sidebar   s   * I%#k*:a*?+E"#JI%KK/KK KLO+KK/;'1,$FG$QR%9 			)"4"44@FF7@   # & * , $ ) 0 *, ,.;;=OP	++P"&3$(	,( )//  .v6"&( %,&( ..7B:7N4NFHKKo $&::ho#NL+ EE%**L,?,?@$$"	 KKk !6n EI $Yy/A/A%B%M%M%R%R%T U!I  ) "88$$*JJsB$7	"$**%"%#OP^PdPdPfOggno}  pD  pD  pF  oG  GH  IL  IR  IR  IT  I\  I\  ]`  be  If  Hg  gA  "B# 03 / $\\7>>:GWj" --'
3CNQKIw(HeKK 45(*

8?(S%- EE*//1B1I1IJ#)$	 KK Q %)+", "o!+*
 ,.99^$+O((..|^XV1X. 3B/),X):!#"*"#- )@!7(,"  j 9! <= 3}Z'@'C#DD! ! .
 1KK X -<)/<,,.II- 1!2!%,A(A-) *,(t^* @G#G!KN1$5#G@H$I1[^A%6$I	$I  %0 "&08&D%E FIIi0u012"6  #%''%q8"L(*		+D(I"$''(E"B ,%)%S/%:DGOR *//$vw&7$-$fg6$nf>OP*2	  
 ',,&)95 ' . & 1 ' ,1$ &++I7I<X(*		&)RV(W%%++14$	9J (*yy)6($> %**$d\4,Kc .K QH $H$I 1s   W*W/W4	W9z## Sketching '/'Save & Renderr   )r   rL   zDeploy to Spaces   zhuggingface-logo.svg)rt   rL   	min_widthiconc                   	 g i |dk(  d f	d	 | dg        D ]:  \  }}|fdt         j                  ffd}|j                  |!#g!"#g       < rӉD ]  ^}	}
}}}}|	D cg c]  \  }}t        |   |       }}}|
D cg c]  }|   	 }}|D cg c]  }|   	 }}|r	 t        j                  ||   ||       nt        |      }|dkD  rt        j                         g|z  n|dk(  rt        j                         nd fd}t        j                  ||||        y y c c}}w c c}w c c}w # t
        $ r Y w xY w)	Nrk   r   c                 F  	 |rt        j                         nt        j                         }|5  t        |       D ]1  \  }}||gz   }t	        |t
              rKr || ||dz          n8t        d      5 } || ||dz          d d d        j                  |f       h|   \  }	}
} |	      }r |d	i |
|<   r4   d   D cg c]  \  }}||k(  r| }}}|   d   v }|   d   v }nd }d}d}t        |j                  j                         ||k(  xr  t        |d      r|j                  nd |||      5 } |d	i |
 d d d        j                  |f       4 	 d d d        y # 1 sw Y   xY wc c}}w # 1 sw Y   ;xY w# 1 sw Y   y xY w)
Nr   T)is_containerfunction_moder   r)   FEVENTS)component_typer=   activer   
event_listis_input	is_outputtriggersrW   )r3   ColumnRow	enumerater   r   r   r   r   r1   hasattrr   )slot	is_columnindexdepthr_   r   element
this_indexboxr;   r   r=   r   r~   tr   r   r   r[   r\   rc   boxesr   r   render_slotrendered_componentssaveds                     r   r   z(create.<locals>.app.<locals>.render_slot  s   +4BIIK"&&(	 /<&/o .<
7%*aS[
%gt4$ +$+]JPQ	!" &/15]&" !&%($/(/Y
ETUI%&!& !&c:-> ?$;Fw;O8$9.$I	 ;D;Nv;N/8, 1>j0I!0L,"(,1'(G| %&," ,"
 ,3mJ6OPQ6R+R,3}Z7PQR7S,S	+/+0,1	!*/8/A/A/G/G/I)1'1W'<'R]AR.;#*9h#? ,5+;+;%))1*3)1" 4 "% ) 3F 34 "LL#z):;].</< /<!& !&,"4 4E/< /<sJ   AF6E9AFF
A)F	FF9F>FFFF Tdatac                 >   |j                   dv rt        |      dz  dk(  r_|j                   dk(  r|dxx   dz  cc<   n|j                   dk(  r|j                  d       n|j                   dk(  rp|j                  d       n^|j                   dk(  r|dxx   dz  cc<   nA|j                   d	k(  r|j                  d       n |j                   dk(  r|j                  d       | |d
|d fS |j                   dk(  r/fd | |       t        |       dk(  r	| |d
dgd fS | |dg d fS |j                   dk(  r | |      ^ }}| |dd |fS |j                   dv rT | |      ^ }}||   |j                   dk(  rdnd   }||v r|j                  |       n|j                  |       | |dd |fS |j                   j	                  d      rX | |      ^ }}|j                   dd  }	||   d   }
||	f|
v r|
j                  ||	f       n|
j                  ||	f       | |dd |fS y )N)updownleftrightr)   r   r   r'   r   r   r   r   r?   deletec                      | |      \  }}}|j                  |       t        |t              r|= t        |      dk(  rt        |      dkD  r | |d d        y t        |      dk(  r|r|d   ||d   <   y y y )Nr   r   r'   r&   )remover   r-   r   )rX   r   r    r!   r"   r[   delete_indexr#   s        r   r   z=create.<locals>.app.<locals>.box_action.<locals>.delete_index7  s    18%1H.B"MM&1)&#6$/$7"6{a/CJN ,WeCRj A!$V!1b06q	59 79!1r$   rQ   modifyr+   )inputoutputr   rk   zon:rm   )rh   r   r   r   
startswith)rX   r[   r\   rc   r   r   r*   r"   component_listeventr   r   r#   s    `         @r   
box_actionz'create.<locals>.app.<locals>.box_action  s|    zz%DDu:>Q.#zzV3 %b	Q	!%v!5 %Q!%w!6 %Q!ZZ72!"INI!ZZ4/!LLO!ZZ61!LLO#')+!    zzX-	: %We4w<1, ' + - /!" $$  !( + - ) " $$  zzX-%,We%<
F#'). "   zz%88%,We%<
F)6z)B!%w!6AA* "^3*11&9*11&9#')- &   zz,,U3%,We%<
F $

12#0#<Q#?"E?h6$OOVUO<$OOVUO<#')- &   4r$   c                  H    t        d       t        j                  d       S )Nsleepingr   )printtimesleep)r*   	fn_outputs    r   r  z"create.<locals>.app.<locals>.sleep  s    !*- JJqM#,,r$   r   )r3   
SelectDataselectgetattrr   	Exceptionr   skip)$rX   r[   r\   r   rc   r   r   r   r   r   r   outputsfn_namer*   r   r~   r   rendered_triggersrendered_inputsrendered_outputsoutput_countr  r   r  r   r   r   r8   r6   r   r7   r#   r   r5   r   r   s$    ````                 @@@@@r   appzcreate.<locals>.app  s   
 E"$!%66M1< 1<f r*# p
U  h
 --hT 

ZyAZtY	RYpd DQ !@HfgwDGO)?Cq! 3A 6:)% ) HN&N!':1'=&NO&NHO'P1(;A(>'P$'P!EE 1 5g > / 0	 (++;'<  ,a/  WWYK,6  ,q0 "$!% "-
 -uoGW?! ) 'O'P  ) ! !s$   >EE0EE	EEr   )positionopenz## Functionsc                     t        |       D ]9  \  }}t        j                  |d   d      }|fd}|j                  |g       ; y )Nrm   rR   rS   c                 
    d| fS )Nrk   rW   )r   s    r   load_fnz,create.<locals>.render_deps.<locals>.load_fn  s    0!33r$   )r	  )r   r3   r4   r   )r\   r   rn   fn_btnr  r   r   s        r   render_depszcreate.<locals>.render_deps  sP    '6 EFAsYYs1vD9F"# 4 LL42CLDEr$   c           	          | j                  g g g dt        |       dz    g d g       | dt        |       dz
  t        j                  d      fS )Nfn_r   rk   Tr  )r   r   r3   Sidebar)r\   s    r   add_fnzcreate.<locals>.add_fn  s]    $$R3s='9A'=&>!?TJ "%&*JJD)	 r$   z## Generated Filerx   )ry   r,   
show_label)r   r	  rO   c                    ddfd	 | dg        |D ]  }|d   D cg c]  \  }}|   d   dz   |z    }}}|d   D cg c]
  }|   d    }}|d   D cg c]
  }|   d    }}|d   }	|d	   |d	   j                  d
d      }
n7d|	 ddj                  |       ddj                  |D cg c]  }d c}       }
dt        |      dk(  r|d   dz   nddj                  |      z   dz    ddj                  |       ddj                  |       d|
 d
	z   d dS c c}}w c c}w c c}w c c}w )Nr(   r   c                    t        |       D ]  \  }}||gz   }t        |t              r%d|z  dz   |rdndz   dz   z   || ||dz          A|   \  }}}	d|z  |	z   dz   |z   dz   z  t        |j                               D ]D  \  }\  }
}t        |t              rd	| d	j                  d
d      n|}|dk7  rdz  |
 d| z  F dz   y )Nz    zwith gr.r   r   z():
r   z = gr.("
z\nr   ru   =z)
)r   r   r   itemsr2   r   )r   r   r   r   r   r   r   r;   r   r=   kvr[   code_strrender_code_slots               r   r'  z5create.<locals>.render_code.<locals>.render_code_slot  s9   &/o *
7%*aS[
%gt4$ &",!-,558!E #*!*H - 'Y
EAI %;Fw;O8 "UNX5@>QTWW *36<<>)B 3IAv1 $.a#5 #$A3a 0 0u =%& 
  !Av (D 0$1#Qqc
2H3 !E)5*r$   Tr   r)   .rm   r   r!  z
    zdef r  ru   z):
        ...
        return rv   z
    @zgr.on([z], zinputs=[z], outputs=[z])
    z/import gradio as gr

with gr.Blocks() as demo:
z
demo.launch()r  )r   r   r   )rX   r[   r\   rn   r~   r   r   r   r	  r
  r   r*   r&  r'  s    `          @@r   render_codezcreate.<locals>.render_code  s    *< !$3( CHKAO1Aq 1C 7! ;OHO9<Q@Ak!nQ/@F@:=a&AQ{1~a0AGA!!fG1v)"%a&..x"@&*7)1TYYv5F4G H		'2Q5234#8  %x=A-hqkC9tyy?R3RUZ3Z[[cdhdmdmntducv  wC  DH  DM  DM  NU  DV  CW WI ! H   

 
  )  P@A 3s   D.D4 D96	D>c                    t        d      5 }|j                  |       d d d        t        d      5 }t        j                  d|       d d d        |  | rdndt	        j
                  |       t	        j
                  |        dt	        j                  |       t	        j                  | xr t        |      dkD        gS # 1 sw Y   xY w# 1 sw Y   xY w)	Nw)r5   r6   r   zEdit Sketchrz   rQ   r  r   )r  writejsondumpr3   r4   r  r   )r   r   depsfr[   rX   r   r	   s       r   savezcreate.<locals>.save	  s     h$ k3' 1		")&1  	#(m		%(		e),

&

 7#d)a-8   s   CCCCz(code) => {
                code = encodeURIComponent(code);
                url = `https://huggingface.co/new-space?name=new-space&sdk=gradio&files[0][path]=app.py&files[0][content]=${code}`
                window.open(url, '_blank')
            })fnr   jsrV   )1ospathbasenamedirnamer3   ImageAudioChatbotr   Numberr4   r   StateAnnotatedImageBarPlotBrowserStateCheckboxCheckboxGroupr   ColorPicker	DataframeDateTimer   FileGalleryHighlightedTextHTMLImageEditorr   LabelLinePlotModel3DMultimodalTextboxRadioSliderTimerVideoBlocksrC   	get_tokengetenvr  r   r   gradioutilsget_icon_pathr   r   )(r   r	   	file_namefolder_namedemo_idr\   r]   r   left_sidebarr   save_btndeploy_to_spaces_btnr  right_sidebarr  r  r   r)  r1  r[   rX   r?   r   r8   r   r6   r   r>   r7   r#   r   r   r5   r   r   r9   r   r   rJ   s(   ``                  @@@@@@@@@@@@@@@@@@@@r   creater`     s     *I''""277??8#<=KA
6:&
6:&


VZ( 	


		
		

"
" 	" 	

	"
 	" 			" 	

" 	" 	" 	" 	" 	" 	" 	" 	"  	

!"" 	#"$ 	%"& 	'"( 	)"* 	+", 	-". 	/"0 	1"2 	

3"4 	5"6 			7"8 	9": 			;"< 	="> 	

?"@ 	A"B 	C"H
"
> 
 {

hhqk xx(88$56XXk*
xx.'"HH/01	HHTN	88CMMODryy/DEYYA5

 ZZ\ r	\YY$  'd d ddr	h	 VVX 	KK(;6<yH3NOyy)1MH#%99"\\//0FG$ 	 
ZuiF"

N	 N		

N	` ZZu5 \	 KK'YY~X>E ?E	 |T9m&T KK+,77H%ERDUU
L9&
8 
8 I\	 | 
4.$ # 
 

	

	* 	"" 	# 	
g{

z Kr	 r	h		 	B\	  \	 g{

z KsY   'D2Z5Y%Z*BY2+AZ7BY?AZ%Y/	*Z2Y<	7Z?Z	ZZ__main__zapp.pyzapp.json)r-  r4  r   inspectr   huggingface_hubrC   rU  r3   gradio.utilsgradio.sketch.sketchboxr   gradio.sketch.utilsr   r   r   r2   r`  r   rZ  launchrW   r$   r   <module>rh     s^     	      - 9 9gS gs gT z(J'DKKM r$   