
    wi                         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                                 dS dS )    N)	signature)	SketchBox)ai
get_header	set_kwargapp_fileconfig_filec                     !"#$%&' t           j                                       }t           j                            t           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          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          j        t          j        t          j#        t          j$        fdd*fd	fdd 't	          j%                    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          j'                    pt          j(        d                     t	          j
        dd	dd          t	          j)                    5 }	t	          j*        "$# gd           !"#$%&'fd            }
d d d            n# 1 swxY w Y   t	          j+                    5  t	          j        d|z   dz   |z   dz              *                                 t	          j
        ddd	          }t	          j
        ddd	dtX          j-        .                    d                    }d d d            n# 1 swxY w Y   t	          j*        !|#"gd          !"#f	d            }t	          j)        dd          5 }t	          j        d           t	          j*        gd          "#fd             }d! }/                    |"#|g           t	          j        d"           t	          j        d#dd$          }t	          j0        !g|d%          d&             }d d d            n# 1 swxY w Y   |/                    ||g|||"|	|gd%           fd'            }|/                    d |d()           d d d            n# 1 swxY w Y   |S )+N)everyinputsrenderkeytypefilepathmessagesc                 .      fdD             d         S )Nc                 *    g | ]}|j         k    |S  __name__).0	componentnames     a/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/gradio/sketch/run.py
<listcomp>z9create.<locals>.get_component_by_name.<locals>.<listcomp>F   s.     
 
 
#Y=OSW=W=WI=W=W=W    r   r   )r   all_component_lists   `r   get_component_by_namez%create.<locals>.get_component_by_nameE   s7    
 
 
 
'9
 
 

 	r   c                     | }t          | t                    r'|d         t          |           k     r| |d                  nd }t          |          dk    r ||dd          |          \  }}}|||fS )Nr      )
isinstancelistlen)_slotigpparenttargetget_boxs        r   r)   zcreate.<locals>.get_boxJ   s{     *5$ 7 7WAaD3u::<M<MqtSWq66A::!(122!?!?B66!!r   c           	           ||          \  }}}t          |t                    r|g}|r|||d         <   |                    |d         |                               | i                                           }	| j        |	dg|<   | j                                        }
fdD             }|
}d}||v r|
dz   t          |          z   }|dz  }||v ||         d<   ||d||dz   t          j	        d	
          fS )N c                 ,    g | ]}|         d          S    r   )r   r%   
componentss     r   r   z1create.<locals>.add_component.<locals>.<listcomp>^   s"    ???q*Q-*???r   r0   _r    modify_componentT)interactive)
r!   intinsertgetcopyr   lowerstrgrButton)r   layoutr1   dependencies	add_indexnew_component_idr&   r'   r2   default_kwargscomponent_nameexisting_namesvar_namer%   default_kwargs_mapr)   s     `           r   add_componentzcreate.<locals>.add_componentQ   sM     	22FAfc"" 	+XF +$*9R=!im%5666+//	2>>CCEE(1(:NB'O
#$"+1133????J???!.((%+c!ff4HFA .(( +3
#$Q' q I$'''
 	
r   c                     	 t          j        |            n'# t          $ r}t          j        d          |d }~ww xY wt          j        dd           | S )NzInvalid Hugging Face token.zToken set successfully.r0   duration)hubloginBaseExceptionr;   ErrorSuccess)tokenerrs     r   set_hf_tokenzcreate.<locals>.set_hf_tokenp   sl    	CIe 	C 	C 	C(899sB	C

,q9999s    
;6;r   rF   FHF_TOKENz+ Add Function)scaler4   r   hiddenshow_progressc                   )*+,-./01 | 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           ?D ]B}t          j        |j        d	
                              |f2fd	::57;<=3g           Ct          j        d 4D             ddd          }|                    28fd|:g:57;<=3g           | dk    rt         \  }	}
1t          j        d           t          j        1d          }fd}t          j	        |j
        |j        g||5           t          j        d            8|	          }t          t          |j                  j                                                  dd          }|D ]}|>v r|
                    |d          }t          j        ||d|	                                 d|	                                 d|                                                    dd           d          }|ffd	}t          j	        |j
        |j        g||5           | d k    rF         ,,\  }*+1}}t          j        d!           t          j        1d"          },fd#}t          j	        |j
        |j        g||7           t          j        d$           sFt          j        d%d&d'(          }t          j        d)d	
          }|                    @|9           nd*/d+-t          |          dk    }t          j        d,d-|r-n/d.          }t                   d                   dt                   d/                   z   cxk    odk    nc }|rt          j        d0           d1.d20t          j        |r0n.d	| 3          }t          j        d4d	|5          }fd6*D             )fd7+D             }||n1t)          1)           d8d9                    d: |D                        }t          j        |d;d<=          }t          j        d>d	
          } t          j        |d?@          }!*+81fdA}"dBt          t0          t2          t2          f                  dCt2          dDt2          f-0fdE}#|                    |"||!g|                              |#|!||g|!|||gdFG           )./1fdH}$|                    |$7<g|||||!7g           6,1fdI}%|                     |%|!|g7           t          j        dJdKd	L          }&|&                    dM d ;<g           t          j        dNdOd	L          }'fdP}(|'                    |(d 7;<g           d S d S )QNdefaultr   rF   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 Nr   )_layout
_component
_add_index_components_dependencies_new_component_idrF   s     r   <lambda>z0create.<locals>.render_sidebar.<locals>.<lambda>   s'    -- * ' + - * 1C C r   c                     g | ]	}|j         
S r   r   )r   r   s     r   r   z2create.<locals>.render_sidebar.<locals>.<listcomp>   s    PPP	+PPPr   TzOther Components...)	containerlabelr4   c                 6      |           |          S r]   r   )r_   r^   r`   ra   rb   rc   rF   r   s     r   rd   z0create.<locals>.render_sidebar.<locals>.<lambda>   s0    MM11*==#')&-5 5 r   r3   zT## Configuration
Hover over a component to add new components when done configuring.zVariable Name)rg   c                     |          d<   S )Nr0   r   )r   ra   
_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--r2   z' target='_blank'>docs</a>)rg   infoc                 B    t                   d         ||            S )Nr    )r   )valueargra   rj   s     r   set_argz/create.<locals>.render_sidebar.<locals>.set_arg  s%    %k*&=a&@#uMMM#..r   modify_functionz## Event ListenerszFunction Namec                     | d<   S )N   r   )r   rb   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)rg   rm   r   zSubmit Tokenz%Describe what the function should do.zMDescribe how to change the code generation. Click 'Reset Code' to start over.Promptrt   )rg   linesplaceholderr4   r0   z6Set **all inputs and outputs** before generating code.zGenerate CodezUpdate Code)r[   r4   z
Reset Code)r[   visiblec                 ,    g | ]}|         d          S r/   r   r   cra   s     r   r   z2create.<locals>.render_sidebar.<locals>.<listcomp>T  s"    #G#G#G!KN1$5#G#G#Gr   c                 ,    g | ]}|         d          S r/   r   r}   s     r   r   z2create.<locals>.render_sidebar.<locals>.<listcomp>U  s"    $I$I$I1[^A%6$I$I$Ir   z
    ...
    return , c                     g | ]}d S z...r   r   r2   s     r   r   z2create.<locals>.render_sidebar.<locals>.<listcomp>[  s    000u000r      python)ry   languagez	Save CodeFr{   c              3   ~   K   t          || d ggz   fdD             fdD                       E d {V  d S )Nc                 t    g | ]4}|         d           |         d                   |         d         f5S )r0   r   r    r   r   r~   ra   r   s     r   r   zDcreate.<locals>.render_sidebar.<locals>.generate.<locals>.<listcomp>f  s\     !" !" !" )*	 )4Aq(9(=(=k!nQ>O(P(P(3Aq(9%&!" !" !"r   c                 Z    g | ]'} |         d                    |         d         f(S )r   r    r   r   s     r   r   zDcreate.<locals>.render_sidebar.<locals>.generate.<locals>.<listcomp>n  sP     !" !" !"
 )* )>(=k!nQ>O(P(P(3Aq(9%&!" !" !"r   )r   )_prompt_historyra   	_hf_token_inputs_outputsr   rD   s     r   generatez0create.<locals>.render_sidebar.<locals>.generatea  s      ') (WdO+< < ) (!" !" !" !" !" .5!" !" !"!" !" !" !" !"
 .6!" !" !"( (         r   historypromptcodec                     |                      ||f           | t          j        d          t          j        d          t          j                  fS )NTr   r-   )ro   rz   )appendr;   r<   Textbox)r   r   r   edit_prompt_placeholderupdate_generate_texts      r   append_to_historyz9create.<locals>.render_sidebar.<locals>.append_to_historyw  sb     $NNFD>::: ' "	$ 7 7 7 "
*,:Q!" !" !" !#	*> ? ?$ r   rT   rU   c                     g | |         d<   d | |         d<   t                    t          j        d          t          j                  t          j                  g | fS )Nr      Fr   )rz   )r   r;   r<   r   )rb   rj   __inputsnew_generate_textnew_prompt_placeholderrD   s     r   
reset_codez2create.<locals>.render_sidebar.<locals>.reset_code  sm    ;=M*5a8;?M*5a8 *8X > > "	% 8 8 8 "
7M N N N "	*; < < " -$ r   c                 V   	 t          |           n*# t          $ r}t          j        d|           |d }~ww xY w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 )NzError saving function: z
Function 'z' not found in code.r   r,   r   r   zFunction saved.r0   rH   )execrL   r;   rM   r#   rN   )r   _codeerb   created_fns_namespaceru   rD   s      r   	save_codez1create.<locals>.render_sidebar.<locals>.save_code  s    U $U,A B B B B#0 U U U&(h/L/L/L&M&MST TU'/DDD&(h$O$O$O$O'" '" !"
 $'x==A#5#5 !#%-crc]x|A6N5O%O  F
 &+CFJ'81EEEE#00s    
;6;Doneprimary)variantr[   c                  
    dd gS NrX   r   r   r   r   rd   z0create.<locals>.render_sidebar.<locals>.<lambda>  s    D 1 r   zDelete Functionstopc                       =  dd fS r   r   )rb   rj   s   r   del_functionz4create.<locals>.render_sidebar.<locals>.del_function  s    )*5,i==r   )r#   r;   Markdownr<   r   clickDropdownchanger   onblursubmitr"   r   __init__
parameterskeysr7   r9   replacer   joinCodeJSONtupler:   then)A_moder`   rc   ra   rb   rj   r   r   any_component_searchrB   kwargsvar_name_boxrk   	argumentsrp   	arg_valuearg_boxrq   	_triggersr   r   function_name_boxrv   input_hf_tokensubmit_token_btnhistory_existsr   no_components_are_setgenerate_code_btnreset_code_btn	__outputsfn_codesave_code_btnr   r   r   r   r   done_function_btndel_function_btnr   r   r   r   ru   r   r   r   r   rD   rF   
add_fn_btnr   r1   r   r>   r   hf_tokenr=   mode	modify_idr@   nonconfigurable_paramsquick_component_listrQ   sA    ``````                                  @@@@@@@@@r   render_sidebarzcreate.<locals>.render_sidebar   so	   * I%%#k*:*:a*?*?+E"#JI%%K///K KLLLO++K///;''1,,$FGGGG$QRRR%9  		)"44@@@FF7@          # & * , $ ) 0 *   * ,.;PP=OPPP"&3$(	, , ,( )//         .v6"&( %,&  ( ...7B:7N4NFHKo   $&:ho#N#N#NL+ + + + + + E%*L,?@$$"	   Kk   !6 5n E EI $Yy/A%B%B%M%R%R%T%T U U!I  )  "888$$*JJsB$7$7	"$*%"% "BP^PdPdPfPf  "B  "Bo}  pD  pD  pF  pF  "B  "B  IL  IR  IR  IT  IT  I\  I\  ]`  be  If  If  "B  "B  "B# # # 03 / / / / / / / $\7>:GWj    ---'
3CNQKIw(HeK 4555(*
8?(S(S(S%- - - - - - E*/1B1IJ#)$	   K Q   % NY)+", "o!+* * *
 ,.9^$+O+O+O((..|^XVVVV1X. 3B/),X):!#"*"#-)8(?(?!7(," " "  j 9! <== 3}Z'@'C#D#DD! ! ! ! ! ! ! ! .
 1 K X   -<)/<,,.I-300!2!%,A(A- - -) *,(t^* * * $H#G#G#Gw#G#G#G$I$I$I$I$I$I$I	  %0 "E&08&D&D "6 "6II00i00011"6 "6  #%'%q8"L"L"L(*	+D(I(I(I"$'(E"B"B"B         ,%)%S/%:DGOR       *//$vw&7 $-$fg6$nf>OP*2	    
 
 
 
 
 
 
 
 ',,&)95 ' . & 1 ' ,  1 1 1 1 1 1 1 1$ &++I7I<XXX(*	&)RV(W(W(W%%++114$	9J   (*y)6( ( ($> > > > > > %**$d\4,K    c .-r   z## Sketching '/'Save & Renderr   )r   rS   zDeploy to Spaces   zhuggingface-logo.svg)r{   rS   	min_widthiconc                 z  	 g i |dk    df	d	 | dg            D ]:\  }}|fdt           j        ffd}|                    |!g !g           ;rʉD ]ɐ^}	}
}}}}fd|	D             }fd|
D             }fd	|D             }|r/	 t          j        ||         ||           T# t          $ r Y `w xY wt          |          }|dk    rt          j                    g|z  n|dk    rt          j                    nd fd
}t          j        ||||           d S d S )Nrr   r    c                   	 |rt          j                    nt          j                    }|5  t          |           D ]t\  }||gz   }t	          t
                    rhr | ||dz              nRt          d          5 } | ||dz              d d d            n# 1 swxY w Y                       ||f                    \  }}	}
 |          }r |d
i |	<   r;fd         d         D             }         d         v }         d         v }nd }d}d}t          |j        	                                |
k    o t          |d          r|j        nd |||	          5 } |d
i |	 d d d            n# 1 swxY w Y                       ||f           v	 d d d            d S # 1 swxY w Y   d S )Nr    T)is_containerfunction_modec                 &    g | ]\  }}|k    |S r   r   )r   r~   telements      r   r   z<create.<locals>.app.<locals>.render_slot.<locals>.<listcomp>  s.     ," ," ,"(,1'(G|| %&'3||r   r   r0   FEVENTS)component_typerD   activer   
event_listis_input	is_outputtriggersr   )r;   ColumnRow	enumerater!   r"   r   r   r   r9   hasattrr   )slot	is_columnindexdepthrf   r%   
this_indexboxrB   r   rD   r   r   r   r   r   ra   rb   rj   boxesr   r   render_slotrendered_componentssaveds                  @r   r   z(create.<locals>.app.<locals>.render_slot  sM   +4BBIKKK"&((	 /< /<&/oo .< .<
7%*aS[
%gt44 %$ @ +$+]JPQ	!" !" !" !" &/15]&" &" &" !&%($/K(/Y
ETUI%& %& %&!& !& !& !& !& !& !& !& !& !& !& !& !& !& !& !&c:-> ? ? ?$;Fw;O8$9$9.$I$I	  <;D9;N;Nv;N;N/88, 2," ," ," ,"0=j0I!0L," ," ,"
 ,3mJ6OPQ6R+R,3}Z7PQR7S,S		+/+0,1	!*/8/A/G/G/I/I)1'1W'<'R]AR.;#*9h#?#?,*9+;+;%))1*3)1" " " 4 "% )	 3 3F 3 3 34 4 4 4 4 4 4 4 4 4 4 4 4 4 4 "LL#z):;;;;].</< /< /< /< /< /< /< /< /< /< /< /< /< /< /< /< /< /<s[   AGB#G#B''G*B'+CG:	FGFGFGGGTdatac                 r   |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|                    d           n~|j         dk    r|                    d           n]|j         dk    r|dxx         dz  cc<   nA|j         d	k    r|                    d           n |j         dk    r|                    d           | |d
|d fS |j         dk    r7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 ra | |          ^ }}||         |j         dk    rdnd         }||v r|                    |           n|                    |           | |dd |fS |j                             d          ri | |          ^ }}|j         dd          }	||         d         }
||	f|
v r|
                    ||	f           n|
                    ||	f           | |dd |fS d S )N)updownleftrightr0   r    r   r,   r   r   r  r   rF   deletec                 N    | |          \  }}}|                     |           t          |t                    r|= t          |          dk    r)t          |          dk    r | |d d                    d S t          |          dk    r|r|d         ||d         <   d S d S d S )Nr   r    r,   r+   )remover!   r5   r#   )r^   r   r&   r'   r(   ra   delete_indexr)   s        r   r  z=create.<locals>.app.<locals>.box_action.<locals>.delete_index7  s    18%1H1H.B"MM&111)&#66 8$/$7"6{{a//CJJNN ,WeCRCj A A A A A!$V!1!1b!106q	59 "2!1!1!1r   rX   modifyr3   )inputoutputr  rr   zon:rt   )ro   r#   r   r  
startswith)r^   ra   rb   rj   r   r   r2   r(   component_listeventr   r  r)   s    `         @r   
box_actionz'create.<locals>.app.<locals>.box_action  s"    z%DDDu::>Q..#zV33 %b			Q				!%v!5!5 %Q!%w!6!6 %Q!Z722!"IIINIIII!Z4//!LLOOOO!Z611!LLOOO#')+!    zX--	: 	: 	: 	: 	: 	: 	: %We444w<<1,, ' + - /!" $$  !( + - ) " $$  zX--%,WWe%<%<
F#'). "   z%888%,WWe%<%<
F)6z)B!%w!6!6AAA* "^33*11&9999*11&999#')- &   z,,U33 %,WWe%<%<
F $
122#0#<Q#?"E?h66$OOVUO<<<<$OOVUO<<<#')- &   r   c                 B    g | ]\  }}t          |         |          S r   )getattr)r   r~   r   r   s      r   r   z'create.<locals>.app.<locals>.<listcomp>  s:     ) ) )?Cq! 3A 6::) ) )r   c                      g | ]
}|         S r   r   r   r~   r   s     r   r   z'create.<locals>.app.<locals>.<listcomp>  s    &N&N&N!':1'=&N&N&Nr   c                      g | ]
}|         S r   r   r  s     r   r   z'create.<locals>.app.<locals>.<listcomp>  s    'P'P'P1(;A(>'P'P'Pr   c                  N    t          d           t          j        d           S )Nsleepingr    )printtimesleep)r2   	fn_outputs    r   r  z"create.<locals>.app.<locals>.sleep  s$    !*--- JqMMM#,,r   r    )r;   
SelectDataselectr   	Exceptionr#   skip)"r^   ra   rb   r   rj   r   r   r   r  r   r   outputsfn_namer2   r   rendered_triggersrendered_inputsrendered_outputsoutput_countr  r   r  r   r   r   r?   r1   r   r>   r)   r   r=   r   r   s"    ````               @@@@@r   appzcreate.<locals>.app  s   
 E"$!%66M1< 1< 1< 1< 1< 1< 1< 1< 1< 1< 1< 1< 1< 1<f Kr***# p p
U  h h
 -h h h h h hT 

ZyAZtY	R     "DQ ! !@HfgwD) ) ) )GO) ) )% 'O&N&N&Nv&N&N&NO'P'P'P'P'P'P'P$ !E 1 5g > / 0	     ) ! ! ! D! (++;'<'<  ,a//  WYYK,66  ,q00 "$!% "- - - - -
 -uoGW   A" "! !s   'C
CCr  )positionopenz## Functionsc                     t          |           D ]?\  }}t          j        |d         d          }|fd}|                    |g           @d S )Nrt   rY   rZ   c                 
    d| fS )Nrr   r   )r%   s    r   load_fnz,create.<locals>.render_deps.<locals>.load_fn  s    0!33r   )r  )r   r;   r<   r   )rb   r%   ru   fn_btnr(  r   r   s        r   render_depszcreate.<locals>.render_deps  s{    '66 E EFAsYs1vD999F"# 4 4 4 4 LL42CLDDDDE Er   c           	          |                      g g g dt          |           dz    g d g           | dt          |           dz
  t          j        d          fS )Nfn_r    rr   Tr%  )r   r#   r;   Sidebar)rb   s    r   add_fnzcreate.<locals>.add_fn  sr    $$R!?s='9'9A'=!?!?TJ   "%&&*JD)))	 r   z## Generated Filer   )r   r4   
show_label)r   r  rV   c                 z  	
 d	d	
fd	
 
| dg            |D ]}fd|d         D             }fd|d         D             }fd|d	         D             }|d
         }|d         |d                              dd          }n;d| dd                    |           dd                    d |D                        }	dt          |          dk    r|d         dz   ndd                    |          z   dz    dd                    |           dd                    |           d| d	z  	d	 d		S )Nr-   r    c                    t          |           D ]\  }}||gz   }t          |t                    r(d|z  dz   |rdndz   dz   z   || ||dz              H|         \  }}}	d|z  |	z   dz   |z   dz   z  t          |                                          D ]N\  }\  }
}t          |t                    rd	| d	                    d
d          n|}|dk    rdz  |
 d| z  Odz  d S )Nz    zwith gr.r   r   z():
r    z = gr.("
z\nr   r   =z)
)r   r!   r"   itemsr:   r   )r   r   r   r   r%   r   r   rB   r   rD   kvra   code_strrender_code_slots               r   r;  z5create.<locals>.render_code.<locals>.render_code_slot  ss   &/oo * *
7%*aS[
%gt44 
%$ &",!-,5#C558!E #*!*H -, 'Y
EAI   %;Fw;O8 "UNX5@>QTWW *36<<>>)B)B 3 3IAv1 $.a#5#5!'A 0 0u = = =%& 
  !Avv (D 0$1

q

2HH E)5* *r   Tc                 >    g | ]\  }}|         d          dz   |z   S )r0   .r   )r   r~   r   ra   s      r   r   z/create.<locals>.render_code.<locals>.<listcomp>  s0    OOO1Aq 1C 7! ;OOOr   r   c                 ,    g | ]}|         d          S r/   r   r}   s     r   r   z/create.<locals>.render_code.<locals>.<listcomp>  s"    @@@Ak!nQ/@@@r   c                 ,    g | ]}|         d          S r/   r   r}   s     r   r   z/create.<locals>.render_code.<locals>.<listcomp>  s"    AAAQ{1~a0AAAr   r0   rt   r   r5  z
    zdef r3  r   z):
        ...
        return c                     g | ]}d S r   r   r   s     r   r   z/create.<locals>.render_code.<locals>.<listcomp>  s    222Q5222r   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#   )r^   ra   rb   ru   r   r   r  r  r   r:  r;  s    `       @@r   render_codezcreate.<locals>.render_code  s	    * * * * * * * *< ! $333(  COOOOAOOOH@@@@Q@@@FAAAA#a&AAAG!!fG1v)"%a&..x"@"@#87 #8 #8TYYv5F5F #8 #8		22'22233#8 #8  !x==A--hqkC9tyy?R?R3RUZ3Z! !dhdmdmntdudu! ! DH  DM  DM  NU  DV  DV! !! ! ! HH 
  
  r   c                    t          d          5 }|                    |           d d d            n# 1 swxY w Y   t          d          5 }t          j        d|           d d d            n# 1 swxY w Y   |  | rdndt	          j        |           t	          j        |            dt	          j        |           t	          j        | ot          |          dk              gS )	Nw)r=   r1   r   zEdit Sketchr   rX   r-  r   )r%  writejsondumpr;   r<   r.  r#   )r   r   depsfra   r^   r   r	   s       r   savezcreate.<locals>.save	  sr    h$$               k3'' 1	")&1                   	#(;m	%(((	e),,,
&&&
 7#d))a-888 s   488A44A8;A8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   jsr]   )1ospathbasenamedirnamer;   ImageAudioChatbotr   Numberr<   r   StateAnnotatedImageBarPlotBrowserStateCheckboxCheckboxGroupr   ColorPicker	DataframeDateTimer   FileGalleryHighlightedTextHTMLImageEditorr   LabelLinePlotModel3DMultimodalTextboxRadioSliderTimerVideoBlocksrJ   	get_tokengetenvr.  r   r   gradioutilsget_icon_pathr   r   )(r   r	   	file_namefolder_namedemo_idrb   rc   r   left_sidebarr   save_btndeploy_to_spaces_btnr#  right_sidebarr*  r/  r   rA  rI  ra   r^   rF   r   r?   r   r1   r   rE   r>   r)   r   r   r=   r   r   r@   r   r   rQ   s(   ``                  @@@@@@@@@@@@@@@@@@@@r   createrx     s     **I'""27??8#<#<==KAAA
6:&
6:&

VZ( 	

	
	

"
" 	" 	
	"
 	" 		" 	
" 	" 	" 	" 	" 	" 	" 	" 	"  	
!"" 	#"$ 	%"& 	'"( 	)"* 	+", 	-". 	/"0 	1"2 	
3"4 	5"6 		7"8 	9": 		;"< 	="> 	
?"@ 	A"B 	C"H    
" " " " " "
 
 
 
 
 
>   
 {

hqkk x((8$566Xk**
x..'""H/011	HTNN	8CMOODry/D/DEEYA5
 
 

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

 

 

N	 N	 N	 N	 N	 N	 N	 N	 N	 N	 N	 N		

 

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

 

	 	 	 	 	 	 	

 

	* 	"" 	# 	
 	
 	
g{

 {

 {

 {

 {

 {

 {

 {

 {

 {

 {

 {

 {

 {

 {

z Ks   D"W6(7O+W6+O/	/W62O/	3W6	BRW6R	W6R	AW6'B$VW6V	W6V	AW66W:=W:__main__zapp.pyzapp.json)rE  rL  r  inspectr   huggingface_hubrJ   rm  r;   gradio.utilsgradio.sketch.sketchboxr   gradio.sketch.utilsr   r   r   r:   rx  r   rr  launchr   r   r   <module>r     s     				                    - - - - - - 9 9 9 9 9 9 9 9 9 9gS gs g g g gT z6(J''DKKMMMMM r   