Files
mixly3/boards/default/micropython_k210_mixgoai/main.bundle.js
2024-10-24 22:43:42 +08:00

21 lines
489 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Ft,controls_typeLists:()=>vt,lists_zip:()=>Pt,lists_zip_container:()=>Vt,lists_zip_item:()=>yt,unpack_iterable_object:()=>Yt,variables_change:()=>ft,variables_get:()=>Dt,variables_global:()=>Lt,variables_set:()=>Nt});var i={};t.r(i),t.d(i,{base_setup:()=>xt,controls_delay:()=>Xt,controls_end_program:()=>Gt,controls_except:()=>$t,controls_finally:()=>te,controls_flow_statements:()=>Kt,controls_for:()=>Qt,controls_forEach:()=>wt,controls_for_range:()=>jt,controls_if:()=>Ht,controls_if_else:()=>zt,controls_if_elseif:()=>Jt,controls_if_if:()=>qt,controls_lambda:()=>ie,controls_main:()=>kt,controls_pass:()=>ne,controls_range:()=>Ut,controls_repeat_ext:()=>ee,controls_thread:()=>se,controls_try:()=>Zt,controls_try_finally:()=>Wt,controls_whileUntil:()=>Bt,datetime_fromtimestamp:()=>_e,do_while:()=>oe,garbage_collection:()=>pe,get_mem_alloc:()=>ue,get_mem_free:()=>ae,get_unique_identifier:()=>le});var n={};t.r(n),t.d(n,{base_map:()=>ve,generate_cartesian_product:()=>Ve,math_arithmetic:()=>he,math_bit:()=>ce,math_constant:()=>Ie,math_constant_mp:()=>Te,math_constrain:()=>ge,math_dec:()=>Re,math_indexer_number:()=>De,math_map:()=>Se,math_max_min:()=>Ee,math_number:()=>de,math_number_base_conversion:()=>Ce,math_random:()=>Ae,math_random_seed:()=>Ne,math_round:()=>fe,math_selfcalcu:()=>me,math_to_int:()=>Me,math_trig:()=>Oe,text_to_number:()=>Le,text_to_number_skulpt:()=>Fe,turn_to_int:()=>Pe});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Xe,char_to_ascii:()=>Ge,number_to_text:()=>He,os_system:()=>di,text:()=>Ye,text_capital:()=>Je,text_center:()=>ze,text_char:()=>ke,text_char_at:()=>Be,text_char_at2:()=>we,text_char_at3:()=>ai,text_compareTo:()=>ui,text_compare_to:()=>qe,text_create_with_container:()=>si,text_create_with_item:()=>oi,text_encode:()=>_i,text_equals_starts_ends:()=>je,text_eval:()=>ri,text_find:()=>Ze,text_format:()=>ni,text_format_noreturn:()=>li,text_join:()=>xe,text_join_seq:()=>$e,text_length:()=>Ue,text_random_char:()=>We,text_replace:()=>ti,text_split:()=>ei,text_strip:()=>ii,text_substring:()=>Qe,text_substring2:()=>Ke,text_substring3:()=>pi,text_textarea:()=>be});var o={};t.r(o),t.d(o,{ENUMERATE:()=>ji,enumerate:()=>qi,list_many_input:()=>Yi,list_tolist:()=>Xi,list_tolist2:()=>Qi,list_trig:()=>Pi,lists_2d_get_col_row_data:()=>ci,lists_2d_get_data_with_col_row:()=>mi,lists_append_extend:()=>Ai,lists_change_to:()=>yi,lists_change_to_general:()=>ki,lists_clear:()=>fi,lists_create_with:()=>Oi,lists_create_with2:()=>Gi,lists_create_with_container:()=>Mi,lists_create_with_item:()=>Ei,lists_create_with_noreturn:()=>bi,lists_create_with_text:()=>Ri,lists_create_with_text2:()=>Hi,lists_del_general:()=>xi,lists_find:()=>vi,lists_getIndex3:()=>Ui,lists_getSublist3:()=>wi,lists_get_index:()=>Ti,lists_get_random_item:()=>gi,lists_get_random_sublist:()=>Si,lists_get_sublist:()=>hi,lists_insert_value:()=>Di,lists_insert_value2:()=>Wi,lists_pop:()=>Fi,lists_remove_at:()=>Li,lists_remove_at2:()=>Ki,lists_reverse:()=>Ni,lists_setIndex3:()=>Bi,lists_set_index:()=>Ci,lists_sort:()=>Vi});var p={};t.r(p),t.d(p,{dicts_add_change_del:()=>dn,dicts_add_or_change:()=>sn,dicts_clear:()=>un,dicts_create_with:()=>zi,dicts_create_with_container:()=>Zi,dicts_create_with_item:()=>$i,dicts_create_with_noreturn:()=>hn,dicts_deldict:()=>rn,dicts_delete:()=>on,dicts_get:()=>en,dicts_get_default:()=>nn,dicts_items:()=>an,dicts_keys:()=>tn,dicts_length:()=>_n,dicts_pop:()=>In,dicts_setdefault:()=>Tn,dicts_to_json:()=>cn,dicts_to_to:()=>Rn,dicts_todict:()=>mn,dicts_update:()=>pn,dicts_values:()=>ln,json_to_dicts:()=>On});var u={};t.r(u),t.d(u,{logic_boolean:()=>Sn,logic_compare:()=>En,logic_compare_continous:()=>Cn,logic_is:()=>Ln,logic_is_in:()=>fn,logic_negate:()=>gn,logic_null:()=>Dn,logic_operation:()=>An,logic_tobool:()=>Fn,logic_true_or_false:()=>Nn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>$n,sdcard_use_spi_init:()=>Zn,storage_can_write_ornot:()=>Xn,storage_change_dir:()=>Jn,storage_close_file:()=>Hn,storage_delete_file:()=>wn,storage_file_seek:()=>Kn,storage_file_tell:()=>Wn,storage_file_write:()=>Yn,storage_fileopen:()=>Pn,storage_fileopen_new:()=>Vn,storage_fileopen_new_encoding:()=>yn,storage_get_a_line:()=>xn,storage_get_contents:()=>kn,storage_get_contents_without_para:()=>bn,storage_get_current_dir:()=>Qn,storage_get_file_size:()=>Bn,storage_get_filename:()=>Gn,storage_is_file:()=>zn,storage_list_all_files:()=>Un,storage_make_dir:()=>jn,storage_open_file_with_os:()=>vn,storage_rename:()=>qn});var l={};t.r(l),t.d(l,{procedures_callnoreturn:()=>ps,procedures_callreturn:()=>us,procedures_defnoreturn:()=>is,procedures_defreturn:()=>ns,procedures_ifreturn:()=>as,procedures_mutatorarg:()=>os,procedures_mutatorcontainer:()=>ss,procedures_return:()=>ls});var _={};t.r(_),t.d(_,{tuple_change_to:()=>Es,tuple_create_with:()=>rs,tuple_create_with_container:()=>ds,tuple_create_with_item:()=>Is,tuple_create_with_noreturn:()=>Ss,tuple_create_with_text2:()=>Ts,tuple_create_with_text_return:()=>hs,tuple_del:()=>Os,tuple_find:()=>Cs,tuple_getIndex:()=>ms,tuple_getSublist:()=>gs,tuple_get_random_item:()=>Ns,tuple_get_sublist:()=>Ds,tuple_join:()=>Rs,tuple_length:()=>cs,tuple_max:()=>Ms,tuple_totuple:()=>fs,tuple_trig:()=>As});var r={};t.r(r),t.d(r,{set_add_discard:()=>xs,set_clear:()=>Ys,set_create_with:()=>Fs,set_create_with_container:()=>vs,set_create_with_item:()=>Ps,set_create_with_text_return:()=>Hs,set_length:()=>Vs,set_operate:()=>bs,set_operate_update:()=>ks,set_pop:()=>ys,set_sub:()=>Xs,set_toset:()=>Us,set_update:()=>Gs});var d={};t.r(d),t.d(d,{html_content:()=>Qs,html_content_more:()=>js,html_document:()=>Bs,html_form:()=>Js,html_head_body:()=>Ks,html_style:()=>qs,html_style_color:()=>Zs,html_style_content:()=>zs,html_text:()=>$s,html_title:()=>Ws});var I={};t.r(I),t.d(I,{attribute_access:()=>To,function_call:()=>_o,function_call_container:()=>ro,function_call_item:()=>Io,raw_block:()=>io,raw_empty:()=>so,raw_expression:()=>no,raw_table:()=>eo,text_comment:()=>oo,text_print_multiple:()=>uo,text_print_multiple_container:()=>ao,text_print_multiple_item:()=>lo,type_check:()=>po});var T={};t.r(T),t.d(T,{controls_type:()=>Ro,controls_typeLists:()=>Mo,lists_zip:()=>Eo,unpack_iterable_object:()=>Co,variables_change:()=>co,variables_get:()=>ho,variables_global:()=>Oo,variables_set:()=>mo});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>Po,base_setup:()=>go,controls_delay:()=>vo,controls_flow_statements:()=>Fo,controls_for:()=>No,controls_forEach:()=>ko,controls_for_range:()=>fo,controls_if:()=>So,controls_interrupts:()=>Yo,controls_lambda:()=>Xo,controls_main:()=>Ao,controls_millis:()=>Vo,controls_nointerrupts:()=>bo,controls_pass:()=>Ho,controls_range:()=>xo,controls_repeat:()=>qo,controls_repeat_ext:()=>Bo,controls_thread:()=>Uo,controls_try_finally:()=>Do,controls_whileUntil:()=>Lo,datetime_fromtimestamp:()=>Jo,do_while:()=>wo,garbage_collection:()=>Wo,get_mem_alloc:()=>Ko,get_mem_free:()=>Qo,get_unique_identifier:()=>jo,reset:()=>yo,time_sleep:()=>Go});var m={};t.r(m),t.d(m,{base_map:()=>cp,generate_cartesian_product:()=>Rp,math_arithmetic:()=>ep,math_bit:()=>tp,math_constant:()=>Zo,math_constant_mp:()=>$o,math_constrain:()=>_p,math_dec:()=>op,math_indexer_number:()=>Ip,math_map:()=>lp,math_max_min:()=>up,math_number:()=>zo,math_number_base_conversion:()=>rp,math_random:()=>ap,math_random_seed:()=>dp,math_round:()=>Tp,math_selfcalcu:()=>ip,math_single:()=>np,math_to_int:()=>pp,math_trig:()=>sp,text_to_number:()=>hp,text_to_number_skulpt:()=>mp,turn_to_int:()=>Op});var c={};t.r(c),t.d(c,{ascii_to_char:()=>gp,char_to_ascii:()=>Sp,number_to_text:()=>Dp,os_system:()=>qp,text:()=>Mp,text_capital:()=>Yp,text_center:()=>bp,text_char:()=>Cp,text_char_at:()=>Lp,text_char_at2:()=>fp,text_char_at3:()=>Kp,text_compareTo:()=>Wp,text_compare_to:()=>Pp,text_encode:()=>Qp,text_equals_starts_ends:()=>vp,text_eval:()=>jp,text_find:()=>kp,text_format:()=>Up,text_format_noreturn:()=>wp,text_join:()=>Ap,text_join_seq:()=>xp,text_length:()=>Np,text_random_char:()=>Fp,text_replace:()=>Xp,text_split:()=>Gp,text_strip:()=>Hp,text_substring:()=>yp,text_substring2:()=>Vp,text_substring3:()=>Bp,text_textarea:()=>Ep});var O={};t.r(O),t.d(O,{enumerate:()=>fu,list_many_input:()=>hu,list_tolist:()=>Du,list_tolist2:()=>Nu,list_trig:()=>du,lists_2d_get_col_row_data:()=>Zp,lists_2d_get_data_with_col_row:()=>zp,lists_append_extend:()=>nu,lists_change_to:()=>Tu,lists_change_to_general:()=>cu,lists_clear:()=>au,lists_create_with:()=>$p,lists_create_with2:()=>Ru,lists_create_with_noreturn:()=>mu,lists_create_with_text:()=>tu,lists_create_with_text2:()=>Mu,lists_del_general:()=>Ou,lists_find:()=>lu,lists_getIndex3:()=>Eu,lists_getSublist3:()=>Cu,lists_get_index:()=>eu,lists_get_random_item:()=>su,lists_get_random_sublist:()=>ou,lists_get_sublist:()=>Jp,lists_insert_value:()=>pu,lists_insert_value2:()=>gu,lists_pop:()=>ru,lists_remove_at:()=>_u,lists_remove_at2:()=>Su,lists_reverse:()=>uu,lists_setIndex3:()=>Au,lists_set_index:()=>iu,lists_sort:()=>Iu});var R={};t.r(R),t.d(R,{dicts_add_change_del:()=>Hu,dicts_add_or_change:()=>Vu,dicts_clear:()=>bu,dicts_create_with:()=>Lu,dicts_create_with_noreturn:()=>Bu,dicts_deldict:()=>Gu,dicts_delete:()=>yu,dicts_get:()=>vu,dicts_get_default:()=>Pu,dicts_items:()=>ku,dicts_keys:()=>Fu,dicts_length:()=>Xu,dicts_pop:()=>Uu,dicts_setdefault:()=>wu,dicts_to_json:()=>Ku,dicts_to_to:()=>ju,dicts_todict:()=>Wu,dicts_update:()=>Yu,dicts_values:()=>xu,json_to_dicts:()=>Qu});var M={};t.r(M),t.d(M,{logic_boolean:()=>$u,logic_compare:()=>qu,logic_compare_continous:()=>Ju,logic_is:()=>na,logic_is_in:()=>ia,logic_negate:()=>Zu,logic_null:()=>ta,logic_operation:()=>zu,logic_tobool:()=>sa,logic_true_or_false:()=>ea});var E={};t.r(E),t.d(E,{sdcard_mount:()=>Na,sdcard_use_spi_init:()=>Da,storage_can_write_ornot:()=>Ia,storage_change_dir:()=>Ea,storage_close_file:()=>ha,storage_delete_file:()=>ca,storage_file_seek:()=>Ma,storage_file_tell:()=>Ra,storage_file_write:()=>la,storage_fileopen:()=>pa,storage_fileopen_new:()=>ua,storage_fileopen_new_encoding:()=>aa,storage_get_a_line:()=>da,storage_get_contents:()=>ra,storage_get_contents_without_para:()=>_a,storage_get_current_dir:()=>Ca,storage_get_file_size:()=>Oa,storage_get_filename:()=>Ta,storage_is_file:()=>Sa,storage_list_all_files:()=>ma,storage_make_dir:()=>Aa,storage_open_file_with_os:()=>oa,storage_rename:()=>ga});var C={};t.r(C),t.d(C,{procedures_callnoreturn:()=>va,procedures_callreturn:()=>Fa,procedures_defnoreturn:()=>La,procedures_defreturn:()=>fa,procedures_ifreturn:()=>Pa,procedures_return:()=>Va});var A={};t.r(A),t.d(A,{tuple_change_to:()=>Ua,tuple_create_with:()=>ya,tuple_create_with_noreturn:()=>Ka,tuple_create_with_text2:()=>Ya,tuple_create_with_text_return:()=>ba,tuple_del:()=>Xa,tuple_find:()=>wa,tuple_getIndex:()=>ka,tuple_getSublist:()=>Wa,tuple_get_random_item:()=>ja,tuple_get_sublist:()=>Qa,tuple_join:()=>Ga,tuple_length:()=>xa,tuple_max:()=>Ha,tuple_totuple:()=>qa,tuple_trig:()=>Ba});var g={};t.r(g),t.d(g,{set_add_discard:()=>il,set_clear:()=>$a,set_create_with:()=>Ja,set_create_with_text_return:()=>ol,set_length:()=>za,set_operate:()=>tl,set_operate_update:()=>el,set_pop:()=>Za,set_sub:()=>nl,set_toset:()=>pl,set_update:()=>sl});var S={};t.r(S),t.d(S,{html_content:()=>_l,html_content_more:()=>rl,html_document:()=>ul,html_form:()=>Il,html_head_body:()=>ll,html_style:()=>dl,html_style_content:()=>Tl,html_text:()=>hl,html_title:()=>al});var D={};t.r(D),t.d(D,{attribute_access:()=>Cl,function_call:()=>El,raw_block:()=>ml,raw_empty:()=>Ol,raw_expression:()=>cl,raw_table:()=>Rl,type_check:()=>Ml});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>Ll,actuator_extern_led_bright:()=>fl,actuator_extern_led_brightness:()=>Fl,actuator_get_led_bright:()=>Pl,actuator_led_bright:()=>vl,actuator_led_brightness:()=>Vl,actuator_neopixel_init:()=>Kl,actuator_neopixel_rgb:()=>Ql,actuator_neopixel_write:()=>jl,actuator_onboard_neopixel_rgb:()=>ql,actuator_onboard_neopixel_rgb_all:()=>Jl,actuator_onboard_neopixel_write:()=>zl,esp32_mixgo_music_play_list_show:()=>Wl,esp32_music_get_tempo:()=>xl,esp32_music_pitch:()=>yl,esp32_music_pitch_with_time:()=>Yl,esp32_music_play_list:()=>Bl,esp32_music_reset:()=>Xl,esp32_music_set_tempo:()=>kl,esp32_music_stop:()=>bl,esp32_onboard_music_pitch:()=>Gl,esp32_onboard_music_pitch_with_time:()=>Hl,esp32_onboard_music_play_list:()=>wl,esp32_onboard_music_stop:()=>Ul,get_led_bright:()=>$l,led_brightness:()=>t_,led_light:()=>Zl,ledswitch:()=>Nl,number:()=>Dl,servo_move:()=>Sl});var f={};t.r(f),t.d(f,{mpython_blynk_app_data:()=>h_,mpython_blynk_app_notify:()=>a_,mpython_blynk_email:()=>r_,mpython_blynk_get_timers:()=>d_,mpython_blynk_on_connected:()=>o_,mpython_blynk_on_disconnected:()=>s_,mpython_blynk_run:()=>u_,mpython_blynk_sensor_data_to_app:()=>T_,mpython_blynk_set_property:()=>__,mpython_blynk_setup:()=>m_,mpython_blynk_stop_timers:()=>l_,mpython_blynk_sync_virtual:()=>n_,mpython_blynk_terminal_widget_vpin:()=>i_,mpython_blynktimer:()=>I_,mpython_blynktimer_run:()=>p_});var L={};t.r(L),t.d(L,{display_animate:()=>lr,display_blink_rate:()=>z_,display_bright_point:()=>C_,display_bright_screen:()=>J_,display_circle:()=>_r,display_clear:()=>M_,display_draw_4strings:()=>w_,display_fill:()=>sr,display_get_pixel:()=>E_,display_get_screen_image:()=>q_,display_get_screen_pixel:()=>j_,display_help:()=>dr,display_image_builtins:()=>V_,display_image_create:()=>y_,display_image_size:()=>B_,display_line:()=>K_,display_line_arbitrarily:()=>Q_,display_matrix_use_i2c_init:()=>hr,display_oled_drawPixel:()=>Tr,display_oled_showBitmap:()=>Ir,display_onoff:()=>nr,display_rect:()=>W_,display_rgb_color:()=>Z_,display_scroll_string:()=>tr,display_scroll_string_delay:()=>ir,display_scroll_string_extern:()=>cr,display_show_image:()=>mr,display_show_image_or_string:()=>$_,display_show_image_or_string_delay:()=>er,display_show_static:()=>S_,display_tm1650_power:()=>pr,display_tm1650_show_dot:()=>ar,display_tm1650_show_num:()=>ur,display_tm_use_i2c_init:()=>or,display_triangle:()=>rr,display_use_i2c_init:()=>U_,esp32_display_is_on:()=>P_,esp32_display_off:()=>v_,esp32_display_on:()=>F_,esp32_display_scroll:()=>L_,esp32_display_show_animation:()=>f_,esp32_display_show_default_image:()=>N_,esp32_display_show_string:()=>k_,group_lcd_init:()=>X_,group_lcd_power:()=>H_,group_lcd_print:()=>x_,group_lcd_print2:()=>G_,image_arithmetic:()=>b_,image_shift:()=>Y_,microbit_display_show_image:()=>D_,monitor_show_scroll_string:()=>g_,monitor_show_string:()=>A_});var F={};t.r(F),t.d(F,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Hr,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Gr,IOT_EMQX_PING:()=>xr,IOT_FORMATTING:()=>br,IOT_FORMAT_STRING:()=>kr,IOT_MIXIO_NTP:()=>Xr,IOT_MIXIO_PUBLISH:()=>Lr,IOT_MIXIO_SUBSCRIBE:()=>Fr,iot_checkonenet:()=>zr,iot_client_onboard:()=>wr,iot_create_with_item:()=>Nr,iot_http_client:()=>Br,iot_http_data:()=>Wr,iot_mixio_check:()=>Vr,iot_mixio_connect:()=>fr,iot_mixio_connect_only:()=>Pr,iot_mixio_disconnect:()=>vr,iot_mixio_format_msg:()=>Yr,iot_mixio_format_topic:()=>yr,iot_mixly_key:()=>Ur,iot_mqtt_client:()=>Kr,iot_mqtt_data:()=>Qr,iot_onenet_check:()=>Cr,iot_onenet_connect:()=>Mr,iot_onenet_disconnect:()=>Er,iot_onenet_publish:()=>gr,iot_onenet_publish_dict:()=>Ar,iot_onenetconnect:()=>qr,iot_onenetdisconnect:()=>Jr,iot_publish:()=>Zr,iot_publish_container:()=>Sr,iot_publish_item:()=>Dr,iot_wifi_connect:()=>Rr,iot_wificonnect:()=>jr});var v={};t.r(v),t.d(v,{actuator_extern_get_led_bright:()=>hd,actuator_extern_led_bright:()=>Td,actuator_extern_led_brightness:()=>md,actuator_get_led_bright:()=>Od,actuator_led_bright:()=>cd,actuator_led_brightness:()=>Rd,actuator_neopixel_init:()=>Md,actuator_neopixel_rgb:()=>Cd,actuator_neopixel_write:()=>Ed,actuator_onboard_neopixel_rgb:()=>gd,actuator_onboard_neopixel_rgb_all:()=>Sd,actuator_onboard_neopixel_write:()=>Ad,esp32_mixgo_music_play_list_show:()=>ld,esp32_music_get_tempo:()=>nd,esp32_music_pitch:()=>$r,esp32_music_pitch_with_time:()=>td,esp32_music_play_list:()=>ad,esp32_music_reset:()=>_d,esp32_music_set_tempo:()=>id,esp32_music_stop:()=>ed,esp32_onboard_music_pitch:()=>sd,esp32_onboard_music_pitch_with_time:()=>od,esp32_onboard_music_play_list:()=>ud,esp32_onboard_music_stop:()=>pd,get_led_bright:()=>Nd,led_brightness:()=>fd,led_light:()=>Dd,ledswitch:()=>Id,number:()=>dd,servo_move:()=>rd});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>Gd,mpython_blynk_app_notify:()=>Yd,mpython_blynk_email:()=>Hd,mpython_blynk_get_timers:()=>kd,mpython_blynk_on_connected:()=>Pd,mpython_blynk_on_disconnected:()=>vd,mpython_blynk_run:()=>yd,mpython_blynk_sensor_data_to_app:()=>Xd,mpython_blynk_set_property:()=>Ud,mpython_blynk_setup:()=>wd,mpython_blynk_stop_timers:()=>bd,mpython_blynk_sync_virtual:()=>Fd,mpython_blynk_terminal_widget_vpin:()=>Ld,mpython_blynktimer:()=>xd,mpython_blynktimer_run:()=>Vd});var V={};t.r(V),t.d(V,{display_animate:()=>cI,display_blink_rate:()=>iI,display_bright_point:()=>Zd,display_bright_screen:()=>eI,display_circle:()=>OI,display_clear:()=>nI,display_draw_4strings:()=>oI,display_fill:()=>dI,display_get_pixel:()=>zd,display_get_screen_image:()=>tI,display_get_screen_pixel:()=>$d,display_image_builtins:()=>Jd,display_image_create:()=>qd,display_line:()=>lI,display_line_arbitrarily:()=>pI,display_matrix_use_i2c_init:()=>CI,display_oled_drawPixel:()=>EI,display_oled_showBitmap:()=>MI,display_onoff:()=>_I,display_rect:()=>uI,display_scroll_string:()=>Wd,display_scroll_string_delay:()=>jd,display_scroll_string_extern:()=>gI,display_show_image:()=>AI,display_show_image_or_string:()=>Bd,display_show_image_or_string_delay:()=>Qd,display_show_static:()=>Kd,display_tm1650_power:()=>TI,display_tm1650_show_dot:()=>mI,display_tm1650_show_num:()=>hI,display_tm_use_i2c_init:()=>II,display_triangle:()=>RI,display_use_i2c_init:()=>sI,image_arithmetic:()=>aI,image_shift:()=>rI});var y={};t.r(y),t.d(y,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>wI,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>HI,IOT_EMQX_PING:()=>BI,IOT_FORMATTING:()=>XI,IOT_FORMAT_STRING:()=>GI,IOT_MIXIO_NTP:()=>WI,IOT_MIXIO_PUBLISH:()=>PI,IOT_MIXIO_SUBSCRIBE:()=>VI,iot_client_onboard:()=>KI,iot_http_client:()=>QI,iot_http_data:()=>jI,iot_mixio_check:()=>bI,iot_mixio_connect:()=>vI,iot_mixio_connect_only:()=>YI,iot_mixio_disconnect:()=>yI,iot_mixio_format_msg:()=>xI,iot_mixio_format_topic:()=>kI,iot_mixly_key:()=>UI,iot_mqtt_client:()=>qI,iot_mqtt_data:()=>JI,iot_onenet_check:()=>LI,iot_onenet_connect:()=>DI,iot_onenet_disconnect:()=>NI,iot_onenet_publish:()=>FI,iot_onenet_publish_dict:()=>fI,iot_wifi_connect:()=>SI});var Y={};t.r(Y),t.d(Y,{PID_get_pid:()=>rT,PID_init:()=>_T,actuator_PAC9685_Servo:()=>nT,actuator_PAC9685_init:()=>iT,actuator_Servo:()=>eT,actuator_Servo_init:()=>tT,actuator_ms32006_dcmotor:()=>aT,actuator_ms32006_init:()=>uT,actuator_ms32006_stepper:()=>lT,actuator_rgb_display:()=>pT,actuator_rgb_init:()=>sT,actuator_rgb_set:()=>oT});var b={};t.r(b),t.d(b,{KPU_analysis:()=>MT,KPU_forward:()=>RT,KPU_init_yolo2:()=>cT,KPU_load:()=>hT,KPU_load1:()=>mT,KPU_run_yolo2:()=>OT,ai_face_info:()=>LT,ai_face_init:()=>NT,ai_face_train:()=>fT,ailocal_loading:()=>ST,ailocal_predict:()=>DT,ailocal_training:()=>gT,aionenet_API:()=>AT,aionenet_nic_init:()=>ET,aionenet_token:()=>CT,tuple_anchor:()=>IT,tuple_calss:()=>TT});var k={};t.r(k),t.d(k,{audio_play:()=>VT,audio_record:()=>yT,mic_init:()=>PT,spk_init:()=>vT,video_play:()=>YT,video_record:()=>bT});var x={};t.r(x),t.d(x,{camera_getinfo:()=>zT,camera_init:()=>GT,camera_reset:()=>HT,camera_run:()=>BT,camera_set_colorbar:()=>JT,camera_set_framesize:()=>wT,camera_set_hmirror:()=>jT,camera_set_pixformat:()=>UT,camera_set_vflip:()=>qT,camera_set_windowing:()=>$T,camera_setmun:()=>ZT,camera_shutdown:()=>QT,camera_skip_frames:()=>WT,camera_snapshot:()=>KT,mode:()=>xT,size:()=>XT});var X={};t.r(X),t.d(X,{communicate_i2c_available:()=>ch,communicate_i2c_init:()=>ih,communicate_i2c_master_read:()=>mh,communicate_i2c_read:()=>sh,communicate_i2c_scan:()=>ph,communicate_i2c_write:()=>oh,communicate_i2s_init:()=>nh,communicate_ir_recv:()=>eh,communicate_ow_init:()=>Rh,communicate_ow_read:()=>Eh,communicate_ow_reset:()=>gh,communicate_ow_scan:()=>Mh,communicate_ow_select:()=>Ah,communicate_ow_write:()=>Ch,communicate_spi_buffer:()=>lh,communicate_spi_init:()=>uh,communicate_spi_read:()=>_h,communicate_spi_read_output:()=>rh,communicate_spi_readinto:()=>dh,communicate_spi_readinto_output:()=>Ih,communicate_spi_set:()=>ah,communicate_spi_write:()=>Th,communicate_spi_write_readinto:()=>hh,i2c_available:()=>Xh,i2c_init:()=>Sh,i2c_master_reader2:()=>xh,i2c_read:()=>Dh,i2c_scan:()=>fh,i2c_slave_onreceive:()=>Oh,i2c_write:()=>Nh,spi_buffer:()=>vh,spi_init:()=>Lh,spi_read:()=>Ph,spi_read_output:()=>Vh,spi_readinto:()=>yh,spi_readinto_output:()=>Yh,spi_set:()=>Fh,spi_write:()=>bh,spi_write_readinto:()=>kh});var G={};t.r(G),t.d(G,{angle:()=>Hh,lcd_clear:()=>jh,lcd_color:()=>Uh,lcd_colour:()=>Kh,lcd_display:()=>Qh,lcd_draw_string:()=>zh,lcd_init:()=>Bh,lcd_mirror:()=>Jh,lcd_rotation:()=>qh,lcd_width:()=>Wh,on_off:()=>wh,touch_calibrate:()=>$h,touch_info:()=>em,touch_init:()=>Zh,touch_read:()=>tm});var H={};t.r(H),t.d(H,{factory_block:()=>dm,factory_block_notes:()=>mm,factory_block_return:()=>Im,factory_block_return_with_textarea:()=>hm,factory_block_with_textarea:()=>Tm,factory_callMethod_noreturn:()=>_m,factory_callMethod_return:()=>rm,factory_create_with_container:()=>pm,factory_create_with_item:()=>um,factory_declare:()=>lm,factory_from_import:()=>nm,factory_function_noreturn:()=>om,factory_function_return:()=>am,factory_import:()=>sm});var U={};t.r(U),t.d(U,{asrloca_config:()=>Rm,asrloca_del:()=>Em,asrloca_init:()=>Om,asrloca_recognize:()=>Mm});var w={};t.r(w),t.d(w,{image_Histogram:()=>Ec,image_Image:()=>gm,image_Image1:()=>Sm,image_RGB:()=>Lm,image_apriltag:()=>cc,image_barcode:()=>mc,image_binary:()=>_c,image_blob:()=>Mc,image_cartoon:()=>nc,image_circle:()=>$m,image_clear:()=>vm,image_compress:()=>Fm,image_copy:()=>fm,image_dilate:()=>oc,image_draw_arrow:()=>Hm,image_draw_circle:()=>wm,image_draw_cross:()=>Um,image_draw_image:()=>Km,image_draw_keypoints:()=>Wm,image_draw_line:()=>Gm,image_draw_rectangle:()=>Bm,image_draw_string:()=>Xm,image_draw_string_UTF:()=>xm,image_draw_string_flash:()=>km,image_erode:()=>sc,image_find_apriltags:()=>Tc,image_find_barcodes:()=>dc,image_find_blobs:()=>Oc,image_find_circles:()=>qm,image_find_hog:()=>fc,image_find_keypoints:()=>Lc,image_find_line_segments:()=>jm,image_find_lines:()=>Qm,image_find_qrcodes:()=>Ic,image_find_rects:()=>Jm,image_flood_fill:()=>pc,image_font_free:()=>bm,image_font_load:()=>Ym,image_get_histogram:()=>Rc,image_get_pixel:()=>ym,image_get_regression:()=>zm,image_getinfo:()=>Dm,image_grayscale_to_rgb:()=>Nc,image_histeq:()=>ec,image_invert:()=>ac,image_kptmatch:()=>vc,image_lab_to_rgb:()=>gc,image_lens_corr:()=>lc,image_line:()=>Zm,image_linpolar:()=>uc,image_match_descriptor:()=>Fc,image_mean:()=>ic,image_morph:()=>rc,image_percentile:()=>Cc,image_qrcode:()=>hc,image_rect:()=>tc,image_rgb_to_grayscale:()=>Dc,image_rgb_to_lab:()=>Sc,image_save:()=>Nm,image_set_pixel:()=>Vm,image_threshold:()=>Ac,image_tonew:()=>Pm,true_false:()=>Am});var B={};t.r(B),t.d(B,{inout_digital_init:()=>yc,inout_digital_read:()=>bc,inout_digital_write:()=>Yc,inout_highlow:()=>Vc,inout_pin_attachInterrupt:()=>Xc,inout_pin_disirq:()=>Gc,inout_pwm_init:()=>kc,inout_pwm_write:()=>xc});var W={};t.r(W),t.d(W,{iot_checkonenet:()=>tO,iot_create_with_item:()=>Jc,iot_onenet_check:()=>Wc,iot_onenet_connect:()=>wc,iot_onenet_disconnect:()=>Bc,iot_onenet_publish:()=>Qc,iot_onenet_publish_dict:()=>Kc,iot_onenetconnect:()=>Zc,iot_onenetdisconnect:()=>$c,iot_publish:()=>eO,iot_publish_container:()=>jc,iot_publish_item:()=>qc,iot_wifi_connect:()=>Uc,iot_wificonnect:()=>zc});var K={};t.r(K),t.d(K,{base_map:()=>OO,math_arithmetic:()=>oO,math_bit:()=>uO,math_constant:()=>sO,math_constrain:()=>TO,math_indexer_number:()=>mO,math_map:()=>hO,math_max_min:()=>_O,math_max_min1:()=>rO,math_number:()=>nO,math_number_base_conversion:()=>dO,math_random:()=>IO,math_random_seed:()=>cO,math_selfcalcu:()=>pO,math_to_int:()=>lO,math_trig:()=>aO});var Q={};t.r(Q),t.d(Q,{nes_joystick_init:()=>MO,nes_keyboard_init:()=>EO,nes_run:()=>CO});var j={};t.r(j),t.d(j,{network_connect:()=>DO,network_disable_ap:()=>FO,network_disconnect:()=>fO,network_enable_ap:()=>LO,network_ifconfig:()=>NO,network_init:()=>gO,network_scan:()=>SO,network_socket_close:()=>kO,network_socket_connect:()=>VO,network_socket_getaddrinfo:()=>PO,network_socket_init:()=>vO,network_socket_receive:()=>bO,network_socket_send:()=>YO,network_socket_settimeout:()=>yO});var q={};t.r(q),t.d(q,{pins_analog:()=>HO,pins_analog_pin:()=>UO,pins_axis:()=>iR,pins_brightness:()=>nR,pins_builtinimg:()=>zO,pins_button:()=>WO,pins_dac:()=>wO,pins_dac_pin:()=>BO,pins_digital:()=>XO,pins_digital_dot:()=>aR,pins_digital_pin:()=>GO,pins_exlcdh:()=>tR,pins_exlcdv:()=>eR,pins_imglist:()=>ZO,pins_one_more:()=>uR,pins_playlist:()=>$O,pins_pwm:()=>KO,pins_pwm_pin:()=>QO,pins_radio_datarate:()=>pR,pins_radio_power:()=>oR,pins_serial:()=>JO,pins_tone_notes:()=>sR,pins_touch:()=>qO,pins_touch_pin:()=>jO});var J={};t.r(J),t.d(J,{HCSR04:()=>TR,KEY_SELET:()=>_R,sensor_adxl345_get_acceleration:()=>CR,sensor_bmp:()=>cR,sensor_button_init:()=>rR,sensor_button_read:()=>dR,sensor_dht11:()=>IR,sensor_mpu9250_get_acceleration:()=>hR,sensor_mpu9250_get_gyro:()=>MR,sensor_mpu9250_get_magnetic:()=>RR,sensor_mpu9250_temperature:()=>ER,sensor_sht:()=>OR,sensor_use_i2c_init:()=>mR});var z={};t.r(z),t.d(z,{serial_any:()=>LR,serial_print:()=>gR,serial_print_hex:()=>DR,serial_println:()=>SR,serial_read_from_mixgoce:()=>HR,serial_readline:()=>FR,serial_readstr:()=>fR,serial_readstr_until:()=>vR,serial_receive_data_event:()=>NR,serial_send_to_mixgoce:()=>GR,serial_softserial1:()=>PR,system_input:()=>VR,system_print:()=>yR,system_print_container:()=>xR,system_print_end:()=>bR,system_print_inline:()=>YR,system_print_item:()=>XR,system_print_many:()=>kR});var Z={};t.r(Z),t.d(Z,{Panic_with_status_code:()=>WR,TIM_SELET:()=>wR,Timer_init:()=>tM,base_delay:()=>nM,controls_delay:()=>BR,controls_millis:()=>KR,controls_uname:()=>jR,raw_block:()=>QR,system_gc_collect:()=>zR,system_reset:()=>JR,system_ticks_diff:()=>ZR,system_timer:()=>qR,system_timer_init:()=>$R,time_ticks_diff:()=>iM,timer2:()=>eM});var $={};t.r($),t.d($,{LCD_color_seclet:()=>uM,lists_create_with_text1:()=>oM,tuple_create_with_text3:()=>pM});var tt={};t.r(tt),t.d(tt,{PID_get_pid:()=>RM,PID_init:()=>OM,actuator_PAC9685_Servo:()=>rM,actuator_PAC9685_init:()=>_M,actuator_Servo:()=>lM,actuator_Servo_init:()=>aM,actuator_ms32006_dcmotor:()=>mM,actuator_ms32006_init:()=>hM,actuator_ms32006_stepper:()=>cM,actuator_rgb_display:()=>TM,actuator_rgb_init:()=>dM,actuator_rgb_set:()=>IM});var et={};t.r(et),t.d(et,{KPU_analysis:()=>NM,KPU_forward:()=>DM,KPU_init_yolo2:()=>gM,KPU_load:()=>CM,KPU_load1:()=>AM,KPU_run_yolo2:()=>SM,ai_face_info:()=>bM,ai_face_init:()=>yM,ai_face_train:()=>YM,ailocal_loading:()=>PM,ailocal_predict:()=>VM,ailocal_training:()=>vM,aionenet_API:()=>FM,aionenet_nic_init:()=>fM,aionenet_token:()=>LM,tuple_anchor:()=>MM,tuple_calss:()=>EM});var it={};t.r(it),t.d(it,{audio_play:()=>XM,audio_record:()=>GM,mic_init:()=>xM,spk_init:()=>kM,video_play:()=>HM,video_record:()=>UM});var nt={};t.r(nt),t.d(nt,{camera_getinfo:()=>iE,camera_init:()=>WM,camera_reset:()=>KM,camera_run:()=>qM,camera_set_colorbar:()=>eE,camera_set_framesize:()=>jM,camera_set_hmirror:()=>$M,camera_set_pixformat:()=>QM,camera_set_vflip:()=>tE,camera_set_windowing:()=>sE,camera_setmun:()=>nE,camera_shutdown:()=>ZM,camera_skip_frames:()=>JM,camera_snapshot:()=>zM,mode:()=>wM,size:()=>BM});var st={};t.r(st),t.d(st,{communicate_i2c_available:()=>dE,communicate_i2c_init:()=>pE,communicate_i2c_master_read:()=>rE,communicate_i2c_read:()=>aE,communicate_i2c_scan:()=>_E,communicate_i2c_write:()=>lE,communicate_i2s_init:()=>uE,communicate_ir_recv:()=>oE,communicate_ow_init:()=>AE,communicate_ow_read:()=>DE,communicate_ow_reset:()=>SE,communicate_ow_scan:()=>gE,communicate_ow_select:()=>fE,communicate_ow_write:()=>NE,communicate_spi_buffer:()=>mE,communicate_spi_init:()=>TE,communicate_spi_read:()=>cE,communicate_spi_read_output:()=>OE,communicate_spi_readinto:()=>RE,communicate_spi_readinto_output:()=>ME,communicate_spi_set:()=>hE,communicate_spi_write:()=>EE,communicate_spi_write_readinto:()=>CE,i2c_slave_onreceive:()=>IE});var ot={};t.r(ot),t.d(ot,{angle:()=>LE,lcd_clear:()=>bE,lcd_color:()=>FE,lcd_colour:()=>VE,lcd_display:()=>YE,lcd_draw_string:()=>XE,lcd_init:()=>PE,lcd_mirror:()=>xE,lcd_rotation:()=>kE,lcd_width:()=>yE,on_off:()=>vE,touch_calibrate:()=>HE,touch_info:()=>wE,touch_init:()=>GE,touch_read:()=>UE});var pt={};t.r(pt),t.d(pt,{factory_block:()=>zE,factory_block_notes:()=>eC,factory_block_return:()=>ZE,factory_block_return_with_textarea:()=>tC,factory_block_with_textarea:()=>$E,factory_callMethod_noreturn:()=>qE,factory_callMethod_return:()=>JE,factory_declare:()=>jE,factory_from_import:()=>BE,factory_function_noreturn:()=>KE,factory_function_return:()=>QE,factory_import:()=>WE});var ut={};t.r(ut),t.d(ut,{asrloca_config:()=>nC,asrloca_del:()=>oC,asrloca_init:()=>iC,asrloca_recognize:()=>sC});var at={};t.r(at),t.d(at,{image_Histogram:()=>sA,image_Image:()=>aC,image_Image1:()=>lC,image_RGB:()=>uC,image_apriltag:()=>tA,image_barcode:()=>ZC,image_binary:()=>QC,image_blob:()=>nA,image_cartoon:()=>GC,image_circle:()=>bC,image_clear:()=>RC,image_compress:()=>OC,image_copy:()=>cC,image_dilate:()=>UC,image_draw_arrow:()=>gC,image_draw_circle:()=>DC,image_draw_cross:()=>SC,image_draw_image:()=>LC,image_draw_keypoints:()=>fC,image_draw_line:()=>AC,image_draw_rectangle:()=>NC,image_draw_string:()=>mC,image_draw_string_UTF:()=>hC,image_draw_string_flash:()=>TC,image_erode:()=>HC,image_find_apriltags:()=>zC,image_find_barcodes:()=>qC,image_find_blobs:()=>eA,image_find_circles:()=>PC,image_find_hog:()=>rA,image_find_keypoints:()=>dA,image_find_line_segments:()=>vC,image_find_lines:()=>FC,image_find_qrcodes:()=>JC,image_find_rects:()=>VC,image_flood_fill:()=>wC,image_font_free:()=>dC,image_font_load:()=>IC,image_get_histogram:()=>iA,image_get_pixel:()=>CC,image_get_regression:()=>yC,image_getinfo:()=>_C,image_grayscale_to_rgb:()=>_A,image_histeq:()=>xC,image_invert:()=>WC,image_kptmatch:()=>TA,image_lab_to_rgb:()=>uA,image_lens_corr:()=>KC,image_line:()=>YC,image_linpolar:()=>BC,image_match_descriptor:()=>IA,image_mean:()=>XC,image_morph:()=>jC,image_percentile:()=>oA,image_qrcode:()=>$C,image_rect:()=>kC,image_rgb_to_grayscale:()=>lA,image_rgb_to_lab:()=>aA,image_save:()=>rC,image_set_pixel:()=>EC,image_threshold:()=>pA,image_tonew:()=>MC,true_false:()=>pC});var lt={};t.r(lt),t.d(lt,{PGA_SELET:()=>hA,inout_adc_Vread:()=>gA,inout_adc_init:()=>CA,inout_adc_read:()=>AA,inout_digital_init:()=>cA,inout_digital_read:()=>RA,inout_digital_write:()=>OA,inout_highlow:()=>mA,inout_pin_attachInterrupt:()=>SA,inout_pin_disirq:()=>DA,inout_pwm_init:()=>MA,inout_pwm_write:()=>EA});var _t={};t.r(_t),t.d(_t,{iot_onenet_check:()=>vA,iot_onenet_connect:()=>fA,iot_onenet_disconnect:()=>LA,iot_onenet_publish:()=>PA,iot_onenet_publish_dict:()=>FA,iot_wifi_connect:()=>NA});var rt={};t.r(rt),t.d(rt,{base_map:()=>qA,math_arithmetic:()=>bA,math_bit:()=>YA,math_constant:()=>yA,math_constrain:()=>WA,math_indexer_number:()=>jA,math_map:()=>BA,math_max_min:()=>HA,math_max_min1:()=>UA,math_number:()=>VA,math_number_base_conversion:()=>KA,math_random:()=>wA,math_random_seed:()=>QA,math_selfcalcu:()=>kA,math_single:()=>xA,math_to_int:()=>GA,math_trig:()=>XA});var dt={};t.r(dt),t.d(dt,{nes_joystick_init:()=>JA,nes_keyboard_init:()=>zA,nes_run:()=>ZA});var It={};t.r(It),t.d(It,{network_connect:()=>eg,network_disable_ap:()=>og,network_disconnect:()=>ng,network_enable_ap:()=>sg,network_ifconfig:()=>ig,network_init:()=>$A,network_scan:()=>tg,network_server:()=>pg,network_socket_close:()=>Ig,network_socket_connect:()=>lg,network_socket_getaddrinfo:()=>ag,network_socket_init:()=>ug,network_socket_receive:()=>rg,network_socket_send:()=>dg,network_socket_settimeout:()=>_g});var Tt={};t.r(Tt),t.d(Tt,{pins_analog:()=>Og,pins_analog_pin:()=>cg,pins_axis:()=>Fg,pins_brightness:()=>Vg,pins_builtinimg:()=>Ng,pins_button:()=>hg,pins_dac:()=>Cg,pins_dac_pin:()=>Eg,pins_digital:()=>Tg,pins_digital_dot:()=>xg,pins_digital_pin:()=>mg,pins_exlcdh:()=>vg,pins_exlcdv:()=>Pg,pins_imglist:()=>fg,pins_interrupt:()=>Sg,pins_one_more:()=>kg,pins_playlist:()=>Lg,pins_pwm:()=>Mg,pins_pwm_pin:()=>Rg,pins_radio_datarate:()=>bg,pins_radio_power:()=>Yg,pins_serial:()=>Dg,pins_tone_notes:()=>yg,pins_touch:()=>gg,pins_touch_pin:()=>Ag});var ht={};t.r(ht),t.d(ht,{HCSR04:()=>wg,KEY_SELET:()=>Xg,sensor_adxl345_get_acceleration:()=>Qg,sensor_bmp:()=>eS,sensor_button_init:()=>Gg,sensor_button_read:()=>Hg,sensor_compass_reset:()=>$g,sensor_dht11:()=>Ug,sensor_mpu9250_attachGestureInterrupt:()=>Bg,sensor_mpu9250_calibrate_compass:()=>Jg,sensor_mpu9250_field_strength:()=>Zg,sensor_mpu9250_gesture:()=>Wg,sensor_mpu9250_get_acceleration:()=>Kg,sensor_mpu9250_get_gyro:()=>qg,sensor_mpu9250_get_magnetic:()=>jg,sensor_mpu9250_temperature:()=>zg,sensor_sht:()=>iS,sensor_use_i2c_init:()=>tS});var mt={};t.r(mt),t.d(mt,{UART_SELET:()=>nS,serial_any:()=>uS,serial_print:()=>sS,serial_print_hex:()=>pS,serial_println:()=>oS,serial_read_from_mixgoce:()=>cS,serial_readline:()=>lS,serial_readstr:()=>aS,serial_send_to_mixgoce:()=>mS,serial_softserial1:()=>_S,system_input:()=>rS,system_print:()=>dS,system_print_end:()=>TS,system_print_inline:()=>IS,system_print_many:()=>hS});var ct={};t.r(ct),t.d(ct,{Panic_with_status_code:()=>LS,TIM_SELET:()=>OS,Timer_init:()=>GS,base_delay:()=>wS,controls_delay:()=>bS,controls_end_program:()=>vS,controls_millis:()=>FS,controls_uname:()=>YS,reset:()=>PS,system_device_name:()=>NS,system_device_serial_number:()=>fS,system_event_bus_source:()=>SS,system_event_bus_value:()=>DS,system_gc_collect:()=>yS,system_on_event:()=>CS,system_raise_event:()=>ES,system_reset:()=>VS,system_run_in_background:()=>RS,system_ticks_diff:()=>xS,system_timer:()=>kS,system_timer_init:()=>XS,system_timestamp:()=>AS,system_value:()=>gS,system_wait:()=>MS,time_ticks_diff:()=>US,timer2:()=>HS});var Ot={};t.r(Ot),t.d(Ot,{LCD_color_seclet:()=>QS,LCD_color_seclet1:()=>KS,lists_create_with_text1:()=>BS,tuple_create_with_text3:()=>WS});const Rt=Blockly,Mt=Mixly,Et={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n<e.length;n++)for(var s=e[n].getVars(),o=0;o<s.length;o++){var p=s[o];p&&(i[p.toLowerCase()]=p)}var u=[];for(var a in i)u.push(i[a]);return u},renameVariable:function(t,e,i){Rt.Events.setGroup(!0);for(var n=i.getAllBlocks(),s=0;s<n.length;s++)n[s].renameVar(t,e);Rt.Events.setGroup(!1)},flyoutCategory:function(t){var e=Et.allVariables(t),i=[];((p=Rt.utils.xml.createElement("block")).setAttribute("type","variables_global"),i.push(p),Rt.Blocks.variables_set)&&((p=Rt.utils.xml.createElement("block")).setAttribute("type","variables_set"),i.push(p));Rt.Blocks.variables_change&&((p=Rt.utils.xml.createElement("block")).setAttribute("type","variables_change"),i.push(p));Rt.Blocks.controls_type&&((p=Rt.utils.xml.createElement("block")).setAttribute("type","controls_type"),i.push(p));Rt.Blocks.controls_typeLists&&((p=Rt.utils.xml.createElement("block")).setAttribute("type","controls_typeLists"),i.push(p));if(Rt.Blocks.lists_zip){(p=Rt.utils.xml.createElement("block")).setAttribute("type","lists_zip"),p.setAttribute("inline","false");var n=Rt.utils.xml.createElement("mutation");n.setAttribute("items",2),p.appendChild(n);for(let t=0;t<2;t++){let e=Rt.utils.xml.createElement("value");e.setAttribute("name",`ADD${t}`),p.appendChild(e)}i.push(p)}Rt.Blocks.unpack_iterable_object&&((p=Rt.utils.xml.createElement("block")).setAttribute("type","unpack_iterable_object"),i.push(p));for(var s=0;s<e.length;s++){if(Rt.Blocks.variables_set){(p=Rt.utils.xml.createElement("block")).setAttribute("type","variables_set"),Rt.Blocks.variables_get&&p.setAttribute("gap",8),(u=Rt.utils.xml.createElement("field",null,e[s])).setAttribute("name","VAR");var o=Rt.utils.xml.createTextNode(e[s]);u.appendChild(o),p.appendChild(u),i.push(p)}if(Rt.Blocks.variables_get){var p,u;(p=Rt.utils.xml.createElement("block")).setAttribute("type","variables_get"),Rt.Blocks.variables_set&&p.setAttribute("gap",24),(u=Rt.utils.xml.createElement("field",null,e[s])).setAttribute("name","VAR");o=Rt.utils.xml.createTextNode(e[s]);u.appendChild(o),p.appendChild(u),i.push(p)}}return i},generateUniqueName:function(t){var e=Et.allVariables(t),i="";if(e.length)for(var n=1,s="ijkmnopqrstuvwxyzabcdefgh",o=0,p=s.charAt(o);!i;){for(var u=!1,a=0;a<e.length;a++)if(e[a].toLowerCase()==p){u=!0;break}u?(25==++o&&(o=0,n++),p=s.charAt(o),n>1&&(p+=n)):i=p}else i="i";return i}},Ct=Et;
/**
* @license
* Visual Blocks Editor
*
* Copyright 2012 Google Inc.
* https://developers.google.com/blockly/
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
class At{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n<i.length;n++)this.reservedDict_[i[n]]=!0;this.reset()}static equals(t,e){return t.toLowerCase()==e.toLowerCase()}reset(){this.db_=Object.create(null),this.dbReverse_=Object.create(null),this.variableMap_=null}setVariableMap(t){this.variableMap_=t}getNameForUserVariable_(t){if(!this.variableMap_)return null;var e=this.variableMap_.getVariableById(t);return e?e.name:null}getName(t,e){if(e==Ct.NAME_TYPE){var i=this.getNameForUserVariable_(t);i&&(t=i)}var n=t.toLowerCase()+"_"+e,s=e==Ct.NAME_TYPE||e==At.DEVELOPER_VARIABLE_TYPE?this.variablePrefix_:"";if(n in this.db_)return s+this.db_[n];var o=this.getDistinctName(t,e);return this.db_[n]=o.substr(s.length),o}getDistinctName(t,e){for(var i=this.safeName_(t),n="";this.dbReverse_[i+n]||i+n in this.reservedDict_;)n=n?n+1:2;return i+=n,this.dbReverse_[i]=!0,(e==Ct.NAME_TYPE||e==At.DEVELOPER_VARIABLE_TYPE?this.variablePrefix_:"")+i}safeName_(t){return t?(t=encodeURI(t.replace(/ /g,"_")).replace(/[^,\w]/g,"_"),-1!="0123456789".indexOf(t[0])&&(t="my_"+t)):t="unnamed",t}}At.DEVELOPER_VARIABLE_TYPE="DEVELOPER_VARIABLE";const gt=At,St=330,Dt={init:function(){this.setColour(St),this.appendDummyInput().appendField(new Rt.FieldTextInput(""),"VAR"),this.setOutput(!0),this.setTooltip(Rt.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},Nt={init:function(){this.setColour(St),this.appendValueInput("VALUE").appendField(new Rt.FieldTextInput(""),"VAR").appendField(Rt.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){var t=this.getFieldValue("VAR");return null==t?[]:t.split(",")},renameVar:function(t,e){gt.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},ft={init:function(){this.setColour(St);var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"],[Rt.Msg.LANG_MATH_BOOLEAN,"bool"],[Rt.Msg.LANG_MATH_STRING,"str"],[Rt.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[Rt.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[Rt.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[Rt.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[Rt.Msg.LANG_MATH_BYTE,"bytes"]];this.appendValueInput("MYVALUE").appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0)}},Lt={init:function(){this.setColour(St),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_GLOBAL).setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)}},Ft={init:function(){this.setColour(St),this.appendValueInput("DATA").appendField(Rt.Msg.MICROBIT_PYTHON_TYPE),this.setOutput(!0),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},vt={init:function(){this.setColour(St),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_CONTORL_GET_TYPE).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.MIXLY_MICROBIT_TYPE_FLOAT,"float"],[Rt.Msg.MIXLY_MICROBIT_TYPE_STRING,"str"],[Rt.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[Rt.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[Rt.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[Rt.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[Rt.Msg.LANG_MATH_BYTE,"bytes"],[Rt.Msg.LOGIC_NULL,"type(None)"]]),"type"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type");return Rt.Msg.MICROBIT_controls_TypeLists+{int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.MIXLY_MICROBIT_TYPE_FLOAT,str:Rt.Msg.MIXLY_MICROBIT_TYPE_STRING,list:Rt.Msg.MIXLY_MICROBIT_TYPE_LIST,tuple:Rt.Msg.MIXLY_MICROBIT_TYPE_TUPLE,dict:Rt.Msg.MIXLY_MICROBIT_TYPE_DICT,set:Rt.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,image:Rt.Msg.MIXLY_MICROBIT_IMAGE,bytes:Rt.Msg.LANG_MATH_BYTE,NoneType:Rt.Msg.LOGIC_NULL}[e]}))}},Pt={init:function(){this.setColour(St),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setMutator(new Rt.icons.MutatorIcon(["lists_zip_item"],this)),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LISTS_ZIP_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_zip_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("lists_zip_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(Rt.Msg.MIXLY_PYTHON_LISTS_ZIP);else for(t=0;t<this.itemCount_;t++){var e=this.appendValueInput("ADD"+t);0==t&&e.appendField(Rt.Msg.MIXLY_PYTHON_LISTS_ZIP)}}},Vt={init:function(){this.setColour(St),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_LISTS_ZIP).appendField("[]"),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_CONTAINER_TOOLTIP),this.contextMenu=!1}},yt={init:function(){this.setColour(St),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_LISTS_ZIP_ITEM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LISTS_ZIP_ITEM_TOOLTIP),this.contextMenu=!1}},Yt={init:function(){this.setColour(St),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_VARIABLE_UNPACK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_PYTHON_LISTS_ZIP_ITEM,"*"],[Rt.Msg.MIXLY_MICROBIT_TYPE_DICT,"**"]]),"TYPE"),this.setTooltip(""),this.setOutput(!0)}},bt=120,kt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_NAME_MAIN),this.appendStatementInput("DO").appendField(""),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},xt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETUP),this.appendStatementInput("DO").appendField(""),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},Xt={init:function(){var t=[[Rt.Msg.MIXLY_mSecond,"delay"],[Rt.Msg.MIXLY_uSecond,"delayMicroseconds"]];this.setColour(bt),this.appendValueInput("DELAY_TIME",Number).appendField(Rt.Msg.MIXLY_DELAY).appendField(new Rt.FieldDropdown(t),"UNIT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_CONTROL_DELAY),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id9"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","延时"]}}}},Gt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_END_TOOLTIP)}},Ht={init:function(){this.setColour(bt),this.appendValueInput("IF0").setCheck([Boolean,Number]).appendField(Rt.Msg.CONTROLS_IF_MSG_IF),this.appendStatementInput("DO0").appendField(Rt.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#if"),this.setMutator(new Rt.icons.MutatorIcon(["controls_if_elseif","controls_if_else"],this));var t=this;this.setTooltip((function(){return t.elseifCount_||t.elseCount_?!t.elseifCount_&&t.elseCount_?Rt.Msg.CONTROLS_IF_TOOLTIP_2:t.elseifCount_&&!t.elseCount_?Rt.Msg.CONTROLS_IF_TOOLTIP_3:t.elseifCount_&&t.elseCount_?Rt.Msg.CONTROLS_IF_TOOLTIP_4:"":Rt.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ut={init:function(){this.setColour(bt),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},wt={init:function(){this.setColour(bt),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Rt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Bt={init:function(){this.setColour(bt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Wt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Kt={init:function(){this.setColour(bt);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},jt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Bt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Kt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const qt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Jt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},zt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(bt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},$t={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},te={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ee={init:function(){this.jsonInit({message0:Rt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:bt,tooltip:Rt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Rt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},ie={init:function(){this.setColour(bt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_STAT),this.setOutput(!0)}},ne={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},se={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},oe={init:function(){this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Rt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(bt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pe={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ue={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ae={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},le={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_GET_UNIQUE_IDEN)}},_e={init:function(){this.setColour(bt),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},re=230;Rt.FieldTextInput.math_number_validator=function(t){return String(t)},Rt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const de={init:function(){this.setColour(re),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Ie={init:function(){this.setColour(re);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Te={init:function(){this.setColour(re);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},he={init:function(){this.setColour(re),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},me={init:function(){this.setColour(re),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ce={init:function(){this.setColour(re),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Oe={init:function(){this.setColour(re),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Re={init:function(){var t=[[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_HEX,"hex"]];this.setColour(re),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Rt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Rt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Rt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Me={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(re),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ee={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(re),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Ce={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(re),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ae={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(re),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ge={init:function(){this.setColour(re),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Se={init:function(){this.setColour(re),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},De={init:function(){this.setColour(re),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Ne={init:function(){this.setColour(re),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},fe={init:function(){this.setColour(re),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MATH_ROUND).appendField(Rt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Rt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Le={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"],[Rt.Msg.MIXLY_TO_BITES,"b"],[Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(re),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Fe={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(re),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ve=Se,Pe={init:function(){this.setColour(re),this.appendValueInput("VAR").appendField(Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},Ve={init:function(){this.setColour(re),this.itemCount_=1,this.setMutator(new Rt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Rt.Msg.MIXLY_PRODUCT+Rt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Rt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("lists_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput(`ADD${n}`).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput(`ADD${i}`);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else{let t=0;for(;this.getInput(`ADD${t}`);)this.removeInput(`ADD${t}`),t++}if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(Rt.Msg.MIXLY_EMPTY_REMINDER);else for(let t=0;t<this.itemCount_;t++)this.appendValueInput(`ADD${t}`),this.moveInputBefore(`ADD${t}`,"REPEAT")},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ye=160,Ye={init:function(){this.setColour(ye),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Rt.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Rt.FieldImage(e,12,12,'"')}},be={init:function(){this.setColour(ye),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Rt.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(t){if(t==this.RTL)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Rt.FieldImage(e,12,12,'"')}};Rt.FieldTextInput.char_validator=function(t){if(t.length>1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const ke={init:function(){this.setColour(ye),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput("",Rt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Rt.FieldImage(e,7,12,'"')}},xe={init:function(){this.setColour(ye),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Rt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Xe={init:function(){this.setColour(ye),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ge={init:function(){this.setColour(ye),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},He={init:function(){this.setColour(ye),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ue={init:function(){this.setColour(ye),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},we={init:function(){this.WHERE_OPTIONS=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.TEXT_GET_INDEX_RANDOM+1+Rt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ye),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.LISTS_GET_INDEX_GET,"MODE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Rt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Rt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Rt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Rt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Rt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Rt.Msg.TEXT_GET_INDEX_RANDOM};return Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Rt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Rt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Rt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Be={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ye),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Rt.Msg.TEXT_CHARAT2)}},We={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ye),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Rt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Rt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ke={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ye),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Rt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Qe={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ye),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},je={init:function(){var t=[[Rt.Msg.MIXLY_EQUALS,"==="],[Rt.Msg.MIXLY_STARTSWITH,"startswith"],[Rt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(ye),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Rt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},qe={init:function(){this.setColour(ye),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_COMPARETO_HELP)}},Je={init:function(){var t=[[Rt.Msg.TEXT_UPPER,"upper"],[Rt.Msg.TEXT_TITLE,"title"],[Rt.Msg.TEXT_CAPITALIZE,"capitalize"],[Rt.Msg.TEXT_SWAPCASE,"swapcase"],[Rt.Msg.TEXT_LOWER,"lower"]];this.setColour(ye),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Rt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Rt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Rt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Rt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Rt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ze={init:function(){var t=[[Rt.Msg.TEXT_LJUST,"ljust"],[Rt.Msg.TEXT_CENTER,"center"],[Rt.Msg.TEXT_RJUST,"rjust"]];this.setColour(ye),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Rt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},Ze={init:function(){this.setColour(ye),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Rt.Msg.MIXLY_MID+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},$e={init:function(){this.setColour(ye),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},ti={init:function(){this.setColour(ye),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Rt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ei={init:function(){this.setColour(ye),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Rt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Rt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ii={init:function(){var t=[[Rt.Msg.TEXT_TRIM_BOTH,"strip"],[Rt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Rt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(ye),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Rt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Rt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Rt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ni={init:function(){this.setColour(ye),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("text_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField();else for(t=0;t<this.itemCount_;t++){var e=this.appendValueInput("ADD"+t);0==t&&e.appendField(Rt.Msg.PROCEDURES_BEFORE_PARAMS)}},getVars:function(){if(null!=this.getFieldValue("VAR"))return-1==this.getFieldValue("VAR").indexOf("'")&&-1==this.getFieldValue("VAR").indexOf('"')?[this.getFieldValue("VAR")]:[]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},si={init:function(){this.setColour(ye),this.appendDummyInput().appendField(Rt.Msg.PROCEDURES_MUTATORCONTAINER_TITLE),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.TUPLE_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},oi={init:function(){this.setColour(ye),this.appendDummyInput().appendField(Rt.Msg.blockpy_SET_VARIABLES_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.TUPLE_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pi=Qe,ui=qe,ai=Be,li={init:function(){this.setColour(ye),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendValueInput("VAR").setCheck(String),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("text_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField();else for(t=0;t<this.itemCount_;t++){var e=this.appendValueInput("ADD"+t);0==t&&e.appendField(Rt.Msg.PROCEDURES_BEFORE_PARAMS)}}},_i={init:function(){this.setColour(ye);var t=[[Rt.Msg.MIXPY_TEXT_ENCODE,"encode"],[Rt.Msg.MIXPY_TEXT_DECODE,"decode"]];this.appendDummyInput().appendField(new Rt.FieldDropdown([["ASCII","ASCII"],["gb2312","gb2312"],["gbk","gbk"],["utf-8","utf-8"],["utf-16","utf-16"],["utf-32","utf-32"]]),"CODE").appendField(" "),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"DIR").appendField(Rt.Msg.LANG_MATH_STRING),this.setOutput(!0,String),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXPY_TEXT_ENCODE_DECODE_TOOLTIP)}},ri={init:function(){this.setColour(ye),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_TEXT_EVAL),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_EVAL_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_EVAL_TOOLTIP)}},di={init:function(){this.setColour(ye),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_OS_SYSTEM),this.setInputsInline(!0),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_OS_SYSTEM_TOOLTIP)}},Ii=260,Ti={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ii),this.appendValueInput("LIST"),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM)}},hi={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ii),this.appendValueInput("LIST"),this.appendDummyInput(""),this.appendValueInput("AT1").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.TEXT_CHARAT_TAIL+" "+Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT_TAIL),this.setInputsInline(!0),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.PYTHON_LISTS_GET_SUBLIST_TOOLTIP)}},mi={init:function(){this.appendValueInput("LIST").setCheck(null),this.appendValueInput("row").setCheck(null).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+Rt.Msg.DATAFRAME_RAW),this.appendValueInput("col").setCheck(null).appendField(Rt.Msg.DATAFRAME_COLUMN),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Ii),this.setTooltip(""),this.setHelpUrl("")}},ci={init:function(){this.appendValueInput("LIST").setCheck(null),this.appendValueInput("row_start").setCheck(null).appendField(Rt.Msg.MIXLY_GET+" "+Rt.Msg.DATAFRAME_RAW+" ["),this.appendValueInput("row_end").setCheck(null).appendField(","),this.appendValueInput("col_start").setCheck(null).appendField(") "+Rt.Msg.DATAFRAME_COLUMN+" ["),this.appendValueInput("col_end").setCheck(null).appendField(","),this.appendDummyInput().appendField(") "+Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0,"List"),this.setColour(Ii),this.setTooltip(""),this.setHelpUrl("")}},Oi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(new Rt.FieldTextInput("mylist"),"VAR").appendField("[").appendField("]"),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["lists_create_with_item"],this)),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("lists_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(Rt.Msg.LISTS_CREATE_PYTHON_EMPTY_TITLE);else for(t=0;t<this.itemCount_;t++){var e=this.appendValueInput("ADD"+t);0==t&&e.appendField(Rt.Msg.blockpy_LISTS_CREATE_WITH_INPUT_WITH)}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ri={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(new Rt.FieldTextInput("mylist"),"VAR").appendField(" = [").appendField(new Rt.FieldTextInput("0,0,0"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LISTS_CREATE_WITH_TEXT2)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Mi={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_LIST),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Ei={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(Rt.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ci={init:function(){this.setColour(Ii),this.appendValueInput("LIST"),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_LIST_ASSIGN_AT),this.appendValueInput("TO").appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIST_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.LANG_LISTS_SET_INDEX_TOOLTIP)}},Ai={init:function(){this.setColour(Ii),this.TYPE=[[Rt.Msg.MIXLY_blockpy_set_add,"append"],[Rt.Msg.MIXLY_MICROBIT_LIST_EXTEND,"extend"]],this.appendValueInput("LIST").setCheck("List"),this.appendValueInput("DATA").appendField(new Rt.FieldDropdown(this.TYPE),"OP").appendField(Rt.Msg.MIXLY_MICROBIT_LIST_A_ITEM),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIST_TO_END),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{append:Rt.Msg.MIXLY_TOOLTIP_LIST_APPEND,extend:Rt.Msg.LISTS_EXTEND_TOOLTIP}[e]}))}},gi={init:function(){this.setColour(Ii),this.appendValueInput("LIST"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+Rt.Msg.LISTS_GET_INDEX_RANDOM),this.setTooltip(Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM),this.setOutput(!0)}},Si={init:function(){this.setColour(Ii),this.appendValueInput("LIST"),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_RANDOM),this.appendDummyInput().appendField(Rt.Msg.LANG_LISTS_GET_INDEX2+Rt.Msg.LISTS_GET_RANDOM_SUBLIST),this.setTooltip(Rt.Msg.LISTS_GET_RANDOM_SUBLIST_TOOLTIP),this.setOutput(!0,"List")}},Di={init:function(){this.setColour(Ii),this.appendValueInput("LIST"),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIST_INSERT_AT),this.appendValueInput("VALUE").appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIST_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.LANG_LISTS_SET_INDEX_TOOLTIP),this.setTooltip(Rt.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT)}},Ni={init:function(){this.setColour(Ii),this.appendValueInput("VAR").setCheck("List"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIST_REVERSE),this.setTooltip(Rt.Msg.LANG_LISTS_CLEAR_TOOLTIP),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fi={init:function(){this.setColour(Ii),this.appendValueInput("VAR"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_CLEAR),this.setTooltip(Rt.Msg.LANG_LISTS_REVERSE_TOOLTIP),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Li={init:function(){this.setColour(Ii),this.TYPE=[[Rt.Msg.SERIES_INDEX,"del"],[Rt.Msg.MIXLY_MICROBIT_JS_I2C_VALUE,"remove"]],this.appendValueInput("LIST").setCheck("List"),this.appendValueInput("DATA").appendField(Rt.Msg.MIXLY_MIXPY_LISTS_REMOVE).appendField(new Rt.FieldDropdown(this.TYPE),"OP"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{del:Rt.Msg.LISTS_SET_INDEX_TOOLTIP_DELETE,remove:Rt.Msg.MIXLY_TOOLTIP_LIST_REMOVE}[e]}))}},Fi={init:function(){this.setColour(Ii),this.appendValueInput("LIST"),this.appendValueInput("VALUE").appendField(Rt.Msg.MIXLY_MICROBIT_LIST_POP),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM)}},vi={init:function(){var t=[[Rt.Msg.MIXLY_LIST_INDEX,"INDEX"],[Rt.Msg.MIXLY_LIST_COUNT,"COUNT"]];this.setColour(Ii),this.appendValueInput("VAR").setCheck("List"),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.HTML_VALUE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DE).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{INDEX:Rt.Msg.MIXLY_TOOLTIP_LIST_FIND_INDEX,COUNT:Rt.Msg.MIXLY_TOOLTIP_LIST_FIND_COUNT}[t]}))}},Pi={init:function(){var t=[[Rt.Msg.MIXLY_LIST_LEN,"LEN"],[Rt.Msg.MATH_ONLIST_OPERATOR_SUM,"SUM"],[Rt.Msg.MATH_ONLIST_OPERATOR_MAX,"MAX"],[Rt.Msg.MATH_ONLIST_OPERATOR_MIN,"MIN"],[Rt.Msg.MATH_ONLIST_OPERATOR_AVERAGE,"AVERAGE"],[Rt.Msg.MATH_ONLIST_OPERATOR_MEDIAN,"MEDIAN"],[Rt.Msg.MATH_ONLIST_OPERATOR_MODE,"MODE"],[Rt.Msg.MATH_ONLIST_OPERATOR_STD_DEV,"STD_DEV"]];this.setColour(Ii),this.setOutput(!0,Number),this.appendValueInput("data"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{LEN:Rt.Msg.LISTS_LENGTH_TOOLTIP,SUM:Rt.Msg.MATH_ONLIST_TOOLTIP_SUM,MAX:Rt.Msg.MATH_ONLIST_TOOLTIP_MAX,MIN:Rt.Msg.MATH_ONLIST_TOOLTIP_MIN,AVERAGE:Rt.Msg.MATH_ONLIST_TOOLTIP_AVERAGE,MEDIAN:Rt.Msg.MATH_ONLIST_TOOLTIP_MEDIAN,MODE:Rt.Msg.MATH_ONLIST_TOOLTIP_MODE,STD_DEV:Rt.Msg.MATH_ONLIST_TOOLTIP_STD_DEV}[t]}))}},Vi={init:function(){this.jsonInit({args0:[{type:"input_value",name:"LIST",check:"List"},{type:"field_dropdown",name:"TYPE",options:[[Rt.Msg.LISTS_SORT_TYPE_NUMERIC,"NUMERIC"],[Rt.Msg.LISTS_SORT_TYPE_TEXT,"TEXT"],[Rt.Msg.LISTS_SORT_TYPE_IGNORECASE,"IGNORE_CASE"]]},{type:"field_dropdown",name:"DIRECTION",options:[[Rt.Msg.LISTS_SORT_ORDER_ASCENDING,"1"],[Rt.Msg.LISTS_SORT_ORDER_DESCENDING,"-1"]]}],message0:Rt.Msg.LISTS_SORT_TITLE,inputsInline:!0,output:"List",colour:Ii,tooltip:Rt.Msg.LISTS_SORT_TOOLTIP,helpUrl:Rt.Msg.LISTS_SORT_HELPURL})}},yi={init:function(){var t=[[Rt.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[Rt.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[Rt.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD,"array"]];this.setColour(Ii),this.appendValueInput("VAR").setCheck("List"),this.appendDummyInput("").appendField(Rt.Msg.A_TO_B).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{tuple:Rt.Msg.MIXLY_TOOLTIP_CONVERT_LIST_TO_TUPLE,set:Rt.Msg.MIXLY_TOOLTIP_CONVERT_LIST_TO_SET,array:Rt.Msg.MIXLY_TOOLTIP_CONVERT_LIST_TO_ARRAY}[t]})),this.setInputsInline(!0),this.setOutput(!0)}},Yi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("[").appendField(new Rt.FieldTextInput("0,0,0"),"CONTENT").appendField("]"),this.setInputsInline(!0),this.setOutput(!0)}},bi={init:function(){this.setColour(Ii),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setMutator(new Rt.icons.MutatorIcon(["lists_create_with_item"],this)),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("lists_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(Rt.Msg.LISTS_CREATE_PYTHON_EMPTY_TITLE);else for(t=0;t<this.itemCount_;t++){var e=this.appendValueInput("ADD"+t);0==t&&e.appendField(Rt.Msg.blockpy_LISTS_CREATE_WITH_INPUT_WITH)}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ki={init:function(){var t=[[Rt.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[Rt.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[Rt.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"]];this.setColour(Ii),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.A_TO_B).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0)}},xi={init:function(){this.setColour(Ii),this.appendValueInput("TUP"),this.appendDummyInput("").appendField(Rt.Msg.OBJECT_DELETE),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xi={init:function(){this.setColour(Ii),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOLIST),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOLIST)}},Gi=Oi,Hi=Ri,Ui=Ti,wi=hi,Bi=Ci,Wi=Di,Ki=Li,Qi=Xi,ji={init:function(){this.setColour(Ii),this.appendValueInput("VAR").appendField(Rt.Msg.blockpy_USE_LIST),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TO_INDEX_SEQUENCE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP)}},qi={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(Rt.Msg.blockpy_USE_LIST),this.appendValueInput("LIST"),this.appendValueInput("VALUE").appendField(Rt.Msg.MIXLY_TO_INDEX_SEQUENCE).appendField(Rt.Msg.MIXLY_INDEX+Rt.Msg.MIXLY_STARTSWITH),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOTO_INDEX_SEQUENC_TOOLTIP)}},Ji=345,zi={init:function(){this.setColour(Ji),this.appendDummyInput("").appendField(new Rt.FieldTextInput("mydict"),"VAR").appendField(new Rt.FieldLabel(Rt.Msg.DICTS_CREATE_WITH_INPUT_WITH),"TIP"),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("dicts_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){this.getInput("EMPTY")&&this.removeInput("EMPTY");for(var t=[],e=0;this.getInput("ADD"+e);e++)t.push(this.getFieldValue("KEY"+e)),this.removeInput("ADD"+e);if(0==this.itemCount_)this.getField("TIP").setValue(Rt.Msg.DICTS_CREATE_EMPTY_TITLE);else{this.getField("TIP").setValue(Rt.Msg.DICTS_CREATE_WITH_INPUT_WITH);for(e=0;e<this.itemCount_;e++)this.appendValueInput("ADD"+e).setCheck(null).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldTextInput(t.length>e?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Zi={init:function(){this.setColour(Ji),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},$i={init:function(){this.setColour(Ji),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},tn={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_KEYS),this.setTooltip(Rt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_TOOLTIP)}},nn={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},sn={init:function(){this.setColour(Ji),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},on={init:function(){this.setColour(Ji),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_DELETE_TOOLTIP)}},pn={init:function(){this.setColour(Ji),this.appendValueInput("DICT2").setCheck("Dict").appendField(Rt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Rt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MID),this.setTooltip(Rt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},un={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_CLEAR),this.setTooltip(Rt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},an={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_ITEMS),this.setTooltip(Rt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},ln={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_VALUES),this.setTooltip(Rt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},_n={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},rn={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_DELDICT),this.setTooltip(Rt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dn={init:function(){this.MODE=[[Rt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Rt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Rt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Rt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Rt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Rt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},In={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setTooltip(Rt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Tn={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},hn={init:function(){this.setColour(Ji),this.appendDummyInput("").appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("dicts_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){this.getInput("EMPTY")&&this.removeInput("EMPTY");for(var t=[],e=0;this.getInput("ADD"+e);e++)t.push(this.getFieldValue("KEY"+e)),this.removeInput("ADD"+e);if(0==this.itemCount_)this.getField("TIP").setValue(Rt.Msg.LOGIC_NULL+Rt.Msg.MIXLY_MICROBIT_TYPE_DICT);else{this.getField("TIP").setValue(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT);for(e=0;e<this.itemCount_;e++)this.appendValueInput("ADD"+e).setCheck(null).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldTextInput(t.length>e?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},mn={init:function(){this.setColour(Ji),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},cn={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},On={init:function(){this.setColour(Ji),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Rn={init:function(){this.setColour(Ji),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("r"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("l"),this.appendValueInput("VAR4").appendField("n"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Mn=210,En={init:function(){var t=Rt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Mn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Cn={init:function(){var t=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Mn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Rt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},An={init:function(){var t=[[Rt.Msg.LOGIC_OPERATION_AND,"AND"],[Rt.Msg.LOGIC_OPERATION_OR,"OR"],[Rt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Rt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Mn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Rt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},gn={init:function(){this.setColour(Mn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Rt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Rt.Msg.LOGIC_NEGATE_TOOLTIP)}},Sn={init:function(){var t=[[Rt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Rt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Mn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Rt.FieldDropdown(t),"BOOL"),this.setTooltip(Rt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Dn={init:function(){this.setColour(Mn),this.setOutput(!0),this.appendDummyInput().appendField(Rt.Msg.LOGIC_NULL),this.setTooltip(Rt.Msg.LOGIC_NULL_TOOLTIP)}},Nn={init:function(){this.setColour(Mn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Rt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Rt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},fn={init:function(){var t=[[Rt.Msg.TEXT_APPEND_TO,"in"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Mn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Rt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Rt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.IN)}},Ln={init:function(){var t=[[Rt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Mn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Fn={init:function(){this.setColour(Mn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Rt.Msg.MIXLY_BELONG;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Rt.Msg.MIXLY_BELONG,p=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXPY_TEXT_ENCODE).appendField(new Rt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Rt.Msg.MIXLY_BELONG,p=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},Yn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.HTML_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Un={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const wn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},jn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Rt.Msg.MIXLY_ESP32_SET+{mkdir:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Rt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_FILE,"isfile"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Zn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Rt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$n={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Rt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ts={};ts.NAME_TYPE=Rt.PROCEDURE_CATEGORY_NAME,ts.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s<e.length;s++)if(e[s].getProcedureDef){var o=e[s].getProcedureDef();o&&(o[2]?i.push(o):n.push(o))}return n.sort(ts.procTupleComparator_),i.sort(ts.procTupleComparator_),[n,i]},ts.procTupleComparator_=function(t,e){return t[0].toLowerCase().localeCompare(e[0].toLowerCase())},ts.findLegalName=function(t,e){if(e.isInFlyout)return t;for(t=t||Rt.Msg.UNNAMED_KEY||"unnamed";!ts.isLegalName_(t,e.workspace,e);){var i=t.match(/^(.*?)(\d+)$/);i?t=i[1]+(parseInt(i[2],10)+1):t+="2"}return t},ts.isLegalName_=function(t,e,i){return!ts.isNameUsed(t,e,i)},ts.isNameUsed=function(t,e,i){for(var n=e.getAllBlocks(!1),s=0;s<n.length;s++)if(n[s]!=i&&n[s].getProcedureDef){var o=n[s].getProcedureDef();if(Rt.Names.equals(o[0],t))return!0}return!1},ts.rename=function(t){t=t.trim();var e=ts.findLegalName(t,this.getSourceBlock()),i=this.getValue();if(i!=t&&i!=e)for(var n=this.getSourceBlock().workspace.getAllBlocks(!1),s=0;s<n.length;s++)n[s].renameProcedure&&n[s].renameProcedure(i,e);return e},ts.flyoutCategory=function(t){var e,i,n=[];Rt.Blocks.procedures_defnoreturn&&((i=Rt.utils.xml.createElement("block")).setAttribute("type","procedures_defnoreturn"),i.setAttribute("gap",16),(e=Rt.utils.xml.createElement("field")).setAttribute("name","NAME"),e.appendChild(Rt.utils.xml.createTextNode(Rt.Msg.PROCEDURES_DEFNORETURN_PROCEDURE)),i.appendChild(e),n.push(i));Rt.Blocks.procedures_defreturn&&((i=Rt.utils.xml.createElement("block")).setAttribute("type","procedures_defreturn"),i.setAttribute("gap",16),(e=Rt.utils.xml.createElement("field")).setAttribute("name","NAME"),e.appendChild(Rt.utils.xml.createTextNode(Rt.Msg.PROCEDURES_DEFRETURN_PROCEDURE)),i.appendChild(e),n.push(i));Rt.Blocks.procedures_return&&((i=Rt.utils.xml.createElement("block")).setAttribute("type","procedures_return"),i.setAttribute("gap",16),n.push(i));Rt.Blocks.procedures_ifreturn&&((i=Rt.utils.xml.createElement("block")).setAttribute("type","procedures_ifreturn"),i.setAttribute("gap",16),n.push(i));function s(t,e){for(var i=0;i<t.length;i++){var s=t[i][0],o=t[i][1],p=Rt.utils.xml.createElement("block");p.setAttribute("type",e),p.setAttribute("gap",16);var u=Rt.utils.xml.createElement("mutation");u.setAttribute("name",s),p.appendChild(u);for(var a=0;a<o.length;a++){var l=Rt.utils.xml.createElement("arg");l.setAttribute("name",o[a]),u.appendChild(l)}n.push(p)}}n.length&&n[n.length-1].setAttribute("gap",24);var o=ts.allProcedures(t);return s(o[0],"procedures_callnoreturn"),s(o[1],"procedures_callreturn"),n},ts.getCallers=function(t,e){for(var i=[],n=e.getAllBlocks(!1),s=0;s<n.length;s++)if(n[s].getProcedureCall){var o=n[s].getProcedureCall();o&&Rt.Names.equals(o,t)&&i.push(n[s])}return i},ts.mutateCallers=function(t){const e=Rt.Events.getRecordUndo(),i=t.getProcedureDef()[0],n=t.mutationToDom(!0),s=Rt.Procedures.getCallers(i,t.workspace);for(let t,i=0;t=s[i];i++){const i=t.mutationToDom(),s=i&&Rt.utils.xml.domToText(i);t.domToMutation&&t.domToMutation(n);const o=t.mutationToDom(),p=o&&Rt.utils.xml.domToText(o);s!==p&&(Rt.Events.setRecordUndo(!1),Rt.Events.fire(new(Rt.Events.get(Rt.Events.BLOCK_CHANGE))(t,"mutation",null,s,p)),Rt.Events.setRecordUndo(e))}},ts.getDefinition=function(t,e){for(var i=e.getTopBlocks(!1),n=0;n<i.length;n++)if(i[n].getProcedureDef){var s=i[n].getProcedureDef();if(s&&Rt.Names.equals(s[0],t))return i[n]}return null};const es=ts,is={init:function(){var t=es.findLegalName("",this),e=new Rt.FieldTextInput(t,es.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Rt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Rt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Rt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Rt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Rt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Rt.Events.enable()}},mutationToDom:function(t){var e=Rt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i<this.argumentVarModels_.length;i++){var n=Rt.utils.xml.createElement("arg"),s=this.argumentVarModels_[i];n.setAttribute("name",s.name),n.setAttribute("varid",s.getId()),t&&this.paramIds_&&n.setAttribute("paramId",this.paramIds_[i]),e.appendChild(n)}return this.hasStatements_||e.setAttribute("statements","false"),e},domToMutation:function(t){this.arguments_=[],this.argumentVarModels_=[];for(var e,i=0;e=t.childNodes[i];i++)if("arg"==e.nodeName.toLowerCase()){var n=e.getAttribute("name"),s=e.getAttribute("varid")||e.getAttribute("varId");this.arguments_.push(n);var o=Rt.Variables.getOrCreateVariablePackage(this.workspace,s,n,"");null!=o?this.argumentVarModels_.push(o):console.log("Failed to create a variable with name "+n+", ignoring.")}this.updateParams_(),es.mutateCallers(this),this.setStatements_("false"!==t.getAttribute("statements"))},decompose:function(t){var e=Rt.utils.xml.createElement("block");e.setAttribute("type","procedures_mutatorcontainer");var i=Rt.utils.xml.createElement("statement");i.setAttribute("name","STACK"),e.appendChild(i);for(var n=i,s=0;s<this.arguments_.length;s++){var o=Rt.utils.xml.createElement("block");o.setAttribute("type","procedures_mutatorarg");var p=Rt.utils.xml.createElement("field");p.setAttribute("name","NAME");var u=Rt.utils.xml.createTextNode(this.arguments_[s]);p.appendChild(u),o.appendChild(p);var a=Rt.utils.xml.createElement("next");o.appendChild(a),n.appendChild(o),n=a}var l=Rt.Xml.domToBlock(e,t);return"procedures_defreturn"==this.type?l.setFieldValue(this.hasStatements_,"STATEMENTS"):l.removeInput("STATEMENT_INPUT"),es.mutateCallers(this),l},compose:function(t){this.arguments_=[],this.paramIds_=[],this.argumentVarModels_=[];for(var e=t.getInputTargetBlock("STACK");e&&!e.isInsertionMarker();){var i=e.getFieldValue("NAME");this.arguments_.push(i);var n=this.workspace.getVariable(i,"");this.argumentVarModels_.push(n),this.paramIds_.push(e.id),e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateParams_(),es.mutateCallers(this);var s=t.getFieldValue("STATEMENTS");if(null!==s&&(s="TRUE"==s,this.hasStatements_!=s))if(s)this.setStatements_(!0),this.statementConnection_&&this.statementConnection_.reconnect(this,"STACK"),this.statementConnection_=null;else{var o=this.getInput("STACK").connection;if(this.statementConnection_=o.targetConnection,this.statementConnection_){var p=o.targetBlock();p.unplug(),p.bumpNeighbours()}this.setStatements_(!1)}},getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!1]},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},renameVarById:function(t,e){var i=this.workspace.getVariableById(t);if(""==i.type){for(var n=i.name,s=this.workspace.getVariableById(e),o=!1,p=0;p<this.argumentVarModels_.length;p++)this.argumentVarModels_[p].getId()==t&&(this.arguments_[p]=s.name,this.argumentVarModels_[p]=s,o=!0);o&&(this.displayRenamedVar_(n,s.name),es.mutateCallers(this))}},updateVarName:function(t){for(var e=t.name,i=!1,n=0;n<this.argumentVarModels_.length;n++)if(this.argumentVarModels_[n].getId()==t.getId()){var s=this.arguments_[n];this.arguments_[n]=e,i=!0}i&&(this.displayRenamedVar_(s,e),es.mutateCallers(this))},displayRenamedVar_:function(t,e){this.updateParams_();const i=this.getIcon(Rt.icons.MutatorIcon.TYPE);if(i&&i.bubbleIsVisible())for(var n,s=i.getWorkspace().getAllBlocks(!1),o=0;n=s[o];o++)"procedures_mutatorarg"==n.type&&Rt.Names.equals(t,n.getFieldValue("NAME"))&&n.setFieldValue(e,"NAME")},customContextMenu:function(t){if(!this.isInFlyout){var e={enabled:!0},i=this.getFieldValue("NAME");e.text=Rt.Msg.PROCEDURES_CREATE_DO.replace("%1",i);var n=Rt.utils.xml.createElement("mutation");n.setAttribute("name",i);for(var s=0;s<this.arguments_.length;s++){var o=Rt.utils.xml.createElement("arg");o.setAttribute("name",this.arguments_[s]),n.appendChild(o)}var p=Rt.utils.xml.createElement("block");if(p.setAttribute("type",this.callType_),p.appendChild(n),e.callback=Rt.ContextMenu.callbackFactory(this,p),t.push(e),!this.isCollapsed())for(s=0;s<this.argumentVarModels_.length;s++){var u={enabled:!0},a=this.argumentVarModels_[s];u.text=Rt.Msg.VARIABLES_SET_CREATE_GET.replace("%1",a.name);var l=Rt.Variables.generateVariableFieldDom(a),_=Rt.utils.xml.createElement("block");_.setAttribute("type","variables_get"),_.appendChild(l),u.callback=Rt.ContextMenu.callbackFactory(this,_),t.push(u)}}},callType_:"procedures_callnoreturn"},ns={init:function(){var t=es.findLegalName("",this),e=new Rt.FieldTextInput(t,es.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.appendValueInput("RETURN").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PROCEDURES_DEFRETURN_RETURN),this.setMutator(new Rt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Rt.Msg.PROCEDURES_DEFRETURN_COMMENT&&this.setCommentText(Rt.Msg.PROCEDURES_DEFRETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_TOOLTIP),this.setHelpUrl(Rt.Msg.PROCEDURES_DEFRETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:is.setStatements_,updateParams_:is.updateParams_,mutationToDom:is.mutationToDom,domToMutation:is.domToMutation,decompose:is.decompose,compose:is.compose,getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!0]},getVars:is.getVars,getVarModels:is.getVarModels,renameVarById:is.renameVarById,updateVarName:is.updateVarName,displayRenamedVar_:is.displayRenamedVar_,customContextMenu:is.customContextMenu,callType_:"procedures_callreturn"},ss={init:function(){this.appendDummyInput().appendField(Rt.Msg.PROCEDURES_MUTATORCONTAINER_TITLE),this.appendStatementInput("STACK"),this.appendDummyInput("STATEMENT_INPUT").appendField(Rt.Msg.PROCEDURES_ALLOW_STATEMENTS).appendField(new Rt.FieldCheckbox("TRUE"),"STATEMENTS"),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP),this.contextMenu=!1}},os={init:function(){var t=new Rt.FieldTextInput(es.DEFAULT_ARG,this.validator_);t.oldShowEditorFn_=t.showEditor_;t.showEditor_=function(){this.createdVariables_=[],this.oldShowEditorFn_()},this.appendDummyInput().appendField(Rt.Msg.PROCEDURES_BEFORE_PARAMS).appendField(t,"NAME"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_MUTATORARG_TOOLTIP),this.contextMenu=!1,t.onFinishEditing_=this.deleteIntermediateVars_,t.createdVariables_=[],t.onFinishEditing_("x")},validator_:function(t){var e=this.getSourceBlock(),i=e.workspace.getRootWorkspace();if(!(t=t.replace(/[\s\xa0]+/g," ").replace(/^ | $/g,"")))return null;for(var n=(e.workspace.targetWorkspace||e.workspace).getAllBlocks(!1),s=t.toLowerCase(),o=0;o<n.length;o++)if(n[o].id!=this.getSourceBlock().id){var p=n[o].getFieldValue("NAME");if(p&&p.toLowerCase()==s)return null}if(e.isInFlyout)return t;var u=i.getVariable(t,"");return u&&u.name!=t&&i.renameVariableById(u.getId(),t),u||(u=i.createVariable(t,""))&&this.createdVariables_&&this.createdVariables_.push(u),t},deleteIntermediateVars_:function(t){var e=this.getSourceBlock().workspace.getRootWorkspace();if(e)for(var i=0;i<this.createdVariables_.length;i++){var n=this.createdVariables_[i];n.name!=t&&e.deleteVariableById(n.getId())}}},ps={init:function(){this.appendDummyInput("TOPROW").appendField("","NAME"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setHelpUrl(Rt.Msg.PROCEDURES_CALLNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.quarkConnections_={},this.quarkIds_=null,this.previousEnabledState_=!0},getProcedureCall:function(){return this.getFieldValue("NAME")},renameProcedure:function(t,e){if(Rt.Names.equals(t,this.getProcedureCall())){this.setFieldValue(e,"NAME");var i=this.outputConnection?Rt.Msg.PROCEDURES_CALLRETURN_TOOLTIP:Rt.Msg.PROCEDURES_CALLNORETURN_TOOLTIP;this.setTooltip(i.replace("%1",e))}},setProcedureParameters_:function(t,e){var i=es.getDefinition(this.getProcedureCall(),this.workspace);const n=i&&i.getIcon(Rt.icons.MutatorIcon.TYPE),s=n&&n.bubbleIsVisible();if(s||(this.quarkConnections_={},this.quarkIds_=null),e)if(t.join("\n")!=this.arguments_.join("\n")){if(e.length!=t.length)throw Error("paramNames and paramIds must be the same length.");this.setCollapsed(!1),this.quarkIds_||(this.quarkConnections_={},this.quarkIds_=[]);var o=this.rendered;this.rendered=!1;for(var p=0;p<this.arguments_.length;p++){var u=this.getInput("ARG"+p);if(u){var a=u.connection.targetConnection;this.quarkConnections_[this.quarkIds_[p]]=a,s&&a&&-1==e.indexOf(this.quarkIds_[p])&&(a.disconnect(),a.getSourceBlock().bumpNeighbours())}}this.arguments_=[].concat(t),this.argumentVarModels_=[];for(p=0;p<this.arguments_.length;p++){var l=Rt.Variables.getOrCreateVariablePackage(this.workspace,null,this.arguments_[p],"");this.argumentVarModels_.push(l)}if(this.updateShape_(),this.quarkIds_=e,this.quarkIds_)for(p=0;p<this.arguments_.length;p++){var _=this.quarkIds_[p];if(_ in this.quarkConnections_)(a=this.quarkConnections_[_])&&!a.reconnect(this,"ARG"+p)&&delete this.quarkConnections_[_]}this.rendered=o,this.rendered&&this.render()}else this.quarkIds_=e},updateShape_:function(){for(var t=0;t<this.arguments_.length;t++){var e=this.getField("ARGNAME"+t);if(e){Rt.Events.disable();try{e.setValue(this.arguments_[t])}finally{Rt.Events.enable()}}else{e=new Rt.FieldLabel(this.arguments_[t]),this.appendValueInput("ARG"+t).setAlign(Rt.inputs.Align.RIGHT).appendField(e,"ARGNAME"+t).init()}}for(;this.getInput("ARG"+t);)this.removeInput("ARG"+t),t++;var i=this.getInput("TOPROW");i&&(this.arguments_.length?this.getField("WITH")||(i.appendField(Rt.Msg.PROCEDURES_CALL_BEFORE_PARAMS,"WITH"),i.init()):this.getField("WITH")&&i.removeField("WITH"))},mutationToDom:function(){var t=Rt.utils.xml.createElement("mutation");t.setAttribute("name",this.getProcedureCall());for(var e=0;e<this.arguments_.length;e++){var i=Rt.utils.xml.createElement("arg");i.setAttribute("name",this.arguments_[e]),t.appendChild(i)}return t},domToMutation:function(t){var e=t.getAttribute("name");this.renameProcedure(this.getProcedureCall(),e);for(var i,n=[],s=[],o=0;i=t.childNodes[o];o++)"arg"==i.nodeName.toLowerCase()&&(n.push(i.getAttribute("name")),s.push(i.getAttribute("paramId")));this.setProcedureParameters_(n,s)},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},onchange:function(t){if(this.workspace&&!this.workspace.isFlyout&&t.recordUndo)if(t.type==Rt.Events.BLOCK_CREATE&&-1!=t.ids.indexOf(this.id)){var e=this.getProcedureCall();if((I=es.getDefinition(e,this.workspace))&&I.type!=this.defType_&&(I=null),I){if(JSON.stringify(I.getVars())!=JSON.stringify(this.arguments_)){let t=I.arguments_,e=[];for(var i=0;i<this.arguments_.length;i++){var n=this.getInput("ARG"+i);if(n){var s=n.connection.targetConnection;s?e.push(s.sourceBlock_.id):e.push(null)}}this.setProcedureParameters_(t,e)}}else{Rt.Events.setGroup(t.group);var o=Rt.utils.xml.createElement("xml"),p=Rt.utils.xml.createElement("block");p.setAttribute("type",this.defType_);var u=this.getRelativeToSurfaceXY(),a=u.x+Rt.SNAP_RADIUS*(this.RTL?-1:1),l=u.y+2*Rt.SNAP_RADIUS;p.setAttribute("x",a),p.setAttribute("y",l);var _=this.mutationToDom();p.appendChild(_);var r=Rt.utils.xml.createElement("field");r.setAttribute("name","NAME");var d=this.getProcedureCall();d||(d=es.findLegalName("",this),this.renameProcedure("",d)),r.appendChild(Rt.utils.xml.createTextNode(d)),p.appendChild(r),o.appendChild(p),Rt.Xml.domToWorkspace(o,this.workspace),Rt.Events.setGroup(!1)}}else if(t.type==Rt.Events.BLOCK_DELETE){e=this.getProcedureCall();(I=es.getDefinition(e,this.workspace))||(Rt.Events.setGroup(t.group),this.dispose(!0),Rt.Events.setGroup(!1))}else if(t.type==Rt.Events.CHANGE&&"disabled"==t.element){var I;e=this.getProcedureCall();if((I=es.getDefinition(e,this.workspace))&&I.id==t.blockId){var T=Rt.Events.getGroup();T&&console.log("Saw an existing group while responding to a definition change"),Rt.Events.setGroup(t.group),t.newValue?(this.previousEnabledState_=this.isEnabled(),this.setEnabled(!1)):this.setEnabled(this.previousEnabledState_),Rt.Events.setGroup(T)}}},customContextMenu:function(t){if(this.workspace.isMovable()){var e={enabled:!0};e.text=Rt.Msg.PROCEDURES_HIGHLIGHT_DEF;var i=this.getProcedureCall(),n=this.workspace;e.callback=function(){var t=es.getDefinition(i,n);t&&(n.centerOnBlock(t.id),t.select())},t.push(e)}},defType_:"procedures_defnoreturn"},us={init:function(){this.appendDummyInput("TOPROW").appendField("","NAME"),this.setOutput(!0),this.setStyle("procedure_blocks"),this.setHelpUrl(Rt.Msg.PROCEDURES_CALLRETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.quarkConnections_={},this.quarkIds_=null,this.previousEnabledState_=!0},getProcedureCall:ps.getProcedureCall,renameProcedure:ps.renameProcedure,setProcedureParameters_:ps.setProcedureParameters_,updateShape_:ps.updateShape_,mutationToDom:ps.mutationToDom,domToMutation:ps.domToMutation,getVars:ps.getVars,getVarModels:ps.getVarModels,onchange:ps.onchange,customContextMenu:ps.customContextMenu,defType_:"procedures_defreturn"},as={init:function(){this.appendValueInput("CONDITION").setCheck("Boolean").appendField(Rt.Msg.CONTROLS_IF_MSG_IF),this.appendValueInput("VALUE").appendField(Rt.Msg.PROCEDURES_DEFRETURN_RETURN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_IFRETURN_TOOLTIP),this.setHelpUrl(Rt.Msg.PROCEDURES_IFRETURN_HELPURL),this.hasReturnValue_=!0},mutationToDom:function(){var t=Rt.utils.xml.createElement("mutation");return t.setAttribute("value",Number(this.hasReturnValue_)),t},domToMutation:function(t){var e=t.getAttribute("value");this.hasReturnValue_=1==e,this.hasReturnValue_||(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(Rt.Msg.PROCEDURES_DEFRETURN_RETURN))},onchange:function(){if(this.workspace.isDragging&&!this.workspace.isDragging()){var t=!1,e=this;do{if(-1!=this.FUNCTION_TYPES.indexOf(e.type)){t=!0;break}e=e.getSurroundParent()}while(e);t?("procedures_defnoreturn"==e.type&&this.hasReturnValue_?(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(Rt.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!1):"procedures_defreturn"!=e.type||this.hasReturnValue_||(this.removeInput("VALUE"),this.appendValueInput("VALUE").appendField(Rt.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!0),this.setWarningText(null),this.isInFlyout||this.setEnabled(!0)):(this.setWarningText(Rt.Msg.PROCEDURES_IFRETURN_WARNING),this.isInFlyout||this.getInheritedDisabled()||this.setEnabled(!1))}},FUNCTION_TYPES:["procedures_defnoreturn","procedures_defreturn"]},ls={init:function(){this.setStyle("procedure_blocks"),this.appendValueInput("VALUE").appendField(Rt.Msg.PROCEDURES_DEFRETURN_RETURN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.PROCEDURES_IFRETURN_TOOLTIP),this.hasReturnValue_=!0},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("value",Number(this.hasReturnValue_)),t},domToMutation:function(t){var e=t.getAttribute("value");this.hasReturnValue_=1==e,this.hasReturnValue_||(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(Rt.Msg.PROCEDURES_DEFRETURN_RETURN))},onchange:function(){var t=!1,e=this;do{if(-1!=this.FUNCTION_TYPES.indexOf(e.type)){t=!0;break}e=e.getSurroundParent()}while(e);t?("procedures_defnoreturn"==e.type&&this.hasReturnValue_?(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(Rt.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!1):"procedures_defreturn"!=e.type||this.hasReturnValue_||(this.removeInput("VALUE"),this.appendValueInput("VALUE").appendField(Rt.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!0),this.setWarningText(null)):this.setWarningText(Rt.Msg.PROCEDURES_IFRETURN_WARNING)},FUNCTION_TYPES:["procedures_defnoreturn","procedures_defreturn","method_procedures_defnoreturn","method_procedures_defreturn"]},_s=195,rs={init:function(){this.setColour(_s),this.appendDummyInput("").appendField(new Rt.FieldTextInput("mytup"),"VAR"),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["tuple_create_with_item"],this)),this.setTooltip(Rt.Msg.TUPLE_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("tuple_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("tuple_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(Rt.Msg.TUPLE_CREATE_EMPTY_TITLE);else for(t=0;t<this.itemCount_;t++){var e=this.appendValueInput("ADD"+t);0==t&&e.appendField(Rt.Msg.TUPLE_CREATE_WITH_INPUT_WITH)}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ds={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Rt.Msg.TUPLE_CREATE_WITH_CONTAINER_TITLE_ADD),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.TUPLE_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Is={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Rt.Msg.blockpy_SET_VARIABLES_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.TUPLE_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ts={init:function(){this.setColour(_s),this.appendDummyInput("").appendField(new Rt.FieldTextInput("mytup"),"VAR").appendField(" = (").appendField(new Rt.FieldTextInput("0,0,0"),"TEXT").appendField(")"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXPY_TOOLTIP_TUPLE_CREATE_WITH_TEXT)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hs={init:function(){this.setColour(_s),this.appendDummyInput("").appendField("(").appendField(new Rt.FieldTextInput("0,0,0"),"TEXT").appendField(")"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXPY_TOOLTIP_TUPLE_CREATE_WITH_TEXT)}},ms={init:function(){this.setColour(_s),this.setOutput(!0),this.appendValueInput("TUP").setCheck("Tuple"),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LANG_LISTS_GET_INDEX1),this.appendDummyInput("").appendField(Rt.Msg.LANG_LISTS_GET_INDEX2),this.setInputsInline(!0),this.setTooltip(Rt.Msg.TUPLE_GET_INDEX_TOOLTIP)}},cs={init:function(){this.setColour(_s),this.appendValueInput("TUP"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.TUPLE_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Os={init:function(){this.setColour(_s),this.appendValueInput("TUP").setCheck("Tuple"),this.appendDummyInput("").appendField(Rt.Msg.TUPLE_DEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.TUPLE_DEL_TOOLTIP)}},Rs={init:function(){this.setColour(_s),this.appendValueInput("TUP1").setCheck("Tuple"),this.appendDummyInput("").appendField(Rt.Msg.TUPLE_JOIN),this.appendValueInput("TUP2").setCheck("Tuple"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.TUPLE_JOIN_TOOLTIP),this.setOutput(!0,"Tuple")}},Ms={init:function(){this.appendValueInput("TUP").setCheck("Tuple");var t=[[Rt.Msg.blockpy_TUPLE_MAX,"max"],[Rt.Msg.blockpy_TUPLE_MIN,"min"],[Rt.Msg.MATH_ONLIST_OPERATOR_SUM,"sum"]];this.setColour(_s),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(t),"DIR"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{max:Rt.Msg.MIXLY_TOOLTIP_TUPLE_MAX,min:Rt.Msg.MIXLY_TOOLTIP_TUPLE_MIN,sum:Rt.Msg.MIXLY_TOOLTIP_TUPLE_SUM}[t]}))}},Es={init:function(){var t=[[Rt.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[Rt.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"]];this.setColour(_s),this.appendValueInput("VAR").setCheck("Tuple"),this.appendDummyInput("").appendField(Rt.Msg.A_TO_B).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{list:Rt.Msg.TUPLE_TO_LISTS,set:Rt.Msg.TUPLE_TO_SET}[t]}))}},Cs={init:function(){var t=[[Rt.Msg.MIXLY_LIST_INDEX,"INDEX"],[Rt.Msg.MIXLY_LIST_COUNT,"COUNT"]];this.setColour(_s),this.appendValueInput("VAR").setCheck("List"),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.HTML_VALUE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DE).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{INDEX:Rt.Msg.MIXLY_TOOLTIP_TUPLE_FIND_INDEX,COUNT:Rt.Msg.MIXLY_TOOLTIP_TUPLE_FIND_COUNT}[t]}))}},As={init:function(){var t=[[Rt.Msg.MIXLY_LIST_LEN,"LEN"],[Rt.Msg.MATH_ONLIST_OPERATOR_SUM,"SUM"],[Rt.Msg.MATH_ONLIST_OPERATOR_MAX,"MAX"],[Rt.Msg.MATH_ONLIST_OPERATOR_MIN,"MIN"],[Rt.Msg.MATH_ONLIST_OPERATOR_AVERAGE,"AVERAGE"],[Rt.Msg.MATH_ONLIST_OPERATOR_MEDIAN,"MEDIAN"],[Rt.Msg.MATH_ONLIST_OPERATOR_MODE,"MODE"],[Rt.Msg.MATH_ONLIST_OPERATOR_STD_DEV,"STD_DEV"]];this.setColour(_s),this.setOutput(!0,Number),this.appendValueInput("data").setCheck("List"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{LEN:Rt.Msg.TUPLE_LENGTH_TOOLTIP,SUM:Rt.Msg.MATH_ONLIST_TOOLTIP_TUPLE_SUM,MAX:Rt.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MAX,MIN:Rt.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MIN,AVERAGE:Rt.Msg.MATH_ONLIST_TOOLTIP_TUPLE_AVERAGE,MEDIAN:Rt.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MEDIAN,MODE:Rt.Msg.MATH_ONLIST_TOOLTIP_TUPLE_MODE,STD_DEV:Rt.Msg.MATH_ONLIST_TOOLTIP_TUPLE_STD_DEV}[t]}))}},gs={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_s),this.appendValueInput("LIST").setCheck("List"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Rt.Msg.PYTHON_TUPLE_GET_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Rt.Msg.TEXT_CHARAT_TAIL&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT_TAIL)):this.appendDummyInput("AT"+t);var i=new Rt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ss={init:function(){this.setColour(_s),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"Tuple"),this.setMutator(new Rt.icons.MutatorIcon(["tuple_create_with_item"],this)),this.setTooltip(Rt.Msg.TUPLE_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("tuple_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("tuple_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(Rt.Msg.TUPLE_CREATE_EMPTY_TITLE);else for(t=0;t<this.itemCount_;t++){var e=this.appendValueInput("ADD"+t);0==t&&e.appendField(Rt.Msg.TUPLE_CREATE_WITH_INPUT_WITH)}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ds={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_s),this.appendValueInput("LIST"),this.appendDummyInput(""),this.appendValueInput("AT1").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.TEXT_CHARAT_TAIL+" "+Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT_TAIL),this.setInputsInline(!0),this.setOutput(!0,"Tuple"),this.setTooltip(Rt.Msg.PYTHON_TUPLE_GET_SUBLIST_TOOLTIP)}},Ns={init:function(){this.setColour(_s),this.appendValueInput("TUP"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+" "+Rt.Msg.LISTS_GET_INDEX_RANDOM),this.setTooltip(Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM),this.setOutput(!0)}},fs={init:function(){this.setColour(_s),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOTUPLE),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTUPLE)}},Ls=100,Fs={init:function(){this.setColour(Ls),this.appendDummyInput("").appendField(new Rt.FieldTextInput("s1"),"VAR"),this.itemCount_=3,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["set_create_with_item"],this)),this.setTooltip(Rt.Msg.blockpy_SET_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("set_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("set_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(Rt.Msg.blockpy_SET_CREATE_EMPTY_TITLE);else for(t=0;t<this.itemCount_;t++){var e=this.appendValueInput("ADD"+t);0==t&&e.appendField(Rt.Msg.blockpy_SET_CREATE_WITH_INPUT_WITH)}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(Rt.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Ps={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(Rt.Msg.blockpy_SET_VARIABLES_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.blockpy_SET_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Vs={init:function(){this.setColour(Ls),this.appendValueInput("SET"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.SET_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},ys={init:function(){this.setColour(Ls),this.appendValueInput("SET").setCheck("Set"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_SET_GET_AND_REMOVE_LAST),this.setTooltip(Rt.Msg.SET_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Ys={init:function(){this.setColour(Ls),this.appendValueInput("SET").setCheck("Set"),this.appendDummyInput("").appendField(Rt.Msg.SET_CLEAR),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.appendValueInput("SET1").setCheck("Set");var t=[[Rt.Msg.blockpy_set_union,"union"],[Rt.Msg.blockpy_set_intersection,"intersection"],[Rt.Msg.blockpy_set_difference,"difference"]];this.setColour(Ls),this.appendDummyInput("").appendField(Rt.Msg.blockpy_and_set),this.appendValueInput("SET2").setCheck("Set"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_set_get_operate).appendField(new Rt.FieldDropdown(t),"OPERATE"),this.setInputsInline(!0),this.setOutput(!0,"set");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OPERATE");return{union:Rt.Msg.MIXLY_TOOLTIP_SET_UNION,intersection:Rt.Msg.MIXLY_TOOLTIP_SET_INTERSECTION,difference:Rt.Msg.MIXLY_TOOLTIP_SET_DIFFERENCE}[t]}))}},ks={init:function(){this.appendValueInput("SET1").setCheck("Set");var t=[[Rt.Msg.blockpy_set_union,"update"],[Rt.Msg.blockpy_set_intersection,"intersection_update"],[Rt.Msg.blockpy_set_difference,"difference_update"]];this.setColour(Ls),this.appendDummyInput("").appendField(Rt.Msg.blockpy_and_set),this.appendValueInput("SET2").setCheck("Set"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_set_get_operate).appendField(new Rt.FieldDropdown(t),"OPERATE"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_set_update),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OPERATE");return{update:Rt.Msg.MIXLY_TOOLTIP_SET_UPDATE,intersection_update:Rt.Msg.MIXLY_TOOLTIP_SET_INTERSECTION_UPDATE,difference_update:Rt.Msg.MIXLY_TOOLTIP_SET_DIFFERENCE_UPDATE}[t]}))}},xs={init:function(){this.appendValueInput("SET").setCheck("Set");var t=[[Rt.Msg.MIXLY_blockpy_set_add,"add"],[Rt.Msg.MIXLY_blockpy_set_discard,"discard"]];this.setColour(Ls),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"OPERATE"),this.appendValueInput("data").appendField(Rt.Msg.blockpy_SET_VARIABLES_NAME),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OPERATE");return{add:Rt.Msg.SET_ADD_TOOLTIP,discard:Rt.Msg.SET_DISCARD_TOOLTIP}[t]}))}},Xs={init:function(){this.appendValueInput("SET1").setCheck("Set");var t=[[Rt.Msg.blockpy_set_sub,"issubset"],[Rt.Msg.blockpy_set_super,"issuperset"]];this.setColour(Ls),this.appendDummyInput("").appendField(Rt.Msg.blockpy_is_set),this.appendValueInput("SET2").setCheck("Set"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_set_of).appendField(new Rt.FieldDropdown(t),"OPERATE"),this.setInputsInline(!0),this.setOutput(!0,Boolean);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OPERATE");return{issubset:Rt.Msg.MIXLY_TOOLTIP_SET_SUB,issuperset:Rt.Msg.MIXLY_TOOLTIP_SET_SUPER}[t]}))}},Gs={init:function(){this.appendValueInput("SET").setCheck("Set"),this.setColour(Ls),this.appendValueInput("VAR").setCheck([String,"List"]).appendField(Rt.Msg.blockpy_set_add_update),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.SET_UPDATE_TOOLTIP)}},Hs={init:function(){this.setColour(Ls),this.appendDummyInput("").appendField("{").appendField(new Rt.FieldTextInput("0,0,0"),"TEXT").appendField("}"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXPY_TOOLTIP_SET_CREATE_WITH_TEXT)}},Us={init:function(){this.setColour(Ls),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSET),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOSET)}},ws="#1ec1e4",Bs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(Rt.Msg.HTML_DOCUMENT),this.appendStatementInput("HEAD").appendField(Rt.Msg.HTML_HEAD),this.appendStatementInput("BODY").appendField(Rt.Msg.HTML_BODY),this.setOutput(!0)}},Ws={init:function(){this.setColour(ws),this.appendDummyInput().appendField(Rt.Msg.HTML_LEVEL).appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"]]),"LEVEL"),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ks={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_HEAD,"head"],[Rt.Msg.HTML_BODY,"body"]]),"LEVEL"),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_P,"p"],[Rt.Msg.HTML_SPAN,"span"],[Rt.Msg.HTML_FORM,"form"],[Rt.Msg.HTML_TABLE,"table"],[Rt.Msg.HTML_LINE,"tr"],[Rt.Msg.HTML_CELL,"td"],[Rt.Msg.HTML_OL,"ol"],[Rt.Msg.HTML_UL,"ul"],[Rt.Msg.HTML_LI,"li"]]),"LEVEL"),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},js={init:function(){this.setColour(ws),this.appendDummyInput().appendField("<").appendField(new Rt.FieldTextInput("tag"),"LEVEL").appendField(">"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(Rt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Js={init:function(){this.setColour(ws),this.appendDummyInput().appendField(Rt.Msg.HTML_FORM_CONTENT).appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_TEXT,"text"],[Rt.Msg.HTML_EMAIL,"email"],[Rt.Msg.HTML_NUMBER,"number"],[Rt.Msg.HTML_PASSWORD,"password"],[Rt.Msg.HTML_CHECKBOX,"checkbox"],[Rt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Rt.Msg.HTML_BUTTON,"button"],[Rt.Msg.HTML_COLOUR,"colour"],[Rt.Msg.HTML_DATE,"date"],[Rt.Msg.HTML_LOCALTIME,"local time"],[Rt.Msg.HTML_FILE,"file"],[Rt.Msg.HTML_HIDDEN,"hidden"],[Rt.Msg.HTML_IMAGE,"image"],[Rt.Msg.HTML_MONTH,"month"],[Rt.Msg.HTML_RANGE,"range"],[Rt.Msg.HTML_RESET,"reset"],[Rt.Msg.HTML_SEARCH,"search"],[Rt.Msg.HTML_SUBMIT,"submit"],[Rt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Rt.Msg.HTML_TIME,"time"],[Rt.Msg.HTML_URL,"url"],[Rt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Rt.Msg.HTML_NAME).appendField(new Rt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Rt.Msg.HTML_VALUE).appendField(new Rt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ws),this.appendDummyInput().appendField(Rt.Msg.HTML_TEXT).appendField(new Rt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},to=160,eo={init:function(){this.setColour(to),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Rt.FieldTable(""),"TEXT")}},io={init:function(){this.setColour(to),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT")}},no={init:function(){this.setColour(to),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},so={init:function(){this.setColour(to),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},oo={init:function(){this.setColour(to),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Rt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},po={init:function(){this.setColour(to),this.appendValueInput("VALUE").appendField(Rt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},uo={init:function(){this.setColour(to),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Rt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("text_print_multiple_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("PRINT"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("PRINT"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("PRINT"+t);)this.removeInput("PRINT"+t),t++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField("print");else for(t=0;t<this.itemCount_;t++){var e=this.appendValueInput("PRINT"+t);0==t&&e.appendField("print")}}},ao={init:function(){this.setColour(to),this.appendDummyInput().appendField("print"),this.appendStatementInput("STACK"),this.setTooltip(""),this.contextMenu=!1}},lo={init:function(){this.setColour(to),this.appendDummyInput().appendField("item"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(""),this.contextMenu=!1}},_o={init:function(){this.setColour(to),this.itemCount_=1,this.hasReturn_=!1,this.appendDummyInput().appendField(new Rt.FieldTextInput("str"),"NAME"),this.updateShape_(),this.setMutator(new Rt.icons.MutatorIcon(["function_call_item"],this)),this.setTooltip("Can be used to call any function")},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t.setAttribute("hasReturn",this.hasReturn_?"TRUE":"FALSE"),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.hasReturn_="TRUE"===t.getAttribute("hasReturn"),this.updateShape_()},decompose:function(t){var e=Rt.Block.obtain(t,"function_call_container");e.initSvg(),e.setFieldValue(this.hasStatements_?"TRUE":"FALSE","RETURN");for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("function_call_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},setReturn:function(t){this.unplug(!0,!0),this.setOutput(t),this.setPreviousStatement(!t),this.setNextStatement(!t),this.rendered&&this.render()},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.hasReturn_="TRUE"===t.getFieldValue("RETURN"),this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ARGUMENT"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ARGUMENT"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("ARGUMENT"+t);)this.removeInput("ARGUMENT"+t),t++;for(t=0;t<this.itemCount_;t++)this.appendValueInput("ARGUMENT"+t);this.setReturn(this.hasReturn_)}},ro={init:function(){this.setColour(to),this.appendDummyInput().appendField("Arguments"),this.appendStatementInput("STACK"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("has return").appendField(new Rt.FieldCheckbox("TRUE"),"RETURN"),this.setTooltip(""),this.contextMenu=!1}},Io={init:function(){this.setColour(to),this.appendDummyInput().appendField("argument"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(""),this.contextMenu=!1}},To={init:function(){this.appendValueInput("MODULE").setCheck(null),this.appendValueInput("NAME").setCheck(null).appendField("."),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(230),this.setTooltip(""),this.setHelpUrl("")}},ho=function(t,e){return[e.variableDB_.getName(this.getFieldValue("VAR"),Rt.Variables.NAME_TYPE),e.ORDER_ATOMIC]},mo=function(t,e){if(""==this.getFieldValue("VAR"))return" = None\n";var i=e.valueToCode(this,"VALUE",e.ORDER_ASSIGNMENT)||"None";return e.variableDB_.getName(this.getFieldValue("VAR"),Rt.Variables.NAME_TYPE)+" = "+i+"\n"},co=function(t,e){var i=this.getFieldValue("OP"),n=e.valueToCode(this,"MYVALUE",e.ORDER_ATOMIC)||"None";if("bytes"==i)var s=i+"("+n+',"UTF-8")';else s=i+"("+n+")";return[s,e.ORDER_ATOMIC]},Oo=function(t,e){return"global "+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"None")+"\n"},Ro=function(t,e){return["type("+(e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"None")+")",e.ORDER_ATOMIC]},Mo=function(t,e){return[this.getFieldValue("type"),e.ORDER_ATOMIC]},Eo=function(t,e){for(var i=new Array(this.itemCount_),n=0;n<this.itemCount_;n++)i[n]=e.valueToCode(this,"ADD"+n,e.ORDER_NONE)||"[]";return[i="zip("+i.join(", ")+")",e.ORDER_ATOMIC]},Co=function(t,e){const i=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"[]";return[`${this.getFieldValue("TYPE")}(${i})`,e.ORDER_ATOMIC]},Ao=function(t,e){var i=e.statementToCode(t,"DO");return"if __name__ == '__main__':\n"+(i=e.addLoopTrap(i,t.id)||e.PASS)},go=function(t,e){var i=e.statementToCode(this,"DO");return(i=i.replace(/(^\s*)|(\s*$)/g,"").replace(/\n {4}/g,"\n")).endsWith("\n")?e.setups_.setup_setup=i:e.setups_.setup_setup=i+"\n",""},So=function(t,e){var i=0,n="";do{n+=(0==i?"if ":"elif ")+(e.valueToCode(t,"IF"+i,e.ORDER_NONE)||"False")+":\n"+(e.statementToCode(t,"DO"+i)||e.PASS),++i}while(t.getInput("IF"+i));return t.getInput("ELSE")&&(n+="else:\n"+(e.statementToCode(t,"ELSE")||e.PASS)),n},Do=function(t,e){var i=0,n=e.valueToCode(this,"IF"+i,e.ORDER_NONE)||"null",s="try:\n"+(e.statementToCode(this,"try")||" pass\n");for(i=1;i<=this.elseifCount_;i++)""!==(n=e.valueToCode(this,"IF"+i,e.ORDER_NONE)||"")&&(n=" "+n),s+="except"+n+": \n"+(e.statementToCode(this,"DO"+i)||" pass\n");return this.elseCount_&&(s+="finally:\n"+(e.statementToCode(this,"ELSE")||" pass\n")),s},No=function(t,e){var i=e.variableDB_.getName(t.getFieldValue("VAR"),Rt.Variables.NAME_TYPE),n=e.valueToCode(t,"FROM",e.ORDER_NONE)||"0",s=e.valueToCode(t,"TO",e.ORDER_NONE)||"0",o=e.valueToCode(t,"STEP",e.ORDER_NONE)||"1",p=e.statementToCode(t,"DO"),u=(p=e.addLoopTrap(p,t.id)||e.PASS,""),a=function(t,e){return e.provideFunction_("upRange",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start <= stop:"," yield start"," start += abs(step)"])},l=function(t,e){return e.provideFunction_("downRange",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start >= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+l()+"("+t+", "+e+", "+i+")"},Rt.isNumber(n)&&Rt.isNumber(s)&&Rt.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n<s?a():l(),t+="("+n+", "+s+", "+o+")");else{var _=function(t,n){if(Rt.isNumber(t))t=parseFloat(t);else{var s=e.variableDB_.getDistinctName(i+n,Rt.Variables.NAME_TYPE);u+=s+" = "+t+"\n",t=s}return t};n=_(n,"_start"),s=_(s,"_end");_(o,"_inc"),t="number"==typeof n&&"number"==typeof s?n<s?a(0,s):l(0,s):t(n,s,o)}return u+="for "+i+" in "+t+":\n"+p},fo=function(t,e){var i=e.variableDB_.getName(t.getFieldValue("VAR"),Rt.Variables.NAME_TYPE),n=e.valueToCode(t,"FROM",e.ORDER_NONE)||"0",s=e.valueToCode(t,"TO",e.ORDER_NONE)||"0",o=e.valueToCode(t,"STEP",e.ORDER_NONE)||"1",p=e.statementToCode(t,"DO"),u=e.addLoopTrap(p,t.id)||e.PASS;return e.setups_.mixly_range="def mixly_range(start, stop, step):\n for i in range(start, stop + 1, step):\n yield i\n\n","for "+i+" in mixly_range("+n+", "+s+", "+o+"):\n"+u},Lo=function(t,e){var i="UNTIL"==t.getFieldValue("MODE"),n=e.valueToCode(t,"BOOL",e.ORDER_NONE)||"False",s=e.statementToCode(t,"DO");return i&&(n="not "+n),"while "+n+":\n"+(s=e.addLoopTrap(s,t.id)||e.PASS)},Fo=function(t){switch(t.getFieldValue("FLOW")){case"BREAK":return"break\n";case"CONTINUE":return"continue\n"}throw"Unknown flow statement."},vo=function(t,e){return"sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},Po=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},Vo=function(t,e){e.definitions_.import_time="import time";return["time.time()",e.ORDER_ATOMIC]},yo=function(t,e){return e.definitions_.import_microbit="from microbit import *","reset()\n"},Yo=function(){return"interrupts();\n"},bo=function(){return"noInterrupts();\n"},ko=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"''",n=e.valueToCode(t,"LIST",e.ORDER_RELATIONAL)||"[]",s=e.statementToCode(t,"DO");return"for "+i+" in "+n+":\n"+(s=e.addLoopTrap(s,t.id)||e.PASS)},xo=function(t,e){return["range("+(e.valueToCode(this,"FROM",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"TO",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"STEP",e.ORDER_NONE)||"1")+")",e.ORDER_ATOMIC]},Xo=function(t,e){var i="lambda "+(e.valueToCode(t,"BOOL",e.ORDER_NONE)||"None")+": "+(e.statementToCode(t,"DO")||"pass");return[i=i.replace("\n","").replace(" ",""),e.ORDER_ATOMIC]},Go=function(t,e){return e.definitions_.import_time="import time","time.sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},Ho=function(){return"pass\n"},Uo=function(t,e){e.definitions_.import__thread="import _thread";var i=e.valueToCode(this,"VAR",e.ORDER_NONE)||"None";return"_thread.start_new_thread("+e.variableDB_.getName(e.valueToCode(this,"callback",e.ORDER_NONE)||"None",Rt.Procedures.NAME_TYPE)+", "+i+")\n"},wo=function(t,e){var i=e.valueToCode(this,"select_data",e.ORDER_NONE)||"False",n=e.statementToCode(this,"input_data");return n="true"==this.getFieldValue("type")?n+" if ("+i+"):\n break\n":n+" if not ("+i+"):\n break\n","while True:\n"+(n=e.addLoopTrap(n,this.id)||e.PASS)},Bo=function(t,e){var i=e.valueToCode(this,"TIMES",e.ORDER_ATOMIC),n=e.statementToCode(t,"DO");return"for _my_variable in range("+i+"):\n"+(n=e.addLoopTrap(n,t.id)||e.PASS)},Wo=function(t,e){e.definitions_.import_gc="import gc";return"gc.collect()\n"},Ko=function(t,e){e.definitions_.import_gc="import gc";return["gc.mem_alloc()",e.ORDER_ATOMIC]},Qo=function(t,e){e.definitions_.import_gc="import gc";return["gc.mem_free()",e.ORDER_ATOMIC]},jo=function(t,e){e.definitions_.import_machine="import machine";return["machine.unique_id()",e.ORDER_ATOMIC]},qo=Bo,Jo=function(t,e){return e.definitions_.import_datatime="import datatime",["datatime.datatime.fromtimestamp("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},zo=function(t,e){var i=this.getFieldValue("NUM");return[i,i<0?e.ORDER_UNARY_PREFIX:e.ORDER_ATOMIC]},Zo=function(t,e){return e.definitions_.import_math="import math",["math."+this.getFieldValue("CONSTANT"),e.ORDER_ATOMIC]},$o=function(t,e){return e.definitions_.import_math="import math",["math."+this.getFieldValue("CONSTANT"),e.ORDER_ATOMIC]},tp=function(t,e){var i=this.getFieldValue("OP"),n=e.ORDER_ATOMIC;return["("+(e.valueToCode(this,"A",n)||"0")+i+(e.valueToCode(this,"B",n)||"0")+")",n]},ep=function(t,e){var i=(n={ADD:[" + ",e.ORDER_ADDITIVE],MINUS:[" - ",e.ORDER_ADDITIVE],MULTIPLY:[" * ",e.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",e.ORDER_MULTIPLICATIVE],QUYU:[" % ",e.ORDER_MULTIPLICATIVE],ZHENGCHU:[" // ",e.ORDER_MULTIPLICATIVE],POWER:[" ** ",e.ORDER_EXPONENTIATION]}[t.getFieldValue("OP")])[0],n=n[1];return[(e.valueToCode(t,"A",n)||"0")+i+(t=e.valueToCode(t,"B",n)||"0"),n]},ip=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_RELATIONAL)||"0",n=e.valueToCode(this,"B",e.ORDER_RELATIONAL)||"0";switch(this.getFieldValue("OP")){case"ADD":var s="+=";break;case"MINUS":s="-=";break;case"MULTIPLY":s="*=";break;case"DIVIDE":s="/=";break;case"QUYU":s="%=";break;case"ZHENGCHU":s="//=";break;case"POWER":s="**="}return i+" "+s+" "+n+"\n"},np=function(t,e){var i,n=t.getFieldValue("OP");if("NEG"==n)return["-"+(i=e.valueToCode(t,"NUM",e.ORDER_UNARY_SIGN)||"0"),e.ORDER_UNARY_SIGN];switch(e.definitions_.import_math="import math",t="SIN"==n||"COS"==n||"TAN"==n?e.valueToCode(t,"NUM",e.ORDER_MULTIPLICATIVE)||"0":e.valueToCode(t,"NUM",e.ORDER_NONE)||"0",n){case"ABS":i="math.fabs("+t+")";break;case"ROOT":i="math.sqrt("+t+")";break;case"LN":i="math.log("+t+")";break;case"LOG10":i="math.log10("+t+")";break;case"EXP":i="math.exp("+t+")";break;case"POW10":i="math.pow(10,"+t+")";break;case"ROUND":i="round("+t+")";break;case"ROUNDUP":i="math.ceil("+t+")";break;case"ROUNDDOWN":i="math.floor("+t+")";break;case"SIN":i="math.sin("+t+")";break;case"COS":i="math.cos("+t+")";break;case"TAN":i="math.tan("+t+")";break;case"++":i="++("+t+")";break;case"--":i="--("+t+")";break;case"-":i="-("+t+")"}if(i)return[i,e.ORDER_EXPONENTIATION];switch(n){case"ASIN":i="math.degrees(math.asin("+t+"))";break;case"ACOS":i="math.degrees(math.acos("+t+"))";break;case"ATAN":i="math.degrees(math.atan("+t+"))"}return[i,e.ORDER_MULTIPLICATIVE]},sp=np,op=function(t,e){var i=e.valueToCode(this,"NUM",e.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+i+")",e.ORDER_ATOMIC]},pp=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_NONE)||"0",n=this.getFieldValue("OP"),s="";return"round"===n?s=n+"("+i+")":(s="math."+n+"("+i+")",e.definitions_.import_math="import math"),[s,e.ORDER_ATOMIC]},up=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_NONE)||"0",n=e.valueToCode(this,"B",e.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+i+", "+n+")",e.ORDER_ATOMIC]},ap=function(t,e){e.definitions_.import_random="import random";var i=this.getFieldValue("TYPE"),n=e.valueToCode(this,"FROM",e.ORDER_NONE)||"0",s=e.valueToCode(this,"TO",e.ORDER_NONE)||"0";if("int"==i)var o="random.randint("+n+", "+s+")";else if("float"==i)o="random.uniform("+n+", "+s+")";return[o,e.ORDER_UNARY_POSTFIX]},lp=function(t,e){var i=e.valueToCode(this,"NUM",e.ORDER_NONE),n=e.valueToCode(this,"fromLow",e.ORDER_ATOMIC),s=e.valueToCode(this,"fromHigh",e.ORDER_ATOMIC),o=e.valueToCode(this,"toLow",e.ORDER_ATOMIC),p=e.valueToCode(this,"toHigh",e.ORDER_ATOMIC);return e.definitions_.import_mixpy_math_map="from mixpy import math_map",["math_map("+i+", "+n+", "+s+", "+o+", "+p+")",e.ORDER_NONE]},_p=function(t,e){return["min(max("+(e.valueToCode(this,"VALUE",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"LOW",e.ORDER_NONE)||"0")+"), "+(e.valueToCode(this,"HIGH",e.ORDER_NONE)||"0")+")",e.ORDER_UNARY_POSTFIX]},rp=function(t,e){var i=t.getFieldValue("OP"),n=e.valueToCode(this,"NUM",e.ORDER_NONE)||"0",s=t.getFieldValue("OP2");e.definitions_.import_math="import math";var o="",p="10";if("two"==i?p="2":"eight"==i?p="8":"ten"==i?p="10":"sixteen"==i&&(p="16"),"two"==s?o="bin":"eight"==s?o="oct":"ten"==s?o="":"sixteen"==s&&(o="hex"),""==o)var u="int(str("+n+"), "+p+")";else u=o+"(int(str("+n+"), "+p+"))";return[u,e.ORDER_ATOMIC]},dp=function(t,e){return e.definitions_.import_random="import random","random.seed("+(e.valueToCode(this,"NUM",e.ORDER_NONE)||"0")+");\n"},Ip=function(t,e){var i=this.getFieldValue("NUM");return[i,i<0?e.ORDER_UNARY_PREFIX:e.ORDER_ATOMIC]},Tp=function(t,e){return["round("+(e.valueToCode(this,"VALUE",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"VAR",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},hp=function(t,e){var i=this.getFieldValue("TOWHAT"),n=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"b"==i?[n+'.encode("utf-8")',e.ORDER_ATOMIC]:"bti"==i?["int.from_bytes("+n+',"big")',e.ORDER_ATOMIC]:[i+"("+n+")",e.ORDER_ATOMIC]},mp=function(t,e){var i=this.getFieldValue("TOWHAT"),n=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"b"==i?[n+'.encode("utf-8")',e.ORDER_ATOMIC]:[i+"("+n+")",e.ORDER_ATOMIC]},cp=lp,Op=function(t,e){return e.definitions_.import_hexlify="from ubinascii import hexlify",["hexlify("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+").decode()",e.ORDER_ATOMIC]},Rp=function(t,e){e.definitions_.import_itertools="import itertools";let i=e.valueToCode(this,"REPEAT",e.ORDER_ATOMIC),n=new Array(this.itemCount_);for(let t=0;t<this.itemCount_;t++)n[t]=e.valueToCode(this,`ADD${t}`,e.ORDER_NONE)||"0";let s="";return this.itemCount_&&(s=`itertools.product(${n.join(", ")}, repeat=${i})`),[s,e.ORDER_ATOMIC]},Mp=function(t,e){return[e.quote_(this.getFieldValue("TEXT")),e.ORDER_ATOMIC]},Ep=function(t,e){return['"""'+this.getFieldValue("VALUE")+'"""',e.ORDER_ATOMIC]},Cp=function(t,e){return["'"+this.getFieldValue("TEXT")+"'",e.ORDER_ATOMIC]},Ap=function(t,e){return[e.valueToCode(this,"A",e.ORDER_ATOMIC)+" + "+e.valueToCode(this,"B",e.ORDER_ATOMIC),e.ORDER_ADDITIVE]},gp=function(t,e){return["chr("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Sp=function(t,e){return["ord("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"a")+")",e.ORDER_ATOMIC]},Dp=function(t,e){return["str("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Np=function(t,e){return["len("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},fp=function(t,e){var i=t.getFieldValue("WHERE")||"FROM_START",n=e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""';switch(i){case"FROM_START":return[n+"["+(t=e.getAdjustedInt(t,"AT"))+"]",e.ORDER_ATOMIC];case"FROM_END":return[n+"["+(t=e.getAdjustedInt(t,"AT",1,!0))+"]",e.ORDER_ATOMIC];case"RANDOM":return e.definitions_.import_random="import random",["random.choice("+n+")",e.ORDER_FUNCTION_CALL]}throw"Unhandled combination (lists_getIndex)."},Lp=function(t,e){return[(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+"["+(e.valueToCode(this,"AT",e.ORDER_ATOMIC)||0)+"]",e.ORDER_ATOMIC]},Fp=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""';return e.definitions_.import_random="import random",["random.choice("+i+")",e.ORDER_FUNCTION_CALL]},vp=function(t,e){var i=e.valueToCode(this,"STR1",e.ORDER_ATOMIC)||'""',n=e.valueToCode(this,"STR2",e.ORDER_ATOMIC)||'""',s=this.getFieldValue("DOWHAT");return"==="===s?[i+" == "+n,e.ORDER_ATOMIC]:[i+"."+s+"("+n+")",e.ORDER_ATOMIC]},Pp=function(t,e){return["cmp("+(e.valueToCode(this,"STR1",e.ORDER_ATOMIC)||'""')+","+(e.valueToCode(this,"STR2",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},Vp=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""',n=t.getFieldValue("WHERE1"),s=t.getFieldValue("WHERE2");switch(n){case"FROM_START":"0"==(o=e.getAdjustedInt(t,"AT1"))&&(o="");break;case"FROM_END":var o=e.getAdjustedInt(t,"AT1",0,!0);break;case"FIRST":o="0";break;default:throw"Unhandled option (lists_getSublist)"}switch(s){case"FROM_START":var p=e.getAdjustedInt(t,"AT2");break;case"FROM_END":p=e.getAdjustedInt(t,"AT2",0,!0);Rt.isNumber(String(p))?"0"==p&&(p=""):(e.definitions_.import_sys="import sys",p+=" or sys.maxsize");break;case"LAST":p="-1";break;default:throw"Unhandled option (lists_getSublist)"}return[i+"["+o+" : "+p+"]",e.ORDER_ATOMIC]},yp=function(t,e){return[(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+"["+e.valueToCode(this,"AT1",e.ORDER_ATOMIC)+" : "+e.valueToCode(this,"AT2",e.ORDER_ATOMIC)+"]",e.ORDER_ATOMIC]},Yp=function(t,e){var i=this.getFieldValue("CAPITAL");return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},bp=function(t,e){var i=this.getFieldValue("CENTER");return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"WID",e.ORDER_ATOMIC)+","+e.valueToCode(this,"Symbol",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kp=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".find("+e.valueToCode(this,"STR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},xp=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".join("+(e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},Xp=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".replace("+e.valueToCode(this,"STR1",e.ORDER_ATOMIC)+","+e.valueToCode(this,"STR2",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Gp=function(t,e){return[(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+".split("+(e.valueToCode(this,"VAL",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},Hp=function(t,e){var i=this.getFieldValue("TOWHAT");return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Up=function(t,e){for(var i=this.getFieldValue("VAR"),n=new Array(this.itemCount_),s=0;s<this.itemCount_;s++)n[s]=e.valueToCode(this,"ADD"+s,e.ORDER_NONE)||"0";return[n=i+".format("+n.join(", ")+")",e.ORDER_ATOMIC]},wp=function(t,e){for(var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=new Array(this.itemCount_),s=0;s<this.itemCount_;s++)n[s]=e.valueToCode(this,"ADD"+s,e.ORDER_NONE)||"0";return[n=i+".format("+n.join(", ")+")",e.ORDER_ATOMIC]},Bp=yp,Wp=Pp,Kp=Lp,Qp=function(t,e){var i=this.getFieldValue("DIR"),n=this.getFieldValue("CODE");return[(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+"."+i+'("'+n+'")',e.ORDER_ATOMIC]},jp=function(t,e){return["eval("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qp=function(t,e){return e.definitions_.import_os="import os","os.system("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},Jp=function(t,e){return[(e.valueToCode(this,"LIST",e.ORDER_ADDITIVE)||"mylist")+"["+e.valueToCode(this,"AT1",e.ORDER_ADDITIVE)+" : "+e.valueToCode(this,"AT2",e.ORDER_ADDITIVE)+"]",e.ORDER_ATOMIC]},zp=function(t,e){return[(e.valueToCode(this,"LIST",e.ORDER_ATOMIC)||"mylist")+"["+(e.valueToCode(this,"row",e.ORDER_ATOMIC)||0)+","+(e.valueToCode(this,"col",e.ORDER_ATOMIC)||0)+"]",e.ORDER_ATOMIC]},Zp=function(t,e){return[(e.valueToCode(this,"LIST",e.ORDER_ATOMIC)||"mylist")+"["+(e.valueToCode(this,"row_start",e.ORDER_ATOMIC)||0)+" : "+(e.valueToCode(this,"row_end",e.ORDER_ATOMIC)||1)+","+(e.valueToCode(this,"col_start",e.ORDER_ATOMIC)||0)+" : "+(e.valueToCode(this,"col_end",e.ORDER_ATOMIC)||1)+"]",e.ORDER_ATOMIC]},$p=function(t,e){for(var i=e.variableDB_.getName(this.getFieldValue("VAR"),Rt.Variables.NAME_TYPE),n=new Array(this.itemCount_),s=0;s<this.itemCount_;s++)n[s]=e.valueToCode(this,"ADD"+s,e.ORDER_NONE)||"0";return n=i+" = ["+n.join(", ")+"]\n"},tu=function(t,e){return e.variableDB_.getName(this.getFieldValue("VAR"),Rt.Variables.NAME_TYPE)+" = ["+this.getFieldValue("TEXT")+"]\n"},eu=function(t,e){return[(e.valueToCode(this,"LIST",e.ORDER_ADDITIVE)||"mylist")+"["+(e.valueToCode(this,"AT",e.ORDER_ADDITIVE)||0)+"]",e.ORDER_ATOMIC]},iu=function(t,e){return(e.valueToCode(this,"LIST",e.ORDER_ADDITIVE)||"mylist")+"["+(e.valueToCode(this,"AT",e.ORDER_ADDITIVE)||"0")+"] = "+(e.valueToCode(this,"TO",e.ORDER_ASSIGNMENT)||"0")+"\n"},nu=function(t,e){var i=e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)||"0",n=e.valueToCode(this,"DATA",e.ORDER_ASSIGNMENT)||"0";return i+"."+this.getFieldValue("OP")+"("+n+")\n"},su=function(t,e){return e.definitions_.import_random="import random",["random.choice("+(e.valueToCode(this,"LIST",e.ORDER_ADDITIVE)||"mylist")+")",e.ORDER_ATOMIC]},ou=function(t,e){return e.definitions_.import_random="import random",["random.sample("+(e.valueToCode(this,"LIST",e.ORDER_ADDITIVE)||"mylist")+","+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},pu=function(t,e){return(e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)||"0")+".insert("+(e.valueToCode(this,"AT",e.ORDER_ADDITIVE)||"0")+", "+(e.valueToCode(this,"VALUE",e.ORDER_ASSIGNMENT)||"0")+")\n"},uu=function(t,e){return(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+".reverse()\n"},au=function(t,e){return(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+".clear()\n"},lu=function(t,e){var i=this.getFieldValue("OP"),n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0",s=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)||"0";if("INDEX"==i)var o=n+".index("+s+")";else if("COUNT"==i)o=n+".count("+s+")";return[o,e.ORDER_ATOMIC]},_u=function(t,e){var i=e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)||"0",n=e.valueToCode(this,"DATA",e.ORDER_ASSIGNMENT)||"0";return"del"==this.getFieldValue("OP")?"del "+i+"["+n+"]\n":i+".remove("+n+")\n"},ru=function(t,e){return[(e.valueToCode(this,"LIST",e.ORDER_ADDITIVE)||"mylist")+".pop("+(e.valueToCode(this,"VALUE",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},du=function(t,e){var i,n=t.getFieldValue("OP");switch(e.definitions_.import_math="import math",t=e.valueToCode(t,"data",e.ORDER_NONE),n){case"LEN":i="len("+t+")";break;case"SUM":i="sum("+t+")";break;case"MIN":i="min("+t+")";break;case"MAX":i="max("+t+")";break;case"AVERAGE":e.definitions_.import_mixpy_math_mean="from mixpy import math_mean",i="math_mean("+t+")";break;case"MEDIAN":e.definitions_.import_mixpy_math_median="from mixpy import math_median",i="math_median("+t+")";break;case"MODE":e.definitions_.import_mixpy_math_modes="from mixpy import math_modes",i="math_modes("+t+")";break;case"STD_DEV":e.definitions_.import_mixpy_math_standard_deviation="from mixpy import math_standard_deviation",i="math_standard_deviation("+t+")";break;default:throw"Unknown operator: "+n}if(i)return[i,e.ORDER_ATOMIC]},Iu=function(t,e){return e.definitions_.import_mixpy_lists_sort="from mixpy import lists_sort",["lists_sort("+(e.valueToCode(t,"LIST",e.ORDER_NONE)||"[]")+', "'+t.getFieldValue("TYPE")+'", '+("1"===t.getFieldValue("DIRECTION")?"False":"True")+")",e.ORDER_ATOMIC]},Tu=function(t,e){var i=this.getFieldValue("OP"),n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0",s="";return"array"==i?(e.definitions_.import_numpy="import numpy",s="numpy.array("+n+")"):s=i+"("+n+")",[s,e.ORDER_ATOMIC]},hu=function(t,e){return["["+this.getFieldValue("CONTENT")+"]",e.ORDER_ATOMIC]},mu=function(t,e){for(var i=new Array(this.itemCount_),n=0;n<this.itemCount_;n++)i[n]=e.valueToCode(this,"ADD"+n,e.ORDER_NONE)||"0";return[i="["+i.join(", ")+"]",e.ORDER_ATOMIC]},cu=Tu,Ou=function(t,e){return"del "+(e.valueToCode(this,"TUP",e.ORDER_ASSIGNMENT)||"0")+"\n"},Ru=$p,Mu=tu,Eu=eu,Cu=Jp,Au=iu,gu=pu,Su=_u,Du=function(t,e){return["list("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Nu=function(t,e){return[(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+".tolist()",e.ORDER_ATOMIC]},fu=function(t,e){return["enumerate("+(e.valueToCode(this,"LIST",e.ORDER_ADDITIVE)||"mylist")+",start="+(e.valueToCode(this,"VALUE",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},Lu=function(t,e){for(var i=e.variableDB_.getName(this.getFieldValue("VAR"),Rt.Variables.NAME_TYPE),n=new Array(this.itemCount_),s=0;s<this.itemCount_;s++){var o=this.getFieldValue("KEY"+s);n[s]=o+":"+(e.valueToCode(this,"ADD"+s,e.ORDER_NONE)||"0")}return n=i+"= {"+n.join(", ")+"}\n"},Fu=function(t,e){return[(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+".keys()",e.ORDER_ATOMIC]},vu=function(t,e){return[(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+"["+e.valueToCode(this,"KEY",e.ORDER_ASSIGNMENT)+"]",e.ORDER_ATOMIC]},Pu=function(t,e){return[(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+".get("+e.valueToCode(this,"KEY",e.ORDER_ASSIGNMENT)+","+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},Vu=function(t,e){return(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"mydict")+"["+e.valueToCode(this,"KEY",e.ORDER_ASSIGNMENT)+"] = "+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+"\n"},yu=function(t,e){return"del "+(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"mydict")+"["+e.valueToCode(this,"KEY",e.ORDER_ASSIGNMENT)+"]\n"},Yu=function(t,e){var i=e.valueToCode(this,"DICT2",e.ORDER_ASSIGNMENT)||"0";return(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+".update("+i+")\n"},bu=function(t,e){return(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+".clear()\n"},ku=function(t,e){return[(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+".items()",e.ORDER_ATOMIC]},xu=function(t,e){return[(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+".values()",e.ORDER_ATOMIC]},Xu=function(t,e){return["len("+(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},Gu=function(t,e){return"del "+(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+"\n"},Hu=function(t,e){var i=e.valueToCode(t,"DICT",e.ORDER_MEMBER)||"[]",n=t.getFieldValue("WHERE"),s=e.valueToCode(this,"KEY",e.ORDER_ASSIGNMENT);switch(n){case"INSERT":var o=i+"["+s+"] = "+(e.valueToCode(this,"AT2",e.ORDER_ASSIGNMENT)||"0")+"\n";break;case"DELETE":o="del "+i+"["+s+"]\n";break;default:throw"Unhandled option (lists_setIndex2)"}return o},Uu=function(t,e){return[(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+".pop("+e.valueToCode(this,"KEY",e.ORDER_ASSIGNMENT)+")",e.ORDER_ATOMIC]},wu=function(t,e){return(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"mydict")+".setdefault("+e.valueToCode(this,"KEY",e.ORDER_ASSIGNMENT)+","+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")\n"},Bu=function(t,e){for(var i=new Array(this.itemCount_),n=0;n<this.itemCount_;n++){var s=this.getFieldValue("KEY"+n);i[n]=s+":"+(e.valueToCode(this,"ADD"+n,e.ORDER_NONE)||"0")}if(1!=this.itemCount_)i="{"+i.join(", ")+"}";else i="{"+i.join(", ")+",}";return[i,e.ORDER_ATOMIC]},Wu=function(t,e){return["dict("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ku=function(t,e){return e.definitions_.import_json="import json",["json.dumps("+(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},Qu=function(t,e){return e.definitions_.import_json="import json",["json.loads("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"null")+")",e.ORDER_ATOMIC]},ju=function(t,e){return[(e.valueToCode(this,"DICT",e.ORDER_ASSIGNMENT)||"0")+"["+(e.valueToCode(this,"VAR1",e.ORDER_ASSIGNMENT)||"null")+"]["+(e.valueToCode(this,"VAR2",e.ORDER_ASSIGNMENT)||"null")+"]["+(e.valueToCode(this,"VAR3",e.ORDER_ASSIGNMENT)||"null")+"]["+(e.valueToCode(this,"VAR4",e.ORDER_ASSIGNMENT)||"null")+"]",e.ORDER_ATOMIC]},qu=function(t,e){var i=this.getFieldValue("OP"),n=qu.OPERATORS[i],s="=="==n||"!="==n?e.ORDER_EQUALITY:e.ORDER_RELATIONAL;return[(e.valueToCode(this,"A",s)||"0")+" "+n+" "+(e.valueToCode(this,"B",s)||"0"),s]},Ju=function(t,e){var i=this.getFieldValue("OP1"),n=qu.OPERATORS[i],s=this.getFieldValue("OP2"),o=qu.OPERATORS[s];return[(e.valueToCode(this,"A",e.ORDER_RELATIONAL)||"0")+" "+n+" "+(e.valueToCode(this,"B",e.ORDER_RELATIONAL)||"0")+" "+o+" "+(e.valueToCode(this,"C",e.ORDER_RELATIONAL)||"0"),e.ORDER_RELATIONAL]};qu.OPERATORS={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="};const zu=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var p=s+" and "+o;else if("OR"==i)p=s+" or "+o;else if("NOR"==i)p="not("+s+"^"+o+")";else p=s+"^"+o;return[p,n]},Zu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},$u=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ta=function(t,e){return["None",e.ORDER_ATOMIC]},ea=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ia=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},na=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},sa=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},oa=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},pa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ua=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},aa=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},la=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},_a=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},ra=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ia=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Ta=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ha=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},ma=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ca=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Oa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ra=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Ma=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Ea=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Ca=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Aa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},ga=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Sa=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Da=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Na=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],p=0;p<this.arguments_.length;p++){var u=e.variableDB_.getName(this.arguments_[p],Rt.Variables.NAME_TYPE);o[p]=u}var a="def "+i+"("+o.join(", ")+"):\n"+n+s+"\n";return a=e.scrub_(this,a),e.setups_[i]=a,null},La=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);for(var s=[],o=0;o<this.arguments_.length;o++){var p=e.variableDB_.getName(this.arguments_[o],Rt.Variables.NAME_TYPE);s[o]=p}var u="def "+i+"("+s.join(", ")+"):\n"+n+"\n";return u=e.scrub_(this,u),e.setups_[i]=u,null},Fa=function(t,e){for(var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=[],s=0;s<this.arguments_.length;s++)n[s]=e.valueToCode(this,"ARG"+s,e.ORDER_NONE)||"null";return[i+"("+n.join(", ")+")",e.ORDER_UNARY_POSTFIX]},va=function(t,e){for(var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=[],s=0;s<this.arguments_.length;s++)n[s]=e.valueToCode(this,"ARG"+s,e.ORDER_NONE)||"null";return i+"("+n.join(", ")+")\n"},Pa=function(t,e){var i="if ("+(e.valueToCode(this,"CONDITION",e.ORDER_NONE)||"False")+") :\n";this.hasReturnValue_?i+=" return "+(e.valueToCode(this,"VALUE",e.ORDER_NONE)||"None"):i+=" return None";return i+="\n"},Va=function(t,e){var i="";this.hasReturnValue_?i+="return "+(e.valueToCode(this,"VALUE",e.ORDER_NONE)||"None"):i+="return None";return i+="\n"},ya=function(t,e){for(var i=e.variableDB_.getName(this.getFieldValue("VAR"),Rt.Variables.NAME_TYPE),n=new Array(this.itemCount_),s=0;s<this.itemCount_;s++)n[s]=e.valueToCode(this,"ADD"+s,e.ORDER_NONE)||"0";if(1!=this.itemCount_)n=i+"= ("+n.join(", ")+")\n";else n=i+"= ("+n.join(", ")+",)\n";return n},Ya=function(t,e){return e.variableDB_.getName(this.getFieldValue("VAR"),Rt.Variables.NAME_TYPE)+"= ("+this.getFieldValue("TEXT")+")\n"},ba=function(t,e){return["("+this.getFieldValue("TEXT")+")",e.ORDER_ATOMIC]},ka=function(t,e){var i=e.valueToCode(this,"TUP",e.ORDER_ASSIGNMENT)||"0",n=e.valueToCode(this,"AT",e.ORDER_ADDITIVE)||"1";return n.match(/^\d+$/)&&(n=parseInt(n,10)),[i+"["+n+"]",e.ORDER_ATOMIC]},xa=function(t,e){return["len("+(e.valueToCode(this,"TUP",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},Xa=function(t,e){return"del "+(e.valueToCode(this,"TUP",e.ORDER_ASSIGNMENT)||"0")+"\n"},Ga=function(t,e){return[(e.valueToCode(this,"TUP1",e.ORDER_ASSIGNMENT)||"0")+" + "+(e.valueToCode(this,"TUP2",e.ORDER_ASSIGNMENT)||"0"),e.ORDER_ATOMIC]},Ha=function(t,e){var i=e.valueToCode(this,"TUP",e.ORDER_ASSIGNMENT)||"0";return[this.getFieldValue("DIR")+"("+i+")",e.ORDER_ATOMIC]},Ua=function(t,e){return[this.getFieldValue("OP")+"("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")\n",e.ORDER_ATOMIC]},wa=function(t,e){var i=this.getFieldValue("OP"),n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0",s=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)||"0";if("INDEX"==i)var o=n+".index("+s+")";else if("COUNT"==i)o=n+".count("+s+")";return[o,e.ORDER_ATOMIC]},Ba=function(t,e){var i,n=t.getFieldValue("OP");switch(e.definitions_.import_math="import math",t=e.valueToCode(t,"data",e.ORDER_NONE),n){case"LEN":i="len("+t+")";break;case"SUM":i="sum("+t+")";break;case"MIN":i="min("+t+")";break;case"MAX":i="max("+t+")";break;case"AVERAGE":i=e.provideFunction_("math_mean",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(myList):"," localList = [e for e in myList if type(e) == int or type(e) == float]"," if not localList: return"," return float(sum(localList)) / len(localList)"])+"("+t+")";break;case"MEDIAN":i=e.provideFunction_("math_median",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(myList):"," localList = sorted([e for e in myList if type(e) == int or type(e) == float])"," if not localList: return"," if len(localList) % 2 == 0:"," return (localList[len(localList) // 2 - 1] + localList[len(localList) // 2]) / 2.0"," else:"," return localList[(len(localList) - 1) // 2]"])+"("+t+")";break;case"MODE":i=e.provideFunction_("math_modes",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(some_list):"," modes = []"," # Using a lists of [item, count] to keep count rather than dict",' # to avoid "unhashable" errors when the counted item is itself a list or dict.'," counts = []"," maxCount = 1"," for item in some_list:"," found = False"," for count in counts:"," if count[0] == item:"," count[1] += 1"," maxCount = max(maxCount, count[1])"," found = True"," if not found:"," counts.append([item, 1])"," for counted_item, item_count in counts:"," if item_count == maxCount:"," modes.append(counted_item)"," return modes"])+"("+t+")";break;case"STD_DEV":e.definitions_.import_math="import math",i=e.provideFunction_("math_standard_deviation",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(numbers):"," n = len(numbers)"," if n == 0: return"," mean = float(sum(numbers)) / n"," variance = sum((x - mean) ** 2 for x in numbers) / n"," return math.sqrt(variance)"])+"("+t+")";break;default:throw"Unknown operator: "+n}if(i)return[i,e.ORDER_FUNCTION_CALL]},Wa=function(t,e){var i=e.valueToCode(t,"LIST",e.ORDER_MEMBER)||"[]",n=t.getFieldValue("WHERE1"),s=t.getFieldValue("WHERE2");switch(n){case"FROM_START":"0"==(o=e.getAdjustedInt(t,"AT1"))&&(o="");break;case"FROM_END":var o=e.getAdjustedInt(t,"AT1",1,!0);break;case"FIRST":o="0";break;default:throw"Unhandled option (lists_getSublist)"}switch(s){case"FROM_START":var p=e.getAdjustedInt(t,"AT2",1);p-=1;break;case"FROM_END":p=e.getAdjustedInt(t,"AT2",1,!0);Rt.isNumber(String(p))?"0"==p&&(p=""):(e.definitions_.import_sys="import sys",p+=" or sys.maxsize");break;case"LAST":p="-1";break;default:throw"Unhandled option (lists_getSublist)"}return[i+"["+o+" : "+p+"]",e.ORDER_MEMBER]},Ka=function(t,e){for(var i=new Array(this.itemCount_),n=0;n<this.itemCount_;n++)i[n]=e.valueToCode(this,"ADD"+n,e.ORDER_NONE)||"0";if(1!=this.itemCount_)i="("+i.join(", ")+")";else i="("+i.join(", ")+",)";return[i,e.ORDER_ATOMIC]},Qa=function(t,e){return[(e.valueToCode(this,"LIST",e.ORDER_ADDITIVE)||"0")+"["+(e.valueToCode(this,"AT1",e.ORDER_ADDITIVE)||"0")+" : "+(e.valueToCode(this,"AT2",e.ORDER_ADDITIVE)||"0")+"]",e.ORDER_ATOMIC]},ja=function(t,e){return e.definitions_.import_random="import random",["random.choice("+(e.valueToCode(this,"TUP",e.ORDER_ADDITIVE)||"mytup")+")",e.ORDER_ATOMIC]},qa=function(t,e){return["tuple("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ja=function(t,e){for(var i=e.variableDB_.getName(this.getFieldValue("VAR"),Rt.Variables.NAME_TYPE),n=new Array(this.itemCount_),s=0;s<this.itemCount_;s++)n[s]=e.valueToCode(this,"ADD"+s,e.ORDER_NONE)||"0";return n=i+"= {"+n.join(", ")+"}\n",0==this.itemCount_&&(n=i+" = set()\n"),n},za=function(t,e){return["len("+(e.valueToCode(this,"SET",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},Za=function(t,e){return[(e.valueToCode(this,"SET",e.ORDER_ASSIGNMENT)||"0")+".pop()",e.ORDER_ATOMIC]},$a=function(t,e){return(e.valueToCode(this,"SET",e.ORDER_ASSIGNMENT)||"0")+".clear()\n"},tl=function(t,e){var i=e.valueToCode(this,"SET1",e.ORDER_ASSIGNMENT)||"0",n=e.valueToCode(this,"SET2",e.ORDER_ASSIGNMENT)||"0";return[i+"."+this.getFieldValue("OPERATE")+"("+n+")",e.ORDER_ATOMIC]},el=function(t,e){var i=e.valueToCode(this,"SET1",e.ORDER_ASSIGNMENT)||"0",n=e.valueToCode(this,"SET2",e.ORDER_ASSIGNMENT)||"0";return i+"."+this.getFieldValue("OPERATE")+"("+n+")\n"},il=function(t,e){return(e.valueToCode(this,"SET",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("OPERATE")+"("+(e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)||"0")+")\n"},nl=function(t,e){var i=e.valueToCode(this,"SET1",e.ORDER_ASSIGNMENT)||"0",n=e.valueToCode(this,"SET2",e.ORDER_ASSIGNMENT)||"0";return[i+"."+this.getFieldValue("OPERATE")+"("+n+")",e.ORDER_ATOMIC]},sl=function(t,e){return(e.valueToCode(this,"SET",e.ORDER_ASSIGNMENT)||"0")+".update("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ol=function(t,e){return["{"+this.getFieldValue("TEXT")+"}",e.ORDER_ATOMIC]},pl=function(t,e){return["set("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},ul=function(t,e){return["'''<!DOCTYPE HTML>\n<html>\n<head>\n\t<meta charset=\"utf-8\">\n"+e.statementToCode(this,"HEAD")+"</head>\n<body>\n"+e.statementToCode(this,"BODY")+"</body>\n</html>\n'''",e.ORDER_ATOMIC]},al=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<h"+n+">\n"+i+"</h"+n+">\n"},ll=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t<meta charset="utf-8">\n'+i+"</"+n+">\n";else s="<"+n+">\n"+i+"</"+n+">\n";return s},_l=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"</"+n+">\n"},rl=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"</"+s+">\n"},dl=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Il=function(t,e){return'<input type="'+this.getFieldValue("LEVEL")+'" name="'+this.getFieldValue("NAME")+'" value="'+this.getFieldValue("VALUE")+'" '+(e.valueToCode(this,"style")||"")+" />"},Tl=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},hl=function(){return this.getFieldValue("TEXT")+"\n"},ml=function(t){return t.getFieldValue("TEXT")+"\n"},cl=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Ol=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Rl=function(){return""},Ml=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},El=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o<t.itemCount_;o++)s[o]=e.valueToCode(t,"ARGUMENT"+o,e.ORDER_NONE)||"___";var p=i+"("+s.join(", ")+")";return n?[p,e.ORDER_ATOMIC]:p+"\n"},Cl=function(t,e){var i=e.valueToCode(t,"MODULE",e.ORDER_ATOMIC),n=e.valueToCode(t,"NAME",e.ORDER_ATOMIC);return[i+"."+(n=n.substring(1,n.length-1)),e.ORDER_NONE]},Al=new Rt.Generator("Python");Al.INDENT=" ",Al.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Al.ORDER_ATOMIC=0,Al.ORDER_COLLECTION=1,Al.ORDER_STRING_CONVERSION=1,Al.ORDER_UNARY_POSTFIX=1,Al.ORDER_UNARY_PREFIX=2,Al.ORDER_MEMBER=2.1,Al.ORDER_FUNCTION_CALL=2.2,Al.ORDER_EXPONENTIATION=3,Al.ORDER_UNARY_SIGN=4,Al.ORDER_BITWISE_NOT=4,Al.ORDER_MULTIPLICATIVE=5,Al.ORDER_ADDITIVE=6,Al.ORDER_BITWISE_SHIFT=7,Al.ORDER_BITWISE_AND=8,Al.ORDER_BITWISE_XOR=9,Al.ORDER_BITWISE_OR=10,Al.ORDER_RELATIONAL=11,Al.ORDER_EQUALITY=11,Al.ORDER_LOGICAL_NOT=12,Al.ORDER_LOGICAL_AND=13,Al.ORDER_LOGICAL_OR=14,Al.ORDER_ASSIGNMENT=14,Al.ORDER_CONDITIONAL=15,Al.ORDER_LAMBDA=16,Al.ORDER_NONE=99,Al.ORDER_OVERRIDES=[[Al.ORDER_FUNCTION_CALL,Al.ORDER_MEMBER],[Al.ORDER_FUNCTION_CALL,Al.ORDER_FUNCTION_CALL],[Al.ORDER_MEMBER,Al.ORDER_MEMBER],[Al.ORDER_MEMBER,Al.ORDER_FUNCTION_CALL]],Al.init=function(){Al.PASS=this.INDENT+"pass\n",Al.definitions_=Object.create(null),Al.functionNames_=Object.create(null),Al.setups_=Object.create(null),Al.loops_=Object.create(null),Al.codeEnd_=Object.create(null),Al.variableDB_?Al.variableDB_.reset():Al.variableDB_=new gt(Al.RESERVED_WORDS_)},Al.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[];for(var i in Al.definitions_)e.push(Al.definitions_[i]);var n=[];for(var i in Al.functions_)n.push(Al.functions_[i]);var s=[];for(var i in Al.setups_)s.push(Al.setups_[i]);0!==s.length&&s.push("\n");var o=[];for(var i in Al.loops_)o.push(Al.loops_[i]);var p=[];for(var i in Al.codeEnd_)p.push(Al.codeEnd_[i]);return 0!==p.length&&p.push("\n"),o.length>0?e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+o.join("")+p.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+p.join("\n")},Al.scrubNakedValue=function(t){return t+"\n"},Al.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Al.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Al.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Rt.utils.string.wrap(o,Al.COMMENT_WRAP-3),n+=Al.prefixLines(o+"\n","# "));for(var s=0;s<t.inputList.length;s++)if(t.inputList[s].type==Rt.INPUT_VALUE){var o,p=t.inputList[s].connection.targetBlock();if(p)(o=Al.allNestedComments(p))&&(n+=Al.prefixLines(o,"# "))}}var u=t.nextConnection&&t.nextConnection.targetBlock();return n+e+(i?"":Al.blockToCode(u))},Al.getAdjustedInt=function(t,e,i,n){var s=i||0;t.workspace.options.oneBasedIndex&&s--;var o=t.workspace.options.oneBasedIndex?"1":"0",p=s?Al.ORDER_ADDITIVE:Al.ORDER_NONE,u=Al.valueToCode(t,e,p)||o;return Rt.isNumber(u)?(u=parseInt(u,10)+s,n&&(u=-u)):(u=s>0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const gl=100,Sl={init:function(){this.setColour(gl),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},Dl={init:function(){this.setColour(gl),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"op"),this.setOutput(!0)}},Nl={init:function(){this.setColour(gl),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"1"],[Rt.Msg.MIXLY_ESP32_OFF,"0"],[Rt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},fl={init:function(){this.setColour(gl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Ll={init:function(){this.setColour(gl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Fl={init:function(){this.setColour(gl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},vl={init:function(){this.setColour(gl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Pl={init:function(){this.setColour(gl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Vl={init:function(){this.setColour(gl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETBRIGHT)}},yl={init:function(){this.setColour(gl),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_TONE).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Yl={init:function(){this.setColour(gl),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_TONE).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},bl={init:function(){this.setColour(gl),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_NOTONE).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kl={init:function(){this.setColour(gl),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},xl={init:function(){this.setColour(gl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Xl={init:function(){this.setColour(gl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Gl={init:function(){this.setColour(gl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Hl={init:function(){this.setColour(gl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ul={init:function(){this.setColour(gl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wl={init:function(){this.setColour(gl),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Bl={init:function(){this.setColour(gl),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Wl={init:function(){this.setColour(gl),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Rt.Msg.MIXLY_PIN),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MIXGO_MUSIC_PLAY_TONE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAYSHOW)}},Kl={init:function(){this.setColour(gl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},Ql={init:function(){this.setColour(gl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},jl={init:function(){this.setColour(gl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ql={init:function(){this.setColour(gl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},Jl={init:function(){this.setColour(gl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},zl={init:function(){this.setColour(gl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Zl=vl,$l=Pl,t_=Vl,e_="#2FAD7A",i_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},n_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},s_={init:function(){this.jsonInit({inputsInline:!0,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},o_={init:function(){this.jsonInit({inputsInline:!0,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},p_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},u_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},a_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},l_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},__={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},r_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},d_={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},I_={init:function(){this.jsonInit({message0:Rt.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[Rt.Msg.MIXLY_PYTHON_PERIODIC,"False"],[Rt.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},T_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},h_={init:function(){this.jsonInit({inputsInline:!0,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},m_={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:e_,helpUrl:Rt.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},c_=120;({init:function(){this.setColour(c_),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}}).OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(c_);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const O_=180,R_={colourOptions:["#f00","#000"],columns:2},M_={init:function(){this.jsonInit({colour:O_,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:Rt.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Clear_display)}},E_={init:function(){this.setColour(O_),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},C_={init:function(){this.setColour(O_),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},A_={init:function(){this.setColour(O_),this.appendValueInput("data").setCheck(String).appendField(new Rt.FieldDropdown([[Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Rt.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Rt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.OLED_DRAWSTR;return{show:Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},g_={init:function(){this.setColour(O_),this.appendValueInput("data").setCheck(String).appendField(new Rt.FieldDropdown([[Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Rt.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DELAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.OLED_DRAWSTR;return{show:Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},S_={init:function(){this.setColour(O_),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_STATIC),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SHOW_STATIC)}},D_={init:function(){this.setColour(O_),this.appendValueInput("PIN",String).setCheck("esp32_image").appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP)}},N_={init:function(){this.jsonInit({colour:O_,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:Rt.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}]})}},f_={init:function(){this.jsonInit({colour:O_,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:Rt.Msg.MIXLY_MICROBIT_Animate_images,args0:[{check:"List",type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+Rt.Msg.MIXLY_MICROBIT_Animate_images1)}},L_={init:function(){this.jsonInit({colour:O_,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:Rt.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},F_={init:function(){this.setColour(O_),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(Rt.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=Rt.Msg.MIXLY_MICROBIT_monitor;return{on:Rt.Msg.MIXLY_MICROBIT_Turn_on_display,off:Rt.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},v_={init:function(){this.jsonInit({colour:O_,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:Rt.Msg.MIXLY_MICROBIT_Turn_off_display})}},P_={init:function(){this.jsonInit({colour:O_,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:Rt.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Display_is_on1)}},V_={init:function(){this.jsonInit({colour:O_,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Rt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Rt.Msg.MIXLY_MICROBIT_Built_in_image})}},y_={init:function(){this.jsonInit({colour:O_,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{colour:"#000000",type:"field_colour",name:"05"},{colour:"#000000",type:"field_colour",name:"06"},{colour:"#000000",type:"field_colour",name:"07"},{colour:"#000000",type:"field_colour",name:"08"},{colour:"#000000",type:"field_colour",name:"09"},{colour:"#000000",type:"field_colour",name:"0a"},{colour:"#000000",type:"field_colour",name:"0b"},{colour:"#000000",type:"field_colour",name:"0c"},{colour:"#000000",type:"field_colour",name:"0d"},{colour:"#000000",type:"field_colour",name:"0e"},{colour:"#000000",type:"field_colour",name:"0f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{colour:"#000000",type:"field_colour",name:"15"},{colour:"#000000",type:"field_colour",name:"16"},{colour:"#000000",type:"field_colour",name:"17"},{colour:"#000000",type:"field_colour",name:"18"},{colour:"#000000",type:"field_colour",name:"19"},{colour:"#000000",type:"field_colour",name:"1a"},{colour:"#000000",type:"field_colour",name:"1b"},{colour:"#000000",type:"field_colour",name:"1c"},{colour:"#000000",type:"field_colour",name:"1d"},{colour:"#000000",type:"field_colour",name:"1e"},{colour:"#000000",type:"field_colour",name:"1f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{colour:"#000000",type:"field_colour",name:"25"},{colour:"#000000",type:"field_colour",name:"26"},{colour:"#000000",type:"field_colour",name:"27"},{colour:"#000000",type:"field_colour",name:"28"},{colour:"#000000",type:"field_colour",name:"29"},{colour:"#000000",type:"field_colour",name:"2a"},{colour:"#000000",type:"field_colour",name:"2b"},{colour:"#000000",type:"field_colour",name:"2c"},{colour:"#000000",type:"field_colour",name:"2d"},{colour:"#000000",type:"field_colour",name:"2e"},{colour:"#000000",type:"field_colour",name:"2f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{colour:"#000000",type:"field_colour",name:"35"},{colour:"#000000",type:"field_colour",name:"36"},{colour:"#000000",type:"field_colour",name:"37"},{colour:"#000000",type:"field_colour",name:"38"},{colour:"#000000",type:"field_colour",name:"39"},{colour:"#000000",type:"field_colour",name:"3a"},{colour:"#000000",type:"field_colour",name:"3b"},{colour:"#000000",type:"field_colour",name:"3c"},{colour:"#000000",type:"field_colour",name:"3d"},{colour:"#000000",type:"field_colour",name:"3e"},{colour:"#000000",type:"field_colour",name:"3f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"},{colour:"#000000",type:"field_colour",name:"45"},{colour:"#000000",type:"field_colour",name:"46"},{colour:"#000000",type:"field_colour",name:"47"},{colour:"#000000",type:"field_colour",name:"48"},{colour:"#000000",type:"field_colour",name:"49"},{colour:"#000000",type:"field_colour",name:"4a"},{colour:"#000000",type:"field_colour",name:"4b"},{colour:"#000000",type:"field_colour",name:"4c"},{colour:"#000000",type:"field_colour",name:"4d"},{colour:"#000000",type:"field_colour",name:"4e"},{colour:"#000000",type:"field_colour",name:"4f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"50"},{colour:"#000000",type:"field_colour",name:"51"},{colour:"#000000",type:"field_colour",name:"52"},{colour:"#000000",type:"field_colour",name:"53"},{colour:"#000000",type:"field_colour",name:"54"},{colour:"#000000",type:"field_colour",name:"55"},{colour:"#000000",type:"field_colour",name:"56"},{colour:"#000000",type:"field_colour",name:"57"},{colour:"#000000",type:"field_colour",name:"58"},{colour:"#000000",type:"field_colour",name:"59"},{colour:"#000000",type:"field_colour",name:"5a"},{colour:"#000000",type:"field_colour",name:"5b"},{colour:"#000000",type:"field_colour",name:"5c"},{colour:"#000000",type:"field_colour",name:"5d"},{colour:"#000000",type:"field_colour",name:"5e"},{colour:"#000000",type:"field_colour",name:"5f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"60"},{colour:"#000000",type:"field_colour",name:"61"},{colour:"#000000",type:"field_colour",name:"62"},{colour:"#000000",type:"field_colour",name:"63"},{colour:"#000000",type:"field_colour",name:"64"},{colour:"#000000",type:"field_colour",name:"65"},{colour:"#000000",type:"field_colour",name:"66"},{colour:"#000000",type:"field_colour",name:"67"},{colour:"#000000",type:"field_colour",name:"68"},{colour:"#000000",type:"field_colour",name:"69"},{colour:"#000000",type:"field_colour",name:"6a"},{colour:"#000000",type:"field_colour",name:"6b"},{colour:"#000000",type:"field_colour",name:"6c"},{colour:"#000000",type:"field_colour",name:"6d"},{colour:"#000000",type:"field_colour",name:"6e"},{colour:"#000000",type:"field_colour",name:"6f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"70"},{colour:"#000000",type:"field_colour",name:"71"},{colour:"#000000",type:"field_colour",name:"72"},{colour:"#000000",type:"field_colour",name:"73"},{colour:"#000000",type:"field_colour",name:"74"},{colour:"#000000",type:"field_colour",name:"75"},{colour:"#000000",type:"field_colour",name:"76"},{colour:"#000000",type:"field_colour",name:"77"},{colour:"#000000",type:"field_colour",name:"78"},{colour:"#000000",type:"field_colour",name:"79"},{colour:"#000000",type:"field_colour",name:"7a"},{colour:"#000000",type:"field_colour",name:"7b"},{colour:"#000000",type:"field_colour",name:"7c"},{colour:"#000000",type:"field_colour",name:"7d"},{colour:"#000000",type:"field_colour",name:"7e"},{colour:"#000000",type:"field_colour",name:"7f"}],output:"esp32_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:Rt.Msg.MIXLY_ESP32_Create_image}),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)}},Y_={init:function(){var t=[[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"]];this.setColour(O_),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Rt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT}[t]+s}))}},b_={init:function(){var t=[[Rt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(O_),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},k_={init:function(){this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING,"scroll"]]),"MODE"),this.jsonInit({colour:O_,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:Rt.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.OLED_DRAWSTR;return Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+{show:Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},x_={init:function(){this.setColour(O_),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Rt.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},X_={init:function(){this.setColour(O_),this.appendValueInput("device").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETUP).appendField(Rt.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(Rt.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_DF_LCD+Rt.Msg.MIXLY_LCD_ADDRESS)}},G_={init:function(){this.setColour(O_),this.appendValueInput("row",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Rt.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},H_={init:function(){this.setColour(O_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ON,"on()"],[Rt.Msg.MIXLY_OFF,"off()"],[Rt.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[Rt.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(off)"],[Rt.Msg.MIXLY_LCD_BACKLIGHT,"backlight(on)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_DF_LCD+{"on()":Rt.Msg.MIXLY_ON,"off()":Rt.Msg.MIXLY_OFF,"clear()":Rt.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":Rt.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":Rt.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},U_={init:function(){this.setColour(O_),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendValueInput("row").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},w_={init:function(){this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.OLEDDISPLAY+Rt.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(O_),this.setTooltip(Rt.Msg.MIXLY_DF_LCD+Rt.Msg.OLEDDISPLAY+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING)}},B_={init:function(){var t=[[Rt.Msg.MIXLY_HEIGHT,"height"],[Rt.Msg.MIXLY_WIDTH,"width"]];this.setColour(O_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE+{height:Rt.Msg.MIXLY_HEIGHT,width:Rt.Msg.MIXLY_WIDTH}[t]}))}},W_={init:function(){var t=[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(O_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RECT).appendField(new Rt.FieldDropdown(t),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_OLED_RECT)}},K_={init:function(){this.setColour(O_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DISPLAY_DRAW).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_DISPLAY_RLINE,"hline"],[Rt.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_OLED_LINE)}},Q_={init:function(){this.setColour(O_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_OLED_LINE_ARBIT)}},j_={init:function(){this.setColour(O_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},q_={init:function(){this.setColour(O_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(Rt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},J_={init:function(){this.setColour(O_),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS)}},z_={init:function(){this.setColour(O_),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},Z_={init:function(){this.setColour(O_),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new Rt.FieldColour("#f00",null,R_),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},$_={init:function(){this.setColour(O_),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},tr={init:function(){this.setColour(O_),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},er={init:function(){this.setColour(O_),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},ir={init:function(){this.setColour(O_),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},nr={init:function(){this.setColour(O_),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"ON"],[Rt.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},sr={init:function(){this.setColour(O_),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[Rt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:Rt.Msg.MIXLY_LCD_STAT_CLEAR,1:Rt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return Rt.Msg.MIXLY_DF_LCD+i[e]}))}},or={init:function(){this.setColour(O_),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Rt.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},pr={init:function(){this.setColour(O_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_4DIGITDISPLAY).appendField(new Rt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ON,"_on"],[Rt.Msg.MIXLY_OFF,"_off"],[Rt.Msg.MIXLY_LCD_STAT_CLEAR,"_clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},ur={init:function(){this.setColour(O_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_4DIGITDISPLAY).appendField(new Rt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ar={init:function(){this.setColour(O_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_4DIGITDISPLAY).appendField(new Rt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(Rt.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Rt.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},lr={init:function(){this.setColour(O_),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new Rt.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},_r={init:function(){var t=[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(O_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Rt.FieldDropdown(t),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},rr={init:function(){var t=[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(O_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Rt.FieldDropdown(t),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},dr={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(Rt.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},Ir={init:function(){this.setColour(O_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Rt.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Rt.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Rt.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Rt.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.OLED_SHOW_BMP_TOOLTIP)}},Tr={init:function(){this.setColour(O_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED),this.appendDummyInput("").appendField(Rt.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(Rt.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(Rt.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.OLED_DRAW_PIXE_TOOLTIP)}},hr={init:function(){this.setColour(O_),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["32x12 Matrix","32x12 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},mr={init:function(){this.setColour(O_),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},cr={init:function(){this.setColour(O_),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Or="#526FC3",Rr={init:function(){this.setColour(Or),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Mr={init:function(){this.setColour(Or),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Rt.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},Er={init:function(){this.setColour(Or),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},Cr={init:function(){this.setColour(Or),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},Ar={init:function(){this.setColour(Or),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Rt.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},gr={init:function(){this.setColour(Or),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Rt.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Rt.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("iot_publish_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("iot_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){var e=t.getInputTargetBlock("STACK"),i=[];let n=0;for(;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(let t=0;t<this.itemCount_;t++)i[t]&&this.getInput("ADD"+t).connection.connect(i[t])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){this.getInput("EMPTY")&&this.removeInput("EMPTY");var t=[];for(let e=0;this.getInput("ADD"+e);e++)t.push(this.getFieldValue("KEY"+e)),this.removeInput("ADD"+e);if(0==this.itemCount_)this.setFieldValue(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET_EMPTY,"TIP");else{this.setFieldValue(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET,"TIP");for(let e=0;e<this.itemCount_;e++)this.appendValueInput("ADD"+e).setCheck(null).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldTextInput(t.length>e?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sr={init:function(){this.setColour(Or),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Dr={init:function(){this.setColour(Or),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Nr={init:function(){this.setColour(Or),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},fr={init:function(){this.setColour(Or),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PROJECT).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Lr={init:function(){this.setColour(Or),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Fr={init:function(){this.setColour(Or),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},vr={init:function(){this.setColour(Or),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pr={init:function(){this.setColour(Or),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vr={init:function(){this.setColour(Or),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yr={init:function(){this.setColour(Or),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Yr={init:function(){this.setColour(Or),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},br={init:function(){this.setColour(Or),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},kr={init:function(){this.setColour(Or),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},xr={init:function(){this.setColour(Or),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},Xr={init:function(){this.setColour(Or),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Rt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Gr={init:function(){this.setColour(Or),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+Rt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hr={init:function(){this.setColour(Or),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ur={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(Or),this.appendDummyInput("").appendField(new Rt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},wr={init:function(){this.setColour(Or),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Br={init:function(){this.setColour(Or),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Rt.Msg.MIXLY_REQUESTS_GET).appendField(Rt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wr={init:function(){this.setColour(Or),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Or),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Rt.Msg.MQTT_Topic).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(Or),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},jr=Rr,qr=Mr,Jr=Er,zr=Cr,Zr=gr;Rt.Msg.PS2_TRIANGLE,Rt.Msg.PS2_CIRCLE,Rt.Msg.PS2_CROSS,Rt.Msg.PS2_SQUARE,Rt.Msg.PS2_L1,Rt.Msg.PS2_L2,Rt.Msg.PS2_R1,Rt.Msg.PS2_R2,Rt.Msg.PS2_UP,Rt.Msg.PS2_RIGHT,Rt.Msg.PS2_DOWN,Rt.Msg.PS2_LEFT,Rt.Msg.PS2_SELECT,Rt.Msg.PS2_START;const $r=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC);return"music.pitch("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+")\n"},td=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC),n=e.valueToCode(this,"time",e.ORDER_ATOMIC);return"music.pitch_time("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+", "+n+")\n"},ed=function(t,e){return e.definitions_.import_music="import music","music.stop("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")\n"},id=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"BPM",e.ORDER_ASSIGNMENT);return"music.set_tempo("+e.valueToCode(this,"TICKS",e.ORDER_ASSIGNMENT)+", "+i+")\n"},nd=function(t,e){e.definitions_.import_music="import music";return["music.get_tempo()",e.ORDER_ATOMIC]},sd=function(t,e){return e.definitions_.import_music="import music","music.pitch("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+")\n"},od=function(t,e){return e.definitions_.import_music="import music","music.pitch_time("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"time",e.ORDER_ATOMIC)+")\n"},pd=function(t,e){e.definitions_.import_music="import music";return"music.stop()\n"},ud=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+")\n"},ad=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},ld=function(t,e){return e.definitions_.import_music="import music",e.definitions_.import_matrix="import matrix","music.play_show("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},_d=function(t,e){return e.definitions_.import_music="import music","music.reset()\n"},rd=function(t,e){return e.definitions_.import_servo="import servo",e.definitions_.import_machine="import machine","servo.servo_write_angle("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC)+")\n"},dd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Id=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},Td=function(t,e){e.definitions_.import_mixgo="import mixgo";var i=e.valueToCode(this,"bright",e.ORDER_ATOMIC);return"mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setonoff("+i+")\n"},hd=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").getonoff()",e.ORDER_ATOMIC]},md=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},cd=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setonoff("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},Od=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".getonoff()",e.ORDER_ATOMIC]},Rd=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},Md=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=e.valueToCode(this,"LEDCOUNT",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",i+" = neopixel.NeoPixel(machine.Pin("+n+"), "+s+", timing = True)\n"},Ed=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".write()\n"},Cd=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},Ad=function(t,e){e.definitions_.import_mixgo="import mixgo";return"mixgo.rgb.write()\n"},gd=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},Sd=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb.fill(("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+"))\n"},Dd=cd,Nd=Od,fd=Rd,Ld=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC);e.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},Fd=function(t,e){return"blynk.virtual_sync("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+")\n"},vd=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},Pd=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},Vd=function(){return"blynk_timer.run()\n"},yd=function(){return"blynk.run()\n"},Yd=function(t,e){return"blynk.notify("+e.valueToCode(this,"notification",e.ORDER_ATOMIC)+")\n"},bd=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=e.valueToCode(this,"timer_num",e.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},kd=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",e.ORDER_ATOMIC]},xd=function(t,e){e.definitions_.import_blynktimer="import blynktimer";var i=e.valueToCode(this,"Num",e.ORDER_ATOMIC),n=e.valueToCode(this,"period",e.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),o=e.statementToCode(this,"DO");return o=e.addLoopTrap(o,this.id)||e.PASS,e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",e.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+o,""},Xd=function(t,e){var i=e.valueToCode(this,"sensor_data",e.ORDER_ATOMIC);return"blynk.virtual_write("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+", "+i+")\n"},Gd=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC),n=e.statementToCode(this,"DO");return n=e.addLoopTrap(n,this.id)||e.PASS,e.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},Hd=function(t,e){var i=e.valueToCode(this,"body",e.ORDER_ATOMIC),n=e.valueToCode(this,"subject",e.ORDER_ATOMIC);return`blynk.email(${e.valueToCode(this,"TargetEmail",e.ORDER_ATOMIC)}, ${n}, ${i})\n`},Ud=function(t,e){var i=e.valueToCode(this,"attribute_value",e.ORDER_ATOMIC);return`blynk.set_property(pin, ${e.valueToCode(this,"attribute_name",e.ORDER_ATOMIC)}, ${i})\n`},wd=function(t,e){e.definitions_.import_BlynkLib="import blynklib";var i=e.valueToCode(this,"server",e.ORDER_ATOMIC),n=e.valueToCode(this,"auth",e.ORDER_ATOMIC),s=e.valueToCode(this,"port",e.ORDER_ATOMIC);return e.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",e.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",e.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""};const Bd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Wd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Kd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.showstatic("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Qd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},jd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},qd=function(t,e){e.definitions_.import_matrix="import matrix";var i={"#000000":"0","#ff0000":"1"};return['matrix.Image("'+i[t.getFieldValue("00")]+i[t.getFieldValue("01")]+i[t.getFieldValue("02")]+i[t.getFieldValue("03")]+i[t.getFieldValue("04")]+i[t.getFieldValue("05")]+i[t.getFieldValue("06")]+i[t.getFieldValue("07")]+i[t.getFieldValue("08")]+i[t.getFieldValue("09")]+i[t.getFieldValue("0a")]+i[t.getFieldValue("0b")]+i[t.getFieldValue("0c")]+i[t.getFieldValue("0d")]+i[t.getFieldValue("0e")]+i[t.getFieldValue("0f")]+":"+i[t.getFieldValue("10")]+i[t.getFieldValue("11")]+i[t.getFieldValue("12")]+i[t.getFieldValue("13")]+i[t.getFieldValue("14")]+i[t.getFieldValue("15")]+i[t.getFieldValue("16")]+i[t.getFieldValue("17")]+i[t.getFieldValue("18")]+i[t.getFieldValue("19")]+i[t.getFieldValue("1a")]+i[t.getFieldValue("1b")]+i[t.getFieldValue("1c")]+i[t.getFieldValue("1d")]+i[t.getFieldValue("1e")]+i[t.getFieldValue("1f")]+":"+i[t.getFieldValue("20")]+i[t.getFieldValue("21")]+i[t.getFieldValue("22")]+i[t.getFieldValue("23")]+i[t.getFieldValue("24")]+i[t.getFieldValue("25")]+i[t.getFieldValue("26")]+i[t.getFieldValue("27")]+i[t.getFieldValue("28")]+i[t.getFieldValue("29")]+i[t.getFieldValue("2a")]+i[t.getFieldValue("2b")]+i[t.getFieldValue("2c")]+i[t.getFieldValue("2d")]+i[t.getFieldValue("2e")]+i[t.getFieldValue("2f")]+":"+i[t.getFieldValue("30")]+i[t.getFieldValue("31")]+i[t.getFieldValue("32")]+i[t.getFieldValue("33")]+i[t.getFieldValue("34")]+i[t.getFieldValue("35")]+i[t.getFieldValue("36")]+i[t.getFieldValue("37")]+i[t.getFieldValue("38")]+i[t.getFieldValue("39")]+i[t.getFieldValue("3a")]+i[t.getFieldValue("3b")]+i[t.getFieldValue("3c")]+i[t.getFieldValue("3d")]+i[t.getFieldValue("3e")]+i[t.getFieldValue("3f")]+":"+i[t.getFieldValue("40")]+i[t.getFieldValue("41")]+i[t.getFieldValue("42")]+i[t.getFieldValue("43")]+i[t.getFieldValue("44")]+i[t.getFieldValue("45")]+i[t.getFieldValue("46")]+i[t.getFieldValue("47")]+i[t.getFieldValue("48")]+i[t.getFieldValue("49")]+i[t.getFieldValue("4a")]+i[t.getFieldValue("4b")]+i[t.getFieldValue("4c")]+i[t.getFieldValue("4d")]+i[t.getFieldValue("4e")]+i[t.getFieldValue("4f")]+":"+i[t.getFieldValue("50")]+i[t.getFieldValue("51")]+i[t.getFieldValue("52")]+i[t.getFieldValue("53")]+i[t.getFieldValue("54")]+i[t.getFieldValue("55")]+i[t.getFieldValue("56")]+i[t.getFieldValue("57")]+i[t.getFieldValue("58")]+i[t.getFieldValue("59")]+i[t.getFieldValue("5a")]+i[t.getFieldValue("5b")]+i[t.getFieldValue("5c")]+i[t.getFieldValue("5d")]+i[t.getFieldValue("5e")]+i[t.getFieldValue("5f")]+":"+i[t.getFieldValue("60")]+i[t.getFieldValue("61")]+i[t.getFieldValue("62")]+i[t.getFieldValue("63")]+i[t.getFieldValue("64")]+i[t.getFieldValue("65")]+i[t.getFieldValue("66")]+i[t.getFieldValue("67")]+i[t.getFieldValue("68")]+i[t.getFieldValue("69")]+i[t.getFieldValue("6a")]+i[t.getFieldValue("6b")]+i[t.getFieldValue("6c")]+i[t.getFieldValue("6d")]+i[t.getFieldValue("6e")]+i[t.getFieldValue("6f")]+":"+i[t.getFieldValue("70")]+i[t.getFieldValue("71")]+i[t.getFieldValue("72")]+i[t.getFieldValue("73")]+i[t.getFieldValue("74")]+i[t.getFieldValue("75")]+i[t.getFieldValue("76")]+i[t.getFieldValue("77")]+i[t.getFieldValue("78")]+i[t.getFieldValue("79")]+i[t.getFieldValue("7a")]+i[t.getFieldValue("7b")]+i[t.getFieldValue("7c")]+i[t.getFieldValue("7d")]+i[t.getFieldValue("7e")]+i[t.getFieldValue("7f")]+'")',e.ORDER_ATOMIC]},Jd=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.Image."+t.getFieldValue("image"),e.ORDER_ATOMIC]},zd=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.get_pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Zd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},$d=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_brightness()",e.ORDER_ATOMIC]},tI=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_screenimage()",e.ORDER_ATOMIC]},eI=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},iI=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.blink_rate("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},nI=function(t,e){e.definitions_.import_matrix="import matrix";return"matrix.clear()\n"},sI=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+","+e.valueToCode(this,"column",e.ORDER_ATOMIC)+","+i+")\n"},oI=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+","+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},pI=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},uI=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),p=e.valueToCode(this,"height",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP"),l="";switch(u){case"True":l=i+".show_fill_rect("+n+", "+s+", "+o+", "+p+","+a+")\n";break;case"False":l=i+".show_rect("+n+", "+s+", "+o+", "+p+","+a+")\n"}return l},aI=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP"),n=e.valueToCode(t,"A",e.ORDER_ATOMIC),s=e.valueToCode(t,"B",e.ORDER_ATOMIC);return["INTERSECTION"==i?n+"-("+n+"-"+s+")":n+i+s,e.ORDER_ATOMIC]},lI=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},_I=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},rI=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},dI=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},II=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},TI=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+this.getFieldValue("STAT")+"()\n"},hI=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_num("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},mI=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_dot("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},cI=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},OI=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",u=this.getFieldValue("OP"),a="";switch(p){case"True":a=i+".show_fill_circle("+n+", "+s+", "+o+", "+u+")\n";break;case"False":a=i+".show_circle("+n+", "+s+", "+o+", "+u+")\n"}return a},RI=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),p=e.valueToCode(this,"y1",e.ORDER_ATOMIC),u=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),l="TRUE"==this.getFieldValue("fill")?"True":"False",_=this.getFieldValue("OP"),r="";switch(l){case"True":r=i+".show_fill_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n";break;case"False":r=i+".show_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n"}return r},MI=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},EI=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},CI=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=n+" = matrix32x12.Matrix("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},AI=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_matrix32x12="import matrix32x12",i+".set_buffer("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},gI=function(t,e){return e.definitions_.import_matrix32x12="import matrix32x12",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},SI=function(t,e){return e.definitions_.import_mixiot="import mixiot","mixiot.wlan_connect("+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},DI=function(t,e){return e.definitions_.import_onenet="import onenet",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = onenet.init_MQTT_client("+e.valueToCode(this,"CLIENT",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)||"None")+")\n"},NI=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".do_disconnect()\n"},fI=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"DICT",e.ORDER_ATOMIC),s="TRUE"==this.getFieldValue("is_print")?"True":"False";return e.definitions_.import_onenet="import onenet",i+".publish("+n+", is_print = "+s+")\n"},LI=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".check_msg()\n"},FI=function(t,e){e.definitions_.import_onenet="import onenet";var i=new Array(this.itemCount_),n=new Array(this.itemCount_),s=new Array(this.itemCount_),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);for(let t=0;t<this.itemCount_;t++){var p=this.getFieldValue("KEY"+t);i[t]=p}for(let t=0;t<this.itemCount_;t++)n[t]=e.valueToCode(this,"ADD"+t,e.ORDER_NONE)||"0";var u=o+".publish({";for(let t=0;t<this.itemCount_;t++)s[t]=i[t]+": "+n[t];return u=u+s.join(", ")+"})\n"},vI=function(t,e){e.definitions_.import_mixiot="import mixiot",e.definitions_.import_machine="import machine",e.definitions_.import_ubinascii_hexlify="from ubinascii import hexlify";var i=e.valueToCode(this,"SERVER",e.ORDER_ATOMIC),n=e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC),s=e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC),o=e.valueToCode(this,"PROJECT",e.ORDER_ATOMIC);return"MQTT_USR_PRJ = "+("'"+n.replace("'","").replace("'","")+"/"+o.replace("'","").replace("'","")+"/'")+"\nmqtt_client = mixiot.init_MQTT_client("+i+", "+n+", "+s+", MQTT_USR_PRJ)\n"},PI=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"MSG",e.ORDER_ATOMIC);return e.definitions_.import_mixiot="import mixiot","mqtt_client.publish(MQTT_USR_PRJ + "+i+", "+n+")\n"},VI=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"METHOD",e.ORDER_ATOMIC);e.definitions_.import_mixiot="import mixiot";var s="mqtt_client.set_callback("+i+","+n+", MQTT_USR_PRJ)\n";return s+="mqtt_client.subscribe(MQTT_USR_PRJ + "+i+")\n"},yI=function(t,e){e.definitions_.import_mixiot="import mixiot";return"mqtt_client.disconnect(MQTT_USR_PRJ)\n"},YI=function(t,e){e.definitions_.import_mixiot="import mixiot";return"mqtt_client.connect()\n"},bI=function(t,e){e.definitions_.import_mixiot="import mixiot";return"mqtt_client.check_msg()\n"},kI=function(t,e){return['mqtt_client.decode("utf-8").split("/")[-1]',e.ORDER_ATOMIC]},xI=function(t,e){return['mqtt_client.decode("utf-8")',e.ORDER_ATOMIC]},XI=function(t,e){return e.definitions_.import_mixpy="import mixpy",["mixpy.format_content("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+", mqtt_client.client_id)",e.ORDER_ATOMIC]},GI=function(t,e){return e.definitions_.import_mixpy="import mixpy",["mixpy.format_str("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},HI=function(t,e){var i=e.valueToCode(this,"SERVER",e.ORDER_ATOMIC),n=e.valueToCode(this,"KEY",e.ORDER_ATOMIC);return e.definitions_.import_mixiot="import mixiot",e.definitions_.import_machine="import machine",e.definitions_.import_urequests="import urequests",e.definitions_.import_ubinascii_hexlify="from ubinascii import hexlify",e.definitions_.import_mixpy_analyse_sharekey="from mixpy import analyse_sharekey","sk = analyse_sharekey('http://"+i.substring(1,i.length-1)+"/mixio-php/sharekey.php?sk="+n+"')\nMQTT_USR_PRJ = sk[0]+'/'+sk[1]+'/'\nmqtt_client = mixiot.init_MQTT_client("+i+", sk[0], sk[2], MQTT_USR_PRJ)\n"},UI=function(t,e){return[this.getFieldValue("VISITOR_ID"),e.ORDER_ATOMIC]},wI=function(t,e){e.definitions_.import_mixiot="import mixiot",e.definitions_.import_machine="import machine",e.definitions_.import_ubinascii_hexlify="from ubinascii import hexlify";var i=e.valueToCode(this,"SERVER",e.ORDER_ATOMIC);return"MQTT_USR_PRJ = "+('"MixIO/'+e.valueToCode(this,"KEY",e.ORDER_ATOMIC)+'/default/"')+"\nmqtt_client = mixiot.init_MQTT_client("+i+', "MixIO_public", "MixIO_public", MQTT_USR_PRJ)\n'},BI=function(t,e){e.definitions_.import_mixiot="import mixiot";return["mqtt_client.pingSync()",e.ORDER_ATOMIC]},WI=function(t,e){return e.definitions_.import_mixiot="import mixiot",["mixiot.ntp("+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},KI=function(t,e){return["mqtt_client",e.ORDER_ATOMIC]},QI=function(t,e){return e.definitions_.import_debugnet="import debugnet",'HTTP_client = debugnet.request("GET",'+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+",debug="+this.getFieldValue("key")+")\n"},jI=function(t,e){return e.definitions_.import_debugnet="import debugnet",["HTTP_client."+this.getFieldValue("key"),e.ORDER_ATOMIC]},qI=function(t,e){e.definitions_.import_debugnet="import debugnet";var i="mqtt_client = debugnet.init_MQTT_client("+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+', "MixIO_public", "MixIO_public", "MixIO/3QBAGKRL/default/",debug='+this.getFieldValue("key2")+")\n";return i+='mqtt_client.subscribe("$SYS/hello")\n'},JI=function(t,e){return e.definitions_.import_mixiot="import mixiot",["mqtt_client."+this.getFieldValue("key"),e.ORDER_ATOMIC]},zI={k210:{description:"MicroPython[K210_MixGo AI]",digital_pin:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P17","17"],["P18","18"],["P19","19"],["P20","20"],["P21","21"],["P22","22"],["P23","23"],["P24","24"],["P25","25"]],digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P17","17"],["P18","18"],["P19","19"],["P20","20"],["P21","21"],["P22","22"],["P23","23"],["P24","24"],["P25","25"],["P30","30"],["P31","31"],["P32","32"],["P33","33"],["P34","34"],["P35","35"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]]}};zI["MixGo AI"]=zI.k210;const ZI=zI,$I=100,tT={init:function(){this.setColour($I),this.appendDummyInput().appendField("初始化"),this.appendDummyInput().appendField("舵机"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("time").appendField("定时器").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},eT={init:function(){this.setColour($I),this.appendDummyInput().appendField("设置"),this.appendDummyInput().appendField("舵机"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("range").appendField("角度").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},iT={init:function(){this.setColour($I),this.appendDummyInput().appendField("初始化"),this.appendDummyInput().appendField("16路舵机"),this.appendValueInput("address").appendField("地址").setCheck(Number),this.appendValueInput("SUB").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("使用PCA9685驱动16路舵机并备注IIC端口")}},nT={init:function(){this.setColour($I),this.appendDummyInput().appendField("设置"),this.appendDummyInput().appendField("16路舵机"),this.appendValueInput("index").appendField("编号").setCheck(Number),this.appendValueInput("range").appendField("角度").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("使用PCA9685驱动16路舵机输入编号机角度")}},sT={init:function(){this.setColour($I),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("num").appendField("灯数").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},oT={init:function(){this.setColour($I),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("num").appendField("灯号").setCheck(Number),this.appendValueInput("R").appendField("R值").setCheck(Number),this.appendValueInput("G").appendField("G值").setCheck(Number),this.appendValueInput("B").appendField("B值").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},pT={init:function(){this.setColour($I),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("生效"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},uT={init:function(){this.setColour($I),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Rt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动使用I2C通信")}},aT={init:function(){this.setColour($I),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Rt.Msg.MOTOR_N,"ms32006.MOT_N"],[Rt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},lT={init:function(){this.setColour($I),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Rt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},_T={init:function(){this.setColour($I),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.appendValueInput("P",Number).appendField("P值").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("I",Number).appendField("I值").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("D",Number).appendField("D值").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化PID算法")}},rT={init:function(){this.setColour($I),this.appendValueInput("SUB").setCheck("var").appendField(""),this.appendDummyInput().appendField("运算"),this.appendValueInput("error").appendField("偏移量").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("scaler").appendField("定标量").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("根据参数返回运算结果")}},dT="#55839A",IT={init:function(){this.setColour(dT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("anchor"),"VAR").appendField("锚点参数= (").appendField(new Rt.FieldTextInput("1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025"),"TEXT").appendField(")"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("锚点参数")}},TT={init:function(){this.setColour(dT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("calss"),"VAR").appendField("物品名称= [").appendField(new Rt.FieldTextInput("'name1', 'name2', 'name3', 'name4'"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将要识别的物品名称")}},hT={init:function(){this.setColour(dT),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("path").appendField("模型加载").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从flash系统中加载模型")}},mT={init:function(){this.setColour(dT),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("path").appendField("模型路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从文件系统中加载模型")}},cT={init:function(){this.setColour(dT),this.appendDummyInput("").appendField("yolo2").appendField("初始化"),this.appendValueInput("SUB").setAlign(Rt.inputs.Align.RIGHT).appendField("网络模型").setCheck("var"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("概率阈值").setCheck(Number),this.appendValueInput("nms_value").setAlign(Rt.inputs.Align.RIGHT).appendField("box_iou门限").setCheck(Number),this.appendValueInput("anchor_num").setAlign(Rt.inputs.Align.RIGHT).appendField("锚点数").setCheck(Number),this.appendValueInput("anchor").setAlign(Rt.inputs.Align.RIGHT).appendField("锚点参数"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化yolo2网络")}},OT={init:function(){this.setColour(dT),this.appendDummyInput("").appendField("yolo2").appendField("运行网络"),this.appendValueInput("SUB").setAlign(Rt.inputs.Align.RIGHT).appendField("模型").setCheck("var"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("运行yolo2网络")}},RT={init:function(){this.setColour(dT),this.appendDummyInput("").appendField("yolo2").appendField("前向运算"),this.appendValueInput("SUB").setAlign(Rt.inputs.Align.RIGHT).appendField("模型").setCheck("var"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("运行网络前向运算")}},MT={init:function(){this.setColour(dT),this.appendDummyInput().appendField("yolo2").appendField("模型解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-x","x"],["坐标-y","y"],["标识号","classid"],["置信度","value"]]),"key"),this.setOutput(!0),this.setTooltip("对于模型解析,获取模型识别结果的目标坐标、标识好、置信度")}},ET={init:function(){this.setColour(dT),this.appendDummyInput("").appendField("AI_OneNET").appendField("连接WiFi"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Onenet平台 连接WiFi")}},CT={init:function(){this.setColour(dT),this.appendDummyInput("").appendField("AI_OneNET").appendField("获鉴权码"),this.appendValueInput("account").setAlign(Rt.inputs.Align.RIGHT).appendField("账号").setCheck(String),this.appendValueInput("password").setAlign(Rt.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Onenet平台 需要注册平台才能使用账号获取用户鉴权码鉴权码一般24小时有效")}},AT={init:function(){this.setColour(dT),this.appendDummyInput("").appendField("AI_OneNET").appendField("调取API"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像"),this.appendDummyInput().appendField("识别").appendField(new Rt.FieldDropdown([["人脸检测","FACE_RECO"],["人脸分析","FACE_ATTRIBUTE"],["人体检测","BODY_RECO"],["图像抄表","AMMETER_READ"],["内容测评","IDENTIFY_PORN"],["车牌信息","NUMBER_PLATE_RECOGNITION"],["宠物种类","CAT_DOG_DETECTION"],["火灾检测","FIRE_DETECTION"]]),"api"),this.appendValueInput("token").setAlign(Rt.inputs.Align.RIGHT).appendField("鉴权码").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Onenet平台 调用平台API返回列表识别结果参数")}},gT={init:function(){this.setColour(dT),this.appendDummyInput("").appendField("AI_Local").appendField("模型训练"),this.appendValueInput("calss").setAlign(Rt.inputs.Align.RIGHT).appendField("物品"),this.appendValueInput("sample").setAlign(Rt.inputs.Align.RIGHT).appendField("训练量").setCheck(Number),this.appendValueInput("save").setAlign(Rt.inputs.Align.RIGHT).appendField("保存").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Local本地模型训练 需要识别的物品名称、每个物品训练数量、保存的名称")}},ST={init:function(){this.setColour(dT),this.appendDummyInput("").appendField("AI_Local").appendField("模型加载"),this.appendValueInput("path").setAlign(Rt.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Local 加载已经训练好的本地模型")}},DT={init:function(){this.setColour(dT),this.appendDummyInput("").appendField("AI_Local").appendField("运行模型"),this.appendValueInput("calss").setAlign(Rt.inputs.Align.RIGHT).appendField("物品"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Local 采集图像运行模型将返回识别的物品名、置信度")}},NT={init:function(){this.setColour(dT),this.appendDummyInput("").appendField("AI_Face").appendField("初始化 加载"),this.appendValueInput("FD").setAlign(Rt.inputs.Align.RIGHT).appendField("模型FD:").setCheck(String),this.appendValueInput("LD").setAlign(Rt.inputs.Align.RIGHT).appendField("模型LD:").setCheck(String),this.appendValueInput("FE").setAlign(Rt.inputs.Align.RIGHT).appendField("模型FE:").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("人脸分辨,初始化")}},fT={init:function(){this.setColour(dT),this.appendDummyInput("").appendField("AI_Face").appendField("运行识别"),this.appendValueInput("names").setAlign(Rt.inputs.Align.RIGHT).appendField("人名"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图象"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("人脸分辨识别到人脸返回True无人脸返回False")}},LT={init:function(){this.setColour(dT),this.appendDummyInput().appendField("AI_Face").appendField("识别解析"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["识别人名","info_name"],["置信度 %","info_score"],["脸部坐标","info_face"],["三官坐标","info_organs"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("人脸分辨,识别到人物名称,置信度,脸部坐标,三官(眼睛x2、鼻子、嘴巴*2)坐标")}},FT="#2CAAD2",vT={init:function(){this.setColour(FT),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.appendValueInput("BCK",Number).appendField("BCK#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("WS",Number).appendField("WS#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("DAT",Number).appendField("DAT#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化配置扬声器,用于语音播放")}},PT={init:function(){this.setColour(FT),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化配置扬声器,用于语音播放")}},VT={init:function(){this.setColour(FT),this.appendDummyInput().appendField("Audio 音频播放"),this.appendValueInput("path").appendField("路径").setAlign(Rt.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("volume").appendField("音量(%)").setAlign(Rt.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("音频播放")}},yT={init:function(){this.setColour(FT),this.appendDummyInput().appendField("Audio 音频录制"),this.appendValueInput("path").appendField("路径").setAlign(Rt.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("time").appendField("时长(s)").setAlign(Rt.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("音频录制")}},YT={init:function(){this.setColour(FT),this.appendDummyInput().appendField("Video 视频播放"),this.appendValueInput("path").appendField("路径").setAlign(Rt.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("volume").appendField("音量(%)").setAlign(Rt.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("视频播放")}},bT={init:function(){this.setColour(FT),this.appendDummyInput().appendField("Video 视频录制"),this.appendValueInput("path").appendField("路径").setAlign(Rt.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("time").appendField("时长(s)").setAlign(Rt.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("视频录制")}},kT="#bc9705",xT={init:function(){this.setColour(kT),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["彩色图(YUV422)","sensor.YUV422"],["彩色图(RGB565)","sensor.RGB565"],["灰度图","sensor.GRAYSCALE"]]),"flag"),this.setOutput(!0),this.setTooltip()}},XT={init:function(){this.setColour(kT),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["320x240","sensor.QVGA"],["240x240","sensor.B240X240"],["128x128","sensor.B128X128"],["64x64","sensor.B64X64"]]),"flag"),this.setOutput(!0),this.setTooltip()}},GT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera").appendField("初始化"),this.appendValueInput("key1").setAlign(Rt.inputs.Align.RIGHT).appendField("帧格式"),this.appendValueInput("key2").setAlign(Rt.inputs.Align.RIGHT).appendField("帧大小"),this.appendValueInput("key3").setAlign(Rt.inputs.Align.RIGHT).appendField("图捕捉"),this.appendValueInput("key4").setAlign(Rt.inputs.Align.RIGHT).appendField("跳帧数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("初始化摄像头,会自动扫描并获取摄像头型号")}},HT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("初始化摄像头,会自动扫描并获取摄像头型号")}},UT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("帧格式"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头输出格式")}},wT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("帧大小"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头输出帧大小")}},BT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("图捕捉"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("开启图像捕捉功能")}},WT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendValueInput("frame").appendField("跳帧数").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("摄像头跳过指定帧数")}},KT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("获取图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("控制摄像头捕捉图像")}},QT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("设为"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("启动/关闭摄像头")}},jT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("水平镜像"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头水平镜像")}},qT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("垂直镜像"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头垂直镜像")}},JT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("彩条模式"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("将摄像头设置为彩条模式")}},zT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["分辨率宽度","width"],["分辨率高度","height"],["当前增益值","get_gain_db"],["帧缓冲图像","get_fb"],["类型型号ID","get_id"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取当前摄像头信息")}},ZT={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("设置").appendField(new Rt.FieldDropdown([["对比度","set_contrast"],["亮度值","set_brightness"],["增益值","set_auto_gain"],["饱和度","set_saturation"]]),"key"),this.appendValueInput("num").appendField("值为").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头对比度、亮度、增益、饱和度")}},$T={init:function(){this.setColour(kT),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("设置窗口"),this.appendValueInput("numa").appendField("宽为").setCheck(Number),this.appendValueInput("numb").appendField("高为").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头窗口大小")}},th=140,eh={init:function(){this.setColour(th),this.appendValueInput("PIN").appendField(Rt.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField("获取编码"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_I2C_SCAN)}},ih={init:function(){this.setColour(th),this.appendValueInput("SUB").appendField("I2C "+Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendDummyInput().appendField("通道").appendField(new Rt.FieldDropdown([["0","I2C0"],["1","I2C1"],["2","I2C2"]]),"mode"),this.appendValueInput("freq").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_I2C_INIT)}},nh={init:function(){this.setColour(th),this.appendValueInput("SUB").setCheck("var").appendField("I2S 初始化"),this.appendDummyInput().appendField("设备").appendField(new Rt.FieldDropdown([["麦克风","mic"],["扬声器","spk"]]),"mode"),this.appendValueInput("BCK",Number).appendField("BCK#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("WS",Number).appendField("WS#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("DAT",Number).appendField("DAT#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("sample").appendField("采样率").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_I2C_INIT)}},sh={init:function(){this.setColour(th),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Rt.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},oh={init:function(){this.setColour(th),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},ph={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_ESP32_I2C_SCAN1),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_I2C_SCAN)}},uh={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(Rt.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("polarity").setCheck(Number).appendField("polarity"),this.appendValueInput("phase").setCheck(Number).appendField("phase"),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},ah={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_SETTING+" SPI"),this.appendValueInput("data").setCheck(Number).appendField(Rt.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SPI_SET)}},lh={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_ESP32_SET+"SPI"),this.appendValueInput("data").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},_h={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Rt.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Rt.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SPI_READ)}},rh={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Rt.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Rt.Msg.LANG_MATH_BYTE+","+Rt.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},dh={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Rt.Msg.MIXLY_SERIAL_READ+Rt.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SPI_READINTO)}},Ih={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Rt.Msg.MIXLY_SERIAL_READ+Rt.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(","+Rt.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},Th={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SPI_WRITE)}},hh={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(","+Rt.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},mh={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},ch={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_ESP32_READ+"I2C"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},Oh={init:function(){this.setColour(th),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rh={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendValueInput("BUS").setCheck(Number).appendField(Rt.Msg.MIXLY_SETUP+" "+Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_OW_INIT)}},Mh={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_ESP32_OW_SCAN)}},Eh={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_OW_READ)}},Ch={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_WRITE).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_MATH_STRING,"write"],[Rt.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_OW_WRITE)}},Ah={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_ESP32_ONEWIRE_SELECT),this.appendValueInput("byte").setCheck(String).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_OW_SELECT)}},gh={init:function(){this.setColour(th),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_ESP32_ONEWIRE_RESET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_ESP32_OW_RESET)}},Sh=ih,Dh=sh,Nh=oh,fh=ph,Lh=uh,Fh=ah,vh=lh,Ph=_h,Vh=rh,yh=dh,Yh=Ih,bh=Th,kh=hh,xh=mh,Xh=ch,Gh=180,Hh={init:function(){this.setColour(Gh),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["0°","0"],["90°","1"],["180°","2"],["270°","3"]]),"flag"),this.setOutput(!0),this.setTooltip()}},Uh={init:function(){this.setColour(Gh),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["黑色","lcd.BLACK"],["深蓝色","lcd.NAVY"],["蓝色","lcd.BLUE"],["深绿色","lcd.DARKGREEN"],["深青色","lcd.DARKCYAN"],["绿色","lcd.GREEN"],["青色","lcd.CYAN"],["褐红色","lcd.MAROON"],["紫色","lcd.PURPLE"],["橄榄色","lcd.OLIVE"],["深灰色","lcd.DARKGREY"],["绿黄色","lcd.GREENYELLOW"],["浅灰色","lcd.LIGHTGREY"],["红色","lcd.RED"],["洋红色","lcd.MAGENTA"],["粉红色","lcd.PINK"],["橙色","lcd.ORANGE"],["黄色","lcd.YELLOW"],["白色","lcd.WHITE"]]),"flag"),this.setOutput(!0),this.setTooltip()}},wh={init:function(){this.setColour(Gh),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["开启","1"],["关闭","0"]]),"flag"),this.setOutput(!0),this.setTooltip()}},Bh={init:function(){this.setColour(Gh),this.appendDummyInput().appendField("LCD 初始化"),this.appendValueInput("freq").setAlign(Rt.inputs.Align.RIGHT).appendField("通信频率").setCheck(Number),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("背景颜色").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化LCD屏幕显示")}},Wh={init:function(){this.setColour(Gh),this.appendDummyInput().appendField("LCD 获取 "),this.appendDummyInput().appendField(new Rt.FieldDropdown([["宽度","width"],["高度","height"]]),"key"),this.appendDummyInput().appendField("分辨率"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取LCD的宽度/高度(水平分辨率)")}},Kh={init:function(){this.setColour(Gh),this.appendDummyInput().appendField("LCD"),this.appendValueInput("key").appendField("系统颜色"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取LCD的宽度/高度(水平分辨率)")}},Qh={init:function(){this.setColour(Gh),this.appendDummyInput().appendField("LCD 显示图像"),this.appendValueInput("img").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("在液晶屏上显示一张imageGRAYSCALE或RGB565")}},jh={init:function(){this.setColour(Gh),this.appendDummyInput().appendField("LCD 清屏颜色"),this.appendValueInput("color").appendField("").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将液晶屏清空为指定的颜色")}},qh={init:function(){this.setColour(Gh),this.appendDummyInput().appendField("LCD 屏幕旋转"),this.appendValueInput("key").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("设置LCD屏幕方向")}},Jh={init:function(){this.setColour(Gh),this.appendDummyInput().appendField("LCD 镜像显示"),this.appendValueInput("key").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置LCD是否镜面显示")}},zh={init:function(){this.setColour(Gh),this.appendDummyInput().appendField("LCD 绘制文本"),this.appendValueInput("x").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标X").setCheck(Number),this.appendValueInput("y").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标Y").setCheck(Number),this.appendValueInput("text").setAlign(Rt.inputs.Align.RIGHT).appendField("文本内容").setCheck(String),this.appendValueInput("color_T").setAlign(Rt.inputs.Align.RIGHT).appendField("文本颜色").setCheck(Number),this.appendValueInput("color_S").setAlign(Rt.inputs.Align.RIGHT).appendField("背景颜色").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("在液晶屏上显示文本字符(不支持中文)")}},Zh={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 初始化"),this.appendValueInput("I2C").appendField("通信").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化触摸屏")}},$h={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 校准"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("校准屏幕,使屏幕显示和触摸屏像素能够对应")}},tm={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 获取 "),this.appendDummyInput().appendField(new Rt.FieldDropdown([["状态","[0]"],["坐标x","[1]"],["坐标y","[2]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("读取当前屏幕的状态以及按下的点的坐标值")}},em={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 状态"),this.appendDummyInput().appendField(new Rt.FieldDropdown([["空闲","ts.STATUS_IDLE"],["不按","ts.STATUS_RELEASE"],["按下","ts.STATUS_PRESS"],["移动","ts.STATUS_MOVE"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("读取当前屏幕的状态以及按下的点的坐标值")}},im="#777777",nm={init:function(){this.setColour(im),this.appendDummyInput("").appendField("from ").appendField(new Rt.FieldTextInput("mixno"),"path").appendField(" import ").appendField(new Rt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sm={init:function(){this.setColour(im),this.appendDummyInput("").appendField("import ").appendField(new Rt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},om={init:function(){this.setColour(im),this.appendDummyInput("").appendField(new Rt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e<this.arguments_.length;e++){var i=document.createElement("arg");i.setAttribute("name",this.arguments_[e]),t.appendChild(i)}return t},domToMutation:function(t){this.arguments_=[];for(var e=0;t.childNodes[e];e++){let i=t.childNodes[e];"arg"==i.nodeName.toLowerCase()&&this.arguments_.push(i.getAttribute("name"))}this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("factory_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("factory_create_with_item");s.initSvg(),s.setFieldValue(this.arguments_[n],"NAME"),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){this.arguments_=[];for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)this.arguments_.push(e.getFieldValue("NAME")),i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++;for(t=0;t<this.itemCount_;t++)this.appendValueInput("ADD"+t).setAlign(Rt.inputs.Align.RIGHT).appendField(this.arguments_[t])}},pm={init:function(){this.setColour(im),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PARAMS),this.appendStatementInput("STACK"),this.contextMenu=!1}},um={init:function(){this.setColour(im),this.appendDummyInput().appendField(Rt.Msg.LISTS_CREATE_WITH_ITEM_TITLE+":").appendField(new Rt.FieldTextInput("x"),"NAME"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1}},am={init:function(){this.setColour(im),this.appendDummyInput("").appendField(new Rt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setOutput(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:om.mutationToDom,domToMutation:om.domToMutation,decompose:om.decompose,compose:om.compose,saveConnections:om.saveConnections,updateShape_:om.updateShape_},lm={init:function(){this.setColour(im),this.appendDummyInput("").appendField(new Rt.FieldTextInput("test"),"NAME").appendField("=").appendField(new Rt.FieldTextInput("Test"),"TYPE").appendField("()"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_m={init:function(){this.setColour(im),this.appendDummyInput("").appendField(new Rt.FieldTextInput("test"),"NAME").appendField(".").appendField(new Rt.FieldTextInput("callMethod"),"METHOD"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:om.mutationToDom,domToMutation:om.domToMutation,decompose:om.decompose,compose:om.compose,saveConnections:om.saveConnections,updateShape_:om.updateShape_},rm={init:function(){this.setColour(im),this.appendDummyInput("").appendField(new Rt.FieldTextInput("test"),"NAME").appendField(".").appendField(new Rt.FieldTextInput("callMethod"),"METHOD"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setOutput(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:om.mutationToDom,domToMutation:om.domToMutation,decompose:om.decompose,compose:om.compose,saveConnections:om.saveConnections,updateShape_:om.updateShape_},dm={init:function(){this.setColour(im),this.appendDummyInput("").appendField(new Rt.FieldTextInput('display.scroll("Hello World!")'),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Im={init:function(){this.setColour(im),this.appendDummyInput("").appendField(new Rt.FieldTextInput("test"),"VALUE"),this.setOutput(!0)}},Tm={init:function(){this.setColour(im),this.appendDummyInput("").appendField(new Rt.FieldMultilineInput('display.scroll("Hello World!")\ndisplay.scroll("Hello Mixly!")'),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hm={init:function(){this.setColour(im),this.appendDummyInput("").appendField(new Rt.FieldMultilineInput("Hello\nMixly"),"VALUE"),this.setOutput(!0)}},mm={init:function(){this.setColour(im),this.appendDummyInput().appendField("注解 #"),this.appendDummyInput("").appendField(new Rt.FieldTextInput("Welcome to MixGo"),"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cm="#47B670",Om={init:function(){this.setColour(cm),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("初始化"),this.appendDummyInput("").appendField("硅麦").appendField(new Rt.FieldDropdown([["左声道","0"],["右声道","1"]]),"KEY"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化语音识别,及需要麦克风输入通信设备")}},Rm={init:function(){this.setColour(cm),this.appendValueInput("SUB").appendField("添加词条").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldLabel("拼音:阈值"),"TIP").setAlign(Rt.inputs.Align.RIGHT),this.itemCount_=1,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip("初始化语音识别,添加语音识别词条,需拼音中间-隔开,阈值")},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("iot_publish_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("iot_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){this.getInput("EMPTY")&&this.removeInput("EMPTY");for(var t=[],e=0;this.getInput("ADD"+e);e++)t.push(this.getFieldValue("KEY"+e)),this.removeInput("ADD"+e);if(0==this.itemCount_)this.getField("TIP").setValue("拼音:阈值");else{this.getField("TIP").setValue("拼音:阈值");for(e=0;e<this.itemCount_;e++)this.appendValueInput("ADD"+e).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("“").appendField(new Rt.FieldTextInput(t.length>e?t[e]:"ni-hao"),"KEY"+e).appendField("”:")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Mm={init:function(){this.setColour(cm),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("启动识别 返回结果"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("语音识别,获取识别结果")}},Em={init:function(){this.setColour(cm),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("注销识别 内存释放"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("语音识别,注销语音识别,释放内存")}},Cm="#90A244",Am={init:function(){this.setColour(Cm),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["否","0"],["是","1"]]),"flag"),this.setOutput(!0),this.setTooltip()}},gm={init:function(){this.setColour(Cm),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("path").appendField("打开路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("打开一个新的图像对象")}},Sm={init:function(){this.setColour(Cm),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField("打开空图"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开一个空的图像对象")}},Dm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像信息"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["宽度","width"],["高度","height"],["格式","format"],["大小","size"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取图像的宽度、高度、格式、大小")}},Nm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像保存"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("path").setAlign(Rt.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("图像的副本保存到文件系统")}},fm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像截取"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("复制一个图像图像的副本")}},Lm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("RGB"),this.appendDummyInput().appendField("["),this.appendValueInput("R").setCheck(Number),this.appendValueInput("G").appendField(",").setCheck(Number),this.appendValueInput("B").appendField(",").setCheck(Number),this.appendDummyInput().appendField("]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("对图像进行适当压缩")}},Fm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像压缩"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("quality").setAlign(Rt.inputs.Align.RIGHT).appendField("压缩率").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("对图像进行适当压缩")}},vm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像清除"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将图像中的所有像素设置为零")}},Pm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像转换"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("转换为").appendField(new Rt.FieldDropdown([["灰度图","to_grayscale"],["彩色图","to_rgb565"],["彩虹图","to_rainbow"],["AI格式","pix_to_ai"],["字节块","to_bytes"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("将图像转换为灰度图、彩色图、彩虹图像")}},Vm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("修改点颜色"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("设置图像某点像素值")}},ym={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("获取点颜色"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("获取图像某点像素值")}},Ym={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("字库加载"),this.appendValueInput("path").setAlign(Rt.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从SD中加载需要显示文字的字库")}},bm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("字库释放"),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("释放字库所占的内存")}},km={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("绘制文本(中)"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Rt.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Rt.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Rt.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个文本")}},xm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("绘制文本"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Rt.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Rt.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Rt.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个中文文本")}},Xm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("绘制文本(英)"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Rt.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Rt.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个字符文本")}},Gm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("绘制直线"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一条从(x0y0)到(x1y1)的线")}},Hm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("绘制箭头"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个箭头")}},Um={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("绘制十字"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("延伸").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个十字")}},wm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("绘制圆形"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xyr"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Rt.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个圆形")}},Bm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("绘制矩形"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xywh"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Rt.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个矩形")}},Wm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("绘制特征点"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("keypoints").setAlign(Rt.inputs.Align.RIGHT).appendField("对象"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Rt.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setTooltip("绘制一个特征点对象的各个点")}},Km={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("绘制图像"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("x_scale").setAlign(Rt.inputs.Align.RIGHT).appendField("x缩放").setCheck(Number),this.appendValueInput("y_scale").setAlign(Rt.inputs.Align.RIGHT).appendField("y缩放").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("绘制一个image图像")}},Qm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("直线识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("theta_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendValueInput("rho_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并斜率").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别直线返回image.line对象列表")}},jm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("线段识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("distance").setAlign(Rt.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.appendValueInput("difference").setAlign(Rt.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别线段返回image.line对象列表")}},qm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("圆形识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("r_min").setAlign(Rt.inputs.Align.RIGHT).appendField("最小r").setCheck(Number),this.appendValueInput("r_max").setAlign(Rt.inputs.Align.RIGHT).appendField("最大r").setCheck(Number),this.appendValueInput("r_step").setAlign(Rt.inputs.Align.RIGHT).appendField("步长r").setCheck(Number),this.appendValueInput("x_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并x值").setCheck(Number),this.appendValueInput("y_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并y值").setCheck(Number),this.appendValueInput("r_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并r值").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[circle]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别圆形返回image.cirle对象列表")}},Jm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("矩形识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[rect]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用四元检测识别矩形返回image.rect对象列表")}},zm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("线性回归"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("robust").setAlign(Rt.inputs.Align.RIGHT).appendField("泰尔指数").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("计算线性回归返回image.line对象列表")}},Zm={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("直线解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","line"],["x1分量","x1"],["y1分量","y1"],["x2分量","x2"],["y2分量","y2"],["长度","length"],["角度","theta"],["斜率","rho"],["模","magnitude"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.line列表获取直线信息")}},$m={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("圆形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xyr","circle"],["x分量","x"],["y分量","y"],["r分量","r"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.circle列表获取圆形信息")}},tc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("矩形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.rect列表获取矩形信息")}},ec={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("直方图均衡"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("limit").setAlign(Rt.inputs.Align.RIGHT).appendField("对比度").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单直方图均衡化")}},ic={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("模糊滤波"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("offset").setAlign(Rt.inputs.Align.RIGHT).appendField("补偿").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单模糊滤波")}},nc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("卡通化滤波"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("seed").setAlign(Rt.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Rt.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单卡通滤波器")}},sc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像腐蚀"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像腐蚀,从分割区域的边缘删除像素(白色目标区域)")}},oc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像膨胀"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像膨胀,将像素添加到分割区域的边缘中(白色目标区域)")}},pc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像填充"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("开始坐标"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("seed").setAlign(Rt.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Rt.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.appendValueInput("invert").setAlign(Rt.inputs.Align.RIGHT).appendField("反转"),this.appendValueInput("clear").setAlign(Rt.inputs.Align.RIGHT).appendField("清除"),this.setOutput(!0),this.setTooltip("像洪水一样填充图像中低矮凹陷的地方(洪水填充)")}},uc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像投影"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("垂直投影"),this.setOutput(!0),this.setTooltip("图像从笛卡尔坐标到线性极坐标重新投影")}},ac={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像反转"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("翻转图像中的所有像素值")}},lc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("校正缩放"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendValueInput("strength").appendField("校正值").setCheck(Number),this.appendValueInput("zoom").appendField("缩放值").setCheck(Number),this.setOutput(!0),this.setTooltip("翻转图像中的所有像素值")}},_c={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像二值化"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("zero").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值像素为零"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("根据像素是否在阈值列表 thresholds 中的阈值内,将图像中的所有像素设置为黑色或白色。")}},rc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("图像边缘检测"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("kernel").setAlign(Rt.inputs.Align.RIGHT).appendField("内核"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("通过过滤器内核对图像进行卷积。")}},dc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("条形码识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[barcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setOutput(!0),this.setTooltip("使用条形码识别返回image.barcode对象列表")}},Ic={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("二维码识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[qrcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用二维码识别返回image.line对象列表")}},Tc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("AprilTag识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[apriltag]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用image.TAG36H11识别返回image.apriltag对象列表")}},hc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("二维码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["版本","version"],["掩码","mask"],["类型","data_type"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.qrcode列表获取二维码信息")}},mc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("条形码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["类型","type"],["角度","rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表获取条形码信息")}},cc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("AprilTag解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["号码","id"],["家族","family"],["弧度","rotation"],["x向距离","x_translation"],["y向距离","y_translation"],["z向距离","z_translation"],["x向弧度","x_rotation"],["y向弧度","y_rotation"],["z向弧度","z_rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.apriltag列表获取Apriltag信息")}},Oc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("色块追踪"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值LAB"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("area").setAlign(Rt.inputs.Align.RIGHT).appendField("滤掉区域").setCheck(Number),this.appendValueInput("pixel").setAlign(Rt.inputs.Align.RIGHT).appendField("滤掉素数").setCheck(Number),this.appendValueInput("margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并").setCheck(Number),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("重叠"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[blob]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用色块追踪返回image.blob对象列表")}},Rc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("颜色识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[histogram]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用直方图识别颜色返回image.histogram对象列表")}},Mc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("追踪解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["像素量","pixels"],["弧度","rotation"],["号码数","code"],["合并量","count"],["面积","area"],["密度比","density"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.blob列表获取追踪色块信息")}},Ec={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("色阈浮点"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["灰度图浮点列表","bins"],["LAB的L浮点列表","l_bins"],["LAB的A浮点列表","a_bins"],["LAB的B浮点列表","b_bins"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表获取条形码信息")}},Cc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("颜色解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendValueInput("percentile").appendField("CDF").setCheck(Number),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过histogram列表获取识别颜色信息")}},Ac={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("色阈解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表获取条形码信息")}},gc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("RGB888值"),this.appendValueInput("LIST").appendField("由LAB"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("LAB转RGB888")}},Sc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("LAB值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转LAB")}},Dc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("灰度值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转灰度图")}},Nc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("RGB888"),this.appendValueInput("g_value").appendField("由灰度值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("灰度图转RGB888")}},fc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("定向梯度图"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("线长").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("用HOG定向梯度直方图线替换ROI中的像素仅支持灰度图像")}},Lc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("特征识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("max_keypoints").setAlign(Rt.inputs.Align.RIGHT).appendField("关键点数").setCheck(Number),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("角点数").setCheck(Number),this.appendValueInput("scale_factor").setAlign(Rt.inputs.Align.RIGHT).appendField("比例因子").setCheck(Number),this.appendValueInput("normalized").setAlign(Rt.inputs.Align.RIGHT).appendField("多比例"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[keypoints]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别返回image.keypoints对象列表")}},Fc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("特征比较"),this.appendValueInput("VAR1").setAlign(Rt.inputs.Align.RIGHT).appendField("对象1").setCheck("var"),this.appendValueInput("VAR2").setAlign(Rt.inputs.Align.RIGHT).appendField("对象2").setCheck("var"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("相似度").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[kptmatch]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别返回image.keypoints对象列表")}},vc={init:function(){this.setColour(Cm),this.appendDummyInput().appendField("特征信息"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["匹配量","count"],["弧度","theta"],["匹配点-xy","match"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.kptmatch列表获取追踪特征信息")}},Pc=20,Vc={init:function(){this.setColour(Pc),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HIGH,"HIGH"],[Rt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},yc={init:function(){this.setColour(Pc),this.appendDummyInput().appendField("初始化 "),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_Digital_PINMODEOUT,"GPIO.OUT"],[Rt.Msg.MIXLY_Digital_PINMODEIN,"GPIO.IN"],[Rt.Msg.MIXLY_PINMODEPULLUP,"GPIO.IN, board.GPIO.PULL_UP"],[Rt.Msg.MIXLY_PINMODEPULLDOWN,"GPIO.IN, board.GPIO.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)}},Yc={init:function(){this.setColour(Pc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},bc={init:function(){this.setColour(Pc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField("值"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},kc={init:function(){this.setColour(Pc),this.appendDummyInput().appendField("初始化 PWM输出"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("freq").appendField("频率").setCheck(Number),this.appendValueInput("VAR").appendField("定时器").setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化PWM输出设置需要调用定时器")}},xc={init:function(){this.setColour(Pc),this.appendValueInput("PIN",Number).appendField("PWM输出").setCheck(Number),this.appendValueInput("pwm").appendField("占空比").setCheck(Number),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("PWM输出,值范围为0-100%,可以为小数")}},Xc={init:function(){this.setColour(Pc),this.appendDummyInput().appendField("硬件中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"GPIO.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"GPIO.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"GPIO.IRQ_BOTH"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},Gc={init:function(){this.setColour(Pc),this.appendDummyInput().appendField("取消中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("取消中断")}},Hc="#637AAC",Uc={init:function(){this.setColour(Hc),this.appendDummyInput().appendField("OneNET 连接WiFi"),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},wc={init:function(){this.setColour(Hc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Rt.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},Bc={init:function(){this.setColour(Hc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},Wc={init:function(){this.setColour(Hc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},Kc={init:function(){this.setColour(Hc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Rt.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},Qc={init:function(){this.setColour(Hc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Rt.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Rt.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("iot_publish_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("iot_create_with_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){this.getInput("EMPTY")&&this.removeInput("EMPTY");for(var t=[],e=0;this.getInput("ADD"+e);e++)t.push(this.getFieldValue("KEY"+e)),this.removeInput("ADD"+e);if(0==this.itemCount_)this.getField("TIP").setValue(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET_EMPTY);else{this.getField("TIP").setValue(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET);for(e=0;e<this.itemCount_;e++)this.appendValueInput("ADD"+e).setCheck(null).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldTextInput(t.length>e?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},jc={init:function(){this.setColour(Hc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},qc={init:function(){this.setColour(Hc),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Jc={init:function(){this.setColour(Hc),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},zc=Uc,Zc=wc,$c=Bc,tO=Wc,eO=Qc,iO=230;Rt.FieldTextInput.math_number_validator=function(t){return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null},Rt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const nO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},sO={init:function(){this.setColour(iO);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},oO={init:function(){this.setColour(iO),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},pO={init:function(){this.setColour(iO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},uO={init:function(){this.setColour(iO),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},aO={init:function(){this.setColour(iO),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},lO={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(iO),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},_O={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(iO),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},rO={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(iO),this.appendValueInput("LIST").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},dO={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(iO),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},IO={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(iO),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},TO={init:function(){this.setColour(iO),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},hO={init:function(){this.setColour(iO),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},mO={init:function(){this.setColour(iO),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},cO={init:function(){this.setColour(iO),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},OO=hO,RO="#2E9883",MO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("PS2手柄"),this.appendValueInput("miso_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("DAT#").setCheck(Number),this.appendValueInput("mosi_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("CMD#").setCheck(Number),this.appendValueInput("cs_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("SEL#").setCheck(Number),this.appendValueInput("clk_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("CLK#").setCheck(Number),this.appendValueInput("vol").setAlign(Rt.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用PS2手柄控制")}},EO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("UART键盘"),this.appendValueInput("vol").setAlign(Rt.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用串口键盘控制")}},CO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("NES 运行游戏"),this.appendValueInput("path").appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("运行NES游戏ROM")}},AO="#5B6DA5",gO={init:function(){this.setColour(AO),this.appendDummyInput().appendField("ESP-AT 初始化"),this.appendValueInput("RX",Number).appendField("RX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("使用串口连接ESP-AT设备并初始化配置")}},SO={init:function(){this.setColour(AO),this.appendDummyInput().appendField("WiFi扫描"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("扫描附近可用的WiFi信息-返回多信息列表")}},DO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField("WiFi连接"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("配置WiFi名称及密码连接WiFi上网")}},NO={init:function(){this.setColour(AO),this.appendDummyInput().appendField("WiFi").appendField(new Rt.FieldDropdown([["连接信息","1"],["连接状态","2"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("查看wifi连接信息或者连接状态")}},fO={init:function(){this.setColour(AO),this.appendDummyInput().appendField("WiFi断开连接"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("断开wifi连接")}},LO={init:function(){this.setColour(AO),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField("打开热点"),this.appendValueInput("account").setAlign(Rt.inputs.Align.RIGHT).appendField("名称").setCheck(String),this.appendValueInput("password").setAlign(Rt.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.appendValueInput("chl").setAlign(Rt.inputs.Align.RIGHT).appendField("通道").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("加密").appendField(new Rt.FieldDropdown([["WPA2_PSK","WPA2_PSK"],["OPEN","OPEN"],["WPA_PSK","WPA_PSK"],["WPA_WPA2_PSK","WPA_WPA2_PSK"]]),"mode"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开WiFi热点并配置")}},FO={init:function(){this.setColour(AO),this.appendDummyInput().appendField("关闭热点"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("关闭热点")}},vO={init:function(){this.setColour(AO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("套接字 初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("套接字初始化")}},PO={init:function(){this.setColour(AO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("获取地址"),this.appendValueInput("addr").setAlign(Rt.inputs.Align.RIGHT).appendField("域名").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接字根据域名解析地址IP信息")}},VO={init:function(){this.setColour(AO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("创建连接"),this.appendValueInput("address").appendField("地址"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接字创建目标IP地址连接")}},yO={init:function(){this.setColour(AO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("超时时间"),this.appendValueInput("time").setAlign(Rt.inputs.Align.RIGHT).appendField("").setCheck(Number),this.appendDummyInput().appendField("s"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("设置阻塞套接字超时时间")}},YO={init:function(){this.setColour(AO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendValueInput("content").appendField("发送数据"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接发送数据")}},bO={init:function(){this.setColour(AO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("接收数据"),this.appendValueInput("size").appendField("字节").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接接收数据,返回接收到的数据对象")}},kO={init:function(){this.setColour(AO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},xO=230,XO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},GO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},HO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},UO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},wO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},BO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},WO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},KO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},QO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},jO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},qO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},JO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},zO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},ZO={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},$O={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},tR={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},eR={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},iR={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},nR={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},sR={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},oR={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},pR={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},uR={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},aR={init:function(){this.setColour(xO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},lR=40,_R={init:function(){this.setColour(lR),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["A","17"],["B","16"]]),"KEY"),this.setOutput(!0),this.setTooltip()}},rR={init:function(){this.setColour(lR),this.appendDummyInput().appendField("初始化"),this.appendValueInput("key").appendField("按键"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化按键")}},dR={init:function(){this.setColour(lR),this.appendValueInput("key").appendField("按键"),this.appendDummyInput().appendField("被按下?"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip("获取按键值")}},IR={init:function(){this.setColour(lR),this.appendDummyInput().appendField("DHT11"),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField("获取").appendField(new Rt.FieldDropdown([["温度-℃","0"],["湿度-%","1"],["温湿度","2"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("dht11,获取温湿度")}},TR={init:function(){this.setColour(lR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},hR={init:function(){this.setColour(lR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},mR={init:function(){this.setColour(lR),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("MPU9250","key");var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Rt.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{MPU9250:"MPU9250",SHT20:"SHT20",BMP280:"BMP280",ADXL345:"ADXL345"}[e]}))}},cR={init:function(){this.setColour(lR),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Rt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},OR={init:function(){this.setColour(lR),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Rt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},RR={init:function(){this.setColour(lR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET+Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},MR={init:function(){this.setColour(lR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},ER={init:function(){this.setColour(lR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_GETTEMPERATUE)}},CR={init:function(){this.setColour(lR),this.appendValueInput("SUB").appendField("ADXL345").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},AR=65,gR={init:function(){this.setColour(AR),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)}},SR={init:function(){this.setColour(AR),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.TEXT_PRINT_Huanhang_TOOLTIP+Rt.Msg.TEXT_PRINT_TOOLTIP)}},DR={init:function(){this.setColour(AR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_PRINTLN),this.appendValueInput("CONTENT",Number).appendField(new Rt.FieldDropdown([[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_DEC,"int"],[Rt.Msg.MATH_HEX,"hex"]]),"STAT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setFieldValue("hex","STAT"),this.setTooltip(Rt.Msg.TEXT_PRINT_HEX_TOOLTIP)}},NR={init:function(){this.setColour(AR),this.appendValueInput("char_marker").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SERIAL_WHEN_CONTAIN_DATA),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO)}},fR={init:function(){this.setColour(AR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_READSTR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_STR)}},LR={init:function(){this.setColour(AR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_SERIAL_AVAILABLE1)}},FR={init:function(){this.setColour(AR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_ESP32_READ_LINE),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_SERIAL_READ_LINE1)}},vR={init:function(){this.setColour(AR),this.appendDummyInput().appendField("Serial "+Rt.Msg.MIXLY_SERIAL_READSTR_UNTIL).appendField(new Rt.FieldDropdown([["new line","serial.delimiters(Delimiters.NewLine)"],[",","serial.delimiters(Delimiters.Comma)"],["$","serial.delimiters(Delimiters.Dollar)"],[":","serial.delimiters(Delimiters.Colon)"],[".","serial.delimiters(Delimiters.Fullstop)"],["#","serial.delimiters(Delimiters.Hash)"]]),"char_marker"),this.setInputsInline(!0),this.setOutput(!0,String)}},PR={init:function(){this.setColour(AR),this.appendValueInput("RX",Number).appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField("RX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SERIAL_BEGIN).appendField(new Rt.FieldDropdown([["115200","115200"],["57600","57600"],["37400","38400"],["31250","31250"],["28800","28800"],["19200","19200"],["14400","14400"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["300","300"]]),"baudrate"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SERIAL_softserial)}},VR={init:function(){this.setColour(AR),this.appendValueInput("VAR").appendField(Rt.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(Rt.Msg.INOUT_input_TOOLTIP)}},yR={init:function(){this.setColour(AR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.BLOCKPY_PRINT_TOOLTIP)}},YR={init:function(){this.setColour(AR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)}},bR={init:function(){this.setColour(AR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(Rt.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},kR={init:function(){this.setColour(AR),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["system_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("system_print_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var s=t.newBlock("system_print_item");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}return e},compose:function(t){for(var e=t.getInputTargetBlock("STACK"),i=[],n=0;e;)i[n]=e.valueConnection_,e=e.nextConnection&&e.nextConnection.targetBlock(),n++;this.itemCount_=n,this.updateShape_();for(n=0;n<this.itemCount_;n++)i[n]&&this.getInput("ADD"+n).connection.connect(i[n])},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=0;e;){var n=this.getInput("ADD"+i);e.valueConnection_=n&&n.connection.targetConnection,i++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){if(this.getInput("EMPTY"))this.removeInput("EMPTY");else for(var t=0;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++;if(0==this.itemCount_)this.appendDummyInput("EMPTY").appendField(Rt.Msg.MIXLY_MIXPY_INOUT_PRINT_EMPTY);else for(t=0;t<this.itemCount_;t++){var e=this.appendValueInput("ADD"+t);0==t&&e.appendField(Rt.Msg.MIXLY_SERIAL_PRINTLN)}}},xR={init:function(){this.setColour(AR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SERIAL_PRINTLN),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_CONTAINER_TOOLTIP),this.contextMenu=!1}},XR={init:function(){this.setColour(AR),this.appendDummyInput().appendField(Rt.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_ITEM_TOOLTIP),this.contextMenu=!1}},GR={init:function(){this.setColour(AR),this.appendValueInput("CONTENT").appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO+"MixGo CE").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"1"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"0"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},HR={init:function(){this.setColour(AR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_ESP32_READ+"MixGo CE"+Rt.Msg.MIXLY_SD_DATA),this.setOutput(!0,Boolean)}},UR=120,wR={init:function(){this.setColour(UR),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["tim0","0"],["tim1","1"],["tim2","2"],["tim3","3"],["tim4","4"],["tim5","5"],["tim6","6"],["tim7","7"],["tim8","8"],["tim9","9"],["tim10","10"],["tim11","11"]]),"TIM"),this.setOutput(!0),this.setTooltip()}},BR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DELAY),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SECOND,"s"],[Rt.Msg.MIXLY_mSecond,"ms"],[Rt.Msg.MIXLY_uSecond,"us"]]),"Time"),this.appendValueInput("DELAY_TIME",Number).setCheck(Number),this.setFieldValue("ms","Time"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},WR={init:function(){this.setColour(UR),this.appendValueInput("STATUS_CODE",Number).appendField(Rt.Msg.MIXLY_MICROBIT_Panic_with_status_code).setCheck(Number),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Panic_with_status_code)}},KR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_RUNTIME),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_mSecond,"ms"],[Rt.Msg.MIXLY_uSecond,"us"]]),"Time"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_CONTROLS_MILLIS_TOOLTIP)}},QR={init:function(){this.setColour(UR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput("12345"),"TEXT")}},jR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_CONTORL_UNAME),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_PY_CONTORL_UNAME)}},qR={init:function(){this.setColour(UR),this.appendDummyInput("").appendField("Timer"),this.appendValueInput("SUB").setAlign(Rt.inputs.Align.RIGHT).appendField("初始化"),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_PYTHON_ONE_SHOT,"ONE_SHOT"],[Rt.Msg.MIXLY_PYTHON_PERIODIC,"PERIODIC"]]),"mode"),this.appendValueInput("period").setAlign(Rt.inputs.Align.RIGHT).appendField("周期ms").setCheck(Number),this.appendValueInput("callback").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DO),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_SYSTEM_TIMER_TOOLTIP)}},JR={init:function(){this.setColour(UR),this.appendDummyInput("").appendField("机器复位"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("硬件复位")}},zR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(new Rt.FieldDropdown([["自动","gc.enable()"],["运行","gc.collect()"]]),"gc"),this.appendDummyInput("").appendField("垃圾回收"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("启用自动垃圾回收")}},ZR={init:function(){this.setColour(UR),this.appendValueInput("END").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_ESP32_TIME_TICKS_DIFF),this.appendValueInput("START").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_ESP32_TIME_MINUS),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SYSTEM_TICKS_DIFF_TOOLTIP)}},$R={init:function(){this.setColour(UR),this.appendDummyInput("").appendField("Timer"),this.appendValueInput("SUB").appendField("初始化"),this.appendDummyInput().appendField("模式").appendField(new Rt.FieldTextInput("PWM触发"),"PIN_OBJ"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_SYSTEM_TIMER_INIT_TOOLTIP)}},tM=$R,eM=qR,iM=ZR,nM=BR,sM={colourOptions:["#ffffff","#cccccc","#c0c0c0","#999999","#666666","#333333","#000000","#ffcccc","#ff6666","#ff0000","#cc0000","#990000","#660000","#330000","#ffcc99","#ff9966","#ff9900","#ff6600","#cc6600","#993300","#663300","#ffff99","#ffff66","#ffcc66","#ffcc33","#cc9933","#996633","#663333","#ffffcc","#ffff33","#ffff00","#ffcc00","#999900","#666600","#333300","#99ff99","#66ff99","#33ff33","#00ff00","#33cc00","#009900","#006600","#99ffff","#33ffff","#66cccc","#00cccc","#339999","#336666","#003333","#ccffff","#66ffff","#33ccff","#3366ff","#0000ff","#000099","#000066","#ccccff","#9999ff","#6666cc","#6633ff","#6600cc","#333399","#330099","#ffccff","#ff99ff","#cc66cc","#cc33cc","#993399","#663366","#330033"],columns:7},oM={init:function(){this.setColour(260),this.appendDummyInput("").appendField("[").appendField(new Rt.FieldTextInput("0,0,0"),"TEXT").appendField("]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LISTS_CREATE_WITH_TEXT2)}},pM={init:function(){this.setColour(195),this.appendDummyInput("").appendField("(").appendField(new Rt.FieldTextInput("0,0,0"),"TEXT").appendField(")"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXPY_TOOLTIP_TUPLE_CREATE_WITH_TEXT)}},uM={init:function(){this.setColour(230),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldColour("33ccff",null,sM),"COLOR"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("颜色")}},aM=function(t,e){e.definitions_["import board"]="import board",e.definitions_["from machine import PWM"]="from machine import PWM",e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"time",e.ORDER_ATOMIC);return"tim"+n+" = Timer(Timer.TIMER"+n%3+",Timer.CHANNEL"+parseInt(n/3)+", mode=Timer.MODE_PWM)\n"+("pse"+i+"=PWM(tim"+n+", freq=50, duty=2.5, pin="+i+")\n")},lM=function(t,e){return e.definitions_["from machine import PWM"]="from machine import PWM","pse"+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".duty("+e.valueToCode(this,"range",e.ORDER_ATOMIC)+"/18.0+2.5)\n"},_M=function(t,e){e.definitions_["from servo import Servos"]="from servo import Servos";var i=e.valueToCode(this,"address",e.ORDER_ATOMIC);return"servos=Servos("+e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+",address="+i+")\n"},rM=function(t,e){return e.definitions_["from servo import Servos"]="from servo import Servos","servos.position(("+e.valueToCode(this,"index",e.ORDER_ATOMIC)+"-1),"+e.valueToCode(this,"range",e.ORDER_ATOMIC)+")\n"},dM=function(t,e){return e.definitions_["import board"]="import board",e.definitions_["from modules import ws2812"]="from modules import ws2812",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"=ws2812("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+","+e.valueToCode(this,"num",e.ORDER_ATOMIC)+")\n"},IM=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"R",e.ORDER_ATOMIC),s=e.valueToCode(this,"G",e.ORDER_ATOMIC),o=e.valueToCode(this,"B",e.ORDER_ATOMIC);return i+".set_led("+e.valueToCode(this,"num",e.ORDER_ATOMIC)+",("+s+","+n+","+o+"))\n"},TM=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".display()\n"},hM=function(t,e){e.definitions_["import ms32006"]="import ms32006";var i=this.getFieldValue("mode");return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"=ms32006.MS32006("+e.valueToCode(this,"SUB1",e.ORDER_ATOMIC)+",addr="+i+")\n"},mM=function(t,e){e.definitions_["import ms32006"]="import ms32006";var i=this.getFieldValue("direction");return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".dc_motor("+i+","+e.valueToCode(this,"speed",e.ORDER_ATOMIC)+")\n"},cM=function(t,e){e.definitions_["import ms32006"]="import ms32006";var i=this.getFieldValue("mode"),n=this.getFieldValue("direction");return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".move("+i+","+n+","+e.valueToCode(this,"speed",e.ORDER_ATOMIC)+","+e.valueToCode(this,"steps",e.ORDER_ATOMIC)+")\n"},OM=function(t,e){return e.definitions_["import pid"]="import pid",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"=pid.PID("+e.valueToCode(this,"P",e.ORDER_ATOMIC)+","+e.valueToCode(this,"I",e.ORDER_ATOMIC)+","+e.valueToCode(this,"D",e.ORDER_ATOMIC)+")\n"},RM=function(t,e){return e.definitions_["import pid"]="import pid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_pid("+e.valueToCode(this,"error",e.ORDER_ATOMIC)+","+e.valueToCode(this,"scaler",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},MM=function(t,e){return e.variableDB_.getName(this.getFieldValue("VAR"),Rt.Variables.NAME_TYPE)+"= ("+this.getFieldValue("TEXT")+")\n"},EM=function(t,e){return e.variableDB_.getName(this.getFieldValue("VAR"),Rt.Variables.NAME_TYPE)+"= ["+this.getFieldValue("TEXT")+"]\n"},CM=function(t,e){return e.definitions_["import board"]="import board",e.definitions_.import_KPU="import KPU as kpu",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = kpu.load("+e.valueToCode(this,"path",e.ORDER_ATOMIC)+")\n"},AM=function(t,e){return e.definitions_["import board"]="import board",e.definitions_.import_KPU="import KPU as kpu",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = kpu.load("+e.valueToCode(this,"path",e.ORDER_ATOMIC)+")\n"},gM=function(t,e){return e.definitions_.import_KPU="import KPU as kpu","kpu.init_yolo2("+e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"threshold",e.ORDER_ATOMIC)+","+e.valueToCode(this,"nms_value",e.ORDER_ATOMIC)+","+e.valueToCode(this,"anchor_num",e.ORDER_ATOMIC)+","+e.valueToCode(this,"anchor",e.ORDER_ATOMIC)+")\n"},SM=function(t,e){return e.definitions_.import_KPU="import KPU as kpu",["kpu.run_yolo2("+e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},DM=function(t,e){return e.definitions_.import_KPU="import KPU as kpu",["kpu.forward("+e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")[:]",e.ORDER_ATOMIC]},NM=function(t,e){return e.definitions_.import_KPU="import KPU as kpu",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},fM=function(t,e){return e.definitions_["import aionenet"]="import aionenet","aionenet.nic_init("+e.valueToCode(this,"account",e.ORDER_ATOMIC)+","+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},LM=function(t,e){return e.definitions_["import aionenet"]="import aionenet",["aionenet.token("+e.valueToCode(this,"account",e.ORDER_ATOMIC)+","+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},FM=function(t,e){e.definitions_["import aionenet"]="import aionenet";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"token",e.ORDER_ATOMIC);return["aionenet.post_ai("+i+',"'+this.getFieldValue("api")+'",'+n+")",e.ORDER_ATOMIC]},vM=function(t,e){return e.definitions_["import ailocal"]="import ailocal","ailocal.training("+e.valueToCode(this,"calss",e.ORDER_ATOMIC)+","+e.valueToCode(this,"sample",e.ORDER_ATOMIC)+","+e.valueToCode(this,"save",e.ORDER_ATOMIC)+")\n"},PM=function(t,e){return e.definitions_["import ailocal"]="import ailocal","ailocal.loading("+e.valueToCode(this,"path",e.ORDER_ATOMIC)+")\n"},VM=function(t,e){e.definitions_["import ailocal"]="import ailocal";var i=e.valueToCode(this,"calss",e.ORDER_ATOMIC);return["ailocal.predict("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+i+")",e.ORDER_ATOMIC]},yM=function(t,e){return e.definitions_["import ai_face"]="import ai_face","ai_face.init("+e.valueToCode(this,"FD",e.ORDER_ATOMIC)+","+e.valueToCode(this,"LD",e.ORDER_ATOMIC)+","+e.valueToCode(this,"FE",e.ORDER_ATOMIC)+")\n"},YM=function(t,e){return e.definitions_["import ai_face"]="import ai_face",["ai_face.train("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"names",e.ORDER_ATOMIC)+","+e.valueToCode(this,"threshold",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},bM=function(t,e){return e.definitions_["import ai_face"]="import ai_face",["ai_face."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},kM=function(t,e){return e.definitions_["import player"]="import player",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"=player.spk_init("+e.valueToCode(this,"BCK",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WS",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DAT",e.ORDER_ATOMIC)+")\n"},xM=function(t,e){return e.definitions_["import player"]="import player",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"=player.mic_init()\n"},XM=function(t,e){e.definitions_["import player"]="import player";var i=e.valueToCode(this,"path",e.ORDER_ATOMIC);return"player.audio_play("+e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+","+i+","+e.valueToCode(this,"volume",e.ORDER_ATOMIC)+")\n"},GM=function(t,e){e.definitions_["import player"]="import player";var i=e.valueToCode(this,"path",e.ORDER_ATOMIC),n=e.valueToCode(this,"time",e.ORDER_ATOMIC);return"player.audio_record("+e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+","+i+","+n+")\n"},HM=function(t,e){e.definitions_["import player"]="import player";var i=e.valueToCode(this,"path",e.ORDER_ATOMIC);return"player.video_play("+e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+","+i+","+e.valueToCode(this,"volume",e.ORDER_ATOMIC)+")\n"},UM=function(t,e){e.definitions_["import player"]="import player";var i=e.valueToCode(this,"path",e.ORDER_ATOMIC);return"player.video_record("+e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+","+i+","+e.valueToCode(this,"time",e.ORDER_ATOMIC)+")\n"},wM=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},BM=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},WM=function(t,e){e.definitions_.import_sensor="import sensor";return"sensor.reset()\n"+("sensor.set_pixformat("+e.valueToCode(this,"key1",e.ORDER_ATOMIC)+")\n")+("sensor.set_framesize("+e.valueToCode(this,"key2",e.ORDER_ATOMIC)+")\n")+("sensor.run("+e.valueToCode(this,"key3",e.ORDER_ATOMIC)+")\n")+("sensor.skip_frames("+e.valueToCode(this,"key4",e.ORDER_ATOMIC)+")\n")},KM=function(t,e){e.definitions_.import_sensor="import sensor";return"sensor.reset()\n"},QM=function(t,e){return e.definitions_.import_sensor="import sensor","sensor.set_pixformat("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+")\n"},jM=function(t,e){return e.definitions_.import_sensor="import sensor","sensor.set_framesize("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+")\n"},qM=function(t,e){return e.definitions_.import_sensor="import sensor","sensor.run("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+")\n"},JM=function(t,e){return e.definitions_.import_sensor="import sensor","sensor.skip_frames(n="+e.valueToCode(this,"frame",e.ORDER_ATOMIC)+")\n"},zM=function(t,e){e.definitions_.import_sensor="import sensor";return["sensor.snapshot()",e.ORDER_ATOMIC]},ZM=function(t,e){return e.definitions_.import_sensor="import sensor","sensor.shutdown("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+")\n"},$M=function(t,e){return e.definitions_.import_sensor="import sensor","sensor.set_hmirror("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+")\n"},tE=function(t,e){return e.definitions_.import_sensor="import sensor","sensor.set_vflip("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+")\n"},eE=function(t,e){return e.definitions_.import_sensor="import sensor","sensor.set_colorbar("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+")\n"},iE=function(t,e){return e.definitions_.import_sensor="import sensor",["sensor."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},nE=function(t,e){return e.definitions_.import_sensor="import sensor","sensor."+this.getFieldValue("key")+"("+e.valueToCode(this,"num",e.ORDER_ATOMIC)+")\n"},sE=function(t,e){return e.definitions_.import_sensor="import sensor","sensor.set_windowing(("+e.valueToCode(this,"numa",e.ORDER_ATOMIC)+","+e.valueToCode(this,"numb",e.ORDER_ATOMIC)+"))\n"},oE=function(t,e){return e.definitions_["import irremote"]="import irremote",["irremote.read_id("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},pE=function(t,e){e.definitions_["from machine import I2C"]="from machine import I2C";var i=this.getFieldValue("mode"),n=e.valueToCode(this,"freq",e.ORDER_ATOMIC),s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"RX",e.ORDER_ATOMIC);return s+" = I2C(I2C."+i+", freq="+n+", scl="+e.valueToCode(this,"TX",e.ORDER_ATOMIC)+", sda="+o+")\n"},uE=function(t,e){e.definitions_["import player"]="import player";var i=this.getFieldValue("mode");return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"=player."+i+"_init("+e.valueToCode(this,"BCK",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WS",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DAT",e.ORDER_ATOMIC)+","+e.valueToCode(this,"sample",e.ORDER_ATOMIC)+")\n"},aE=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readfrom("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},lE=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".writeto("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")\n"},_E=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},rE=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},dE=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".available()",e.ORDER_ATOMIC]},IE=function(t,e){var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);e.setups_["setup_i2c_"+i]="Wire.begin("+i+");",e.setups_["setup_i2c_onReceive_"+i]="Wire.onReceive(i2cReceiveEvent_"+i+");";var n="i2cReceiveEvent_"+i,s="void "+n+"(int howMany) {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,""},TE=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"freq",e.ORDER_ATOMIC),s=e.valueToCode(this,"polarity",e.ORDER_ATOMIC),o=e.valueToCode(this,"phase",e.ORDER_ATOMIC),p=e.valueToCode(this,"mosi",e.ORDER_ATOMIC),u=e.valueToCode(this,"miso",e.ORDER_ATOMIC);return i+" = machine.SPI(baudrate="+n+", polarity="+s+", phase="+o+", sck=machine.Pin("+e.valueToCode(this,"sck",e.ORDER_ATOMIC)+"), mosi=machine.Pin("+p+"), miso=machine.Pin("+u+"));\n"},hE=function(t,e){return"spi.init(baudrate="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")\n"},mE=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"=bytearray("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")\n"},cE=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".read("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},OE=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".read("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+","+e.valueToCode(this,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RE=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readinto("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ME=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readinto("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+","+e.valueToCode(this,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EE=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+".encode('utf-8'))",e.ORDER_ATOMIC]},CE=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".write_readinto("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+".encode('utf-8'),"+e.valueToCode(this,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},AE=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_onewire="import onewire",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"=onewire.OneWire(machine.Pin("+e.valueToCode(this,"BUS",e.ORDER_ATOMIC)+"))\n"},gE=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},SE=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".reset()\n"},DE=function(t,e){return[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readbyte()",e.ORDER_ATOMIC]},NE=function(t,e){var i=e.valueToCode(this,"byte",e.ORDER_ATOMIC);return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("op")+"("+i+")\n"},fE=function(t,e){var i=e.valueToCode(this,"byte",e.ORDER_ATOMIC);return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".select_rom("+i+".encode('utf-8'))\n"},LE=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},FE=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},vE=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},PE=function(t,e){return e.definitions_["import board"]="import board",e.definitions_.import_lcd="import lcd","lcd.init(freq="+e.valueToCode(this,"freq",e.ORDER_ATOMIC)+",color="+e.valueToCode(this,"color",e.ORDER_ATOMIC)+")\n"},VE=function(t,e){return e.definitions_.import_lcd="import lcd",[""+e.valueToCode(this,"key",e.ORDER_ATOMIC),e.ORDER_ATOMIC]},yE=function(t,e){return e.definitions_.import_lcd="import lcd",["lcd."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},YE=function(t,e){return e.definitions_.import_lcd="import lcd","lcd.display("+e.valueToCode(this,"img",e.ORDER_ATOMIC)+")\n"},bE=function(t,e){return e.definitions_.import_lcd="import lcd","lcd.clear("+e.valueToCode(this,"color",e.ORDER_ATOMIC)+")\n"},kE=function(t,e){return e.definitions_.import_lcd="import lcd","lcd.rotation("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+")\n"},xE=function(t,e){return e.definitions_.import_lcd="import lcd","lcd.mirror("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+")\n"},XE=function(t,e){return e.definitions_.import_lcd="import lcd","lcd.draw_string("+e.valueToCode(this,"x",e.ORDER_ATOMIC)+","+e.valueToCode(this,"y",e.ORDER_ATOMIC)+","+e.valueToCode(this,"text",e.ORDER_ATOMIC)+","+e.valueToCode(this,"color_T",e.ORDER_ATOMIC)+","+e.valueToCode(this,"color_S",e.ORDER_ATOMIC)+")\n"},GE=function(t,e){return e.definitions_.import_touchscreen="import touchscreen as ts","ts.init("+e.valueToCode(this,"I2C",e.ORDER_ATOMIC)+")\n"},HE=function(t,e){e.definitions_.import_touchscreen="import touchscreen as ts";return"ts.calibrate()\n"},UE=function(t,e){return e.definitions_.import_touchscreen="import touchscreen as ts",["ts.read()"+this.getFieldValue("key"),e.ORDER_ATOMIC]},wE=function(t,e){return e.definitions_.import_touchscreen="import touchscreen as ts",[""+this.getFieldValue("key"),e.ORDER_ATOMIC]},BE=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},WE=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},KE=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s<this.itemCount_;s++)n[s]=e.valueToCode(this,"ADD"+s,e.ORDER_NONE)||"";return i+"("+n.join(", ")+")\n"},QE=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s<this.itemCount_;s++)n[s]=e.valueToCode(this,"ADD"+s,e.ORDER_NONE)||"";return[i+"("+n.join(", ")+")",e.ORDER_ATOMIC]},jE=function(){var t=this.getFieldValue("TYPE");return this.getFieldValue("NAME")+" = "+t+"()\n"},qE=function(t,e){for(var i=this.getFieldValue("NAME"),n=this.getFieldValue("METHOD"),s=new Array(this.itemCount_),o=0;o<this.itemCount_;o++)s[o]=e.valueToCode(this,"ADD"+o,e.ORDER_NONE)||"";return i+"."+n+"("+s.join(", ")+")\n"},JE=function(t,e){for(var i=this.getFieldValue("NAME"),n=this.getFieldValue("METHOD"),s=new Array(this.itemCount_),o=0;o<this.itemCount_;o++)s[o]=e.valueToCode(this,"ADD"+o,e.ORDER_NONE)||"";return[i+"."+n+"("+s.join(", ")+")",e.ORDER_ATOMIC]},zE=function(){return this.getFieldValue("VALUE")+"\n"},ZE=function(t,e){return[this.getFieldValue("VALUE"),e.ORDER_ATOMIC]},$E=function(){return this.getFieldValue("VALUE")+"\n"},tC=function(t,e){return[this.getFieldValue("VALUE"),e.ORDER_ATOMIC]},eC=function(){return"#"+this.getFieldValue("VALUE")+"\n"},iC=function(t,e){return e.definitions_["import asrloca"]="import asrloca",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"=asrloca.ASR_init("+this.getFieldValue("KEY")+")\n"},nC=function(t,e){for(var i=new Array(this.itemCount_),n=new Array(this.itemCount_),s=new Array(this.itemCount_),o=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),p=0;p<this.itemCount_;p++){var u=this.getFieldValue("KEY"+p);i[p]=u}for(p=0;p<this.itemCount_;p++)n[p]=e.valueToCode(this,"ADD"+p,e.ORDER_NONE)||"0";var a=o+".config({";for(p=0;p<this.itemCount_;p++)s[p]="'"+i[p]+"': "+n[p];return a=a+s.join(", ")+"})\n"},sC=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".recognize()",e.ORDER_ATOMIC]},oC=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".__del__()"},pC=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},uC=function(t,e){return["["+e.valueToCode(this,"R",e.ORDER_ATOMIC)+","+e.valueToCode(this,"G",e.ORDER_ATOMIC)+","+e.valueToCode(this,"B",e.ORDER_ATOMIC)+"]",e.ORDER_ATOMIC]},aC=function(t,e){return e.definitions_.import_image="import image",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = image.Image("+e.valueToCode(this,"path",e.ORDER_ATOMIC)+")\n"},lC=function(t,e){return e.definitions_.import_image="import image",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = image.Image()\n"},_C=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},rC=function(t,e){return e.definitions_.import_image="import image",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".save("+e.valueToCode(this,"path",e.ORDER_ATOMIC)+")\n"},dC=function(t,e){e.definitions_.import_image="import image";return"image.font_free()\n"},IC=function(t,e){return e.definitions_.import_image="import image","image.font_load(image.UTF8, 16, 16, "+e.valueToCode(this,"path",e.ORDER_ATOMIC)+")\n"},TC=function(t,e){return e.definitions_.import_image="import image",e.definitions_.font_load="image.font_load(image.UTF8, 16, 16, 0xA00000)",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".draw_string("+e.valueToCode(this,"x0",e.ORDER_ATOMIC)+","+e.valueToCode(this,"y0",e.ORDER_ATOMIC)+",str.encode("+e.valueToCode(this,"tex",e.ORDER_ATOMIC)+"),color="+e.valueToCode(this,"color",e.ORDER_ATOMIC)+",scale="+e.valueToCode(this,"scale",e.ORDER_ATOMIC)+",x_spacing="+e.valueToCode(this,"x_spacing",e.ORDER_ATOMIC)+",mono_space=1)",e.ORDER_ATOMIC]},hC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".draw_string("+e.valueToCode(this,"x0",e.ORDER_ATOMIC)+","+e.valueToCode(this,"y0",e.ORDER_ATOMIC)+",str.encode("+e.valueToCode(this,"tex",e.ORDER_ATOMIC)+"),color="+e.valueToCode(this,"color",e.ORDER_ATOMIC)+",scale="+e.valueToCode(this,"scale",e.ORDER_ATOMIC)+",x_spacing="+e.valueToCode(this,"x_spacing",e.ORDER_ATOMIC)+",mono_space=1)",e.ORDER_ATOMIC]},mC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".draw_string("+e.valueToCode(this,"x0",e.ORDER_ATOMIC)+","+e.valueToCode(this,"y0",e.ORDER_ATOMIC)+","+e.valueToCode(this,"tex",e.ORDER_ATOMIC)+","+e.valueToCode(this,"color",e.ORDER_ATOMIC)+","+e.valueToCode(this,"scale",e.ORDER_ATOMIC)+",mono_space=0)",e.ORDER_ATOMIC]},cC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".copy("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},OC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".compress("+e.valueToCode(this,"quality",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RC=function(t,e){return e.definitions_.import_image="import image",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".clear()\n"},MC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},EC=function(t,e){return e.definitions_.import_image="import image",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".set_pixel("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+","+e.valueToCode(this,"color",e.ORDER_ATOMIC)+")\n"},CC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".get_pixel("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},AC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".draw_line("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+","+e.valueToCode(this,"color",e.ORDER_ATOMIC)+","+e.valueToCode(this,"thi",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},gC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".draw_arrow("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+","+e.valueToCode(this,"color",e.ORDER_ATOMIC)+","+e.valueToCode(this,"thi",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},SC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".draw_cross("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+","+e.valueToCode(this,"color",e.ORDER_ATOMIC)+","+e.valueToCode(this,"size",e.ORDER_ATOMIC)+","+e.valueToCode(this,"thi",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},DC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".draw_circle("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+","+e.valueToCode(this,"color",e.ORDER_ATOMIC)+","+e.valueToCode(this,"thi",e.ORDER_ATOMIC)+","+e.valueToCode(this,"fil",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},NC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".draw_rectangle("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+","+e.valueToCode(this,"color",e.ORDER_ATOMIC)+","+e.valueToCode(this,"thi",e.ORDER_ATOMIC)+","+e.valueToCode(this,"fil",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},fC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".draw_keypoints("+e.valueToCode(this,"keypoints",e.ORDER_ATOMIC)+","+e.valueToCode(this,"color",e.ORDER_ATOMIC)+","+e.valueToCode(this,"size",e.ORDER_ATOMIC)+","+e.valueToCode(this,"thi",e.ORDER_ATOMIC)+","+e.valueToCode(this,"fil",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},LC=function(t,e){e.definitions_.import_image="import image";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return[i+".draw_image("+i+","+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+","+e.valueToCode(this,"x_scale",e.ORDER_ATOMIC)+","+e.valueToCode(this,"y_scale",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},FC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".find_lines("+e.valueToCode(this,"roi",e.ORDER_ATOMIC)+",threshold="+e.valueToCode(this,"threshold",e.ORDER_ATOMIC)+",theta_margin="+e.valueToCode(this,"theta_margin",e.ORDER_ATOMIC)+",rho_margin="+e.valueToCode(this,"rho_margin",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},vC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".find_line_segments("+e.valueToCode(this,"roi",e.ORDER_ATOMIC)+","+e.valueToCode(this,"distance",e.ORDER_ATOMIC)+","+e.valueToCode(this,"difference",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},PC=function(t,e){e.definitions_.import_image="import image";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"roi",e.ORDER_ATOMIC),s=e.valueToCode(this,"threshold",e.ORDER_ATOMIC),o=e.valueToCode(this,"r_min",e.ORDER_ATOMIC),p=e.valueToCode(this,"r_max",e.ORDER_ATOMIC),u=e.valueToCode(this,"r_step",e.ORDER_ATOMIC);return[i+".find_circles("+n+",threshold="+s+",x_margin="+e.valueToCode(this,"x_margin",e.ORDER_ATOMIC)+",y_margin="+e.valueToCode(this,"y_margin",e.ORDER_ATOMIC)+",r_margin="+e.valueToCode(this,"r_margin",e.ORDER_ATOMIC)+",r_min="+o+",r_max="+p+",r_step="+u+")",e.ORDER_ATOMIC]},VC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".find_rects("+e.valueToCode(this,"roi",e.ORDER_ATOMIC)+",threshold="+e.valueToCode(this,"threshold",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},yC=function(t,e){e.definitions_.import_image="import image";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"roi",e.ORDER_ATOMIC);return[i+".get_regression(["+e.valueToCode(this,"threshold",e.ORDER_ATOMIC)+"],invert="+e.valueToCode(this,"invert",e.ORDER_ATOMIC)+",roi="+n+",robust="+e.valueToCode(this,"robust",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},YC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},bC=function(t,e){e.definitions_.import_image="import image";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("key");if("circle"==n)var s="["+i+".x(),"+i+".y(),"+i+".r()]";else s=i+"."+n+"()";return[s,e.ORDER_ATOMIC]},kC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},xC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".histeq("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"limit",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},XC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".mean("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+","+e.valueToCode(this,"key",e.ORDER_ATOMIC)+","+e.valueToCode(this,"offset",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},GC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".cartoon(seed_threshold="+e.valueToCode(this,"seed",e.ORDER_ATOMIC)+",floating_threshold="+e.valueToCode(this,"float",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},HC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".erode("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+","+e.valueToCode(this,"threshold",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},UC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".dilate("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+","+e.valueToCode(this,"threshold",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},wC=function(t,e){e.definitions_.import_image="import image";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"LIST",e.ORDER_ATOMIC),s=e.valueToCode(this,"color",e.ORDER_ATOMIC);return[i+".flood_fill("+n+","+e.valueToCode(this,"seed",e.ORDER_ATOMIC)+","+e.valueToCode(this,"float",e.ORDER_ATOMIC)+","+s+","+e.valueToCode(this,"invert",e.ORDER_ATOMIC)+","+e.valueToCode(this,"clear",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},BC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".linpolar("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},WC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".invert()",e.ORDER_ATOMIC]},KC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".lens_corr("+e.valueToCode(this,"strength",e.ORDER_ATOMIC)+","+e.valueToCode(this,"zoom",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".binary(["+e.valueToCode(this,"threshold",e.ORDER_ATOMIC)+"],invert="+e.valueToCode(this,"invert",e.ORDER_ATOMIC)+",zero="+e.valueToCode(this,"zero",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".morph("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+","+e.valueToCode(this,"kernel",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".find_barcodes("+e.valueToCode(this,"roi",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},JC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".find_qrcodes("+e.valueToCode(this,"roi",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},zC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".find_apriltags("+e.valueToCode(this,"roi",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ZC=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},$C=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},tA=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},eA=function(t,e){e.definitions_.import_image="import image";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"LIST",e.ORDER_ATOMIC),s=e.valueToCode(this,"roi",e.ORDER_ATOMIC),o=e.valueToCode(this,"area",e.ORDER_ATOMIC),p=e.valueToCode(this,"pixel",e.ORDER_ATOMIC),u=e.valueToCode(this,"margin",e.ORDER_ATOMIC);return[i+".find_blobs(["+n+"],roi="+s+",area_threshold="+o+",pixels_threshold="+p+",merge="+e.valueToCode(this,"key",e.ORDER_ATOMIC)+",margin="+u+")",e.ORDER_ATOMIC]},iA=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".get_histogram(roi="+e.valueToCode(this,"roi",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},nA=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},sA=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},oA=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".get_percentile("+e.valueToCode(this,"percentile",e.ORDER_ATOMIC)+")."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},pA=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".get_threhsold."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},uA=function(t,e){return e.definitions_.import_image_pic="import image as pic",["pic.lab_to_rgb("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},aA=function(t,e){return e.definitions_.import_image_pic="import image as pic",["pic.rgb_to_lab("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},lA=function(t,e){return e.definitions_.import_image_pic="import image as pic",["pic.rgb_to_grayscale("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_A=function(t,e){return e.definitions_.import_image_pic="import image as pic",["pic.grayscale_to_rgb("+e.valueToCode(this,"g_value",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},rA=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".find_hog("+e.valueToCode(this,"roi",e.ORDER_ATOMIC)+","+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},dA=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".find_keypoints(roi="+e.valueToCode(this,"roi",e.ORDER_ATOMIC)+",max_keypoints="+e.valueToCode(this,"max_keypoints",e.ORDER_ATOMIC)+",threshold="+e.valueToCode(this,"threshold",e.ORDER_ATOMIC)+",scale_factor="+e.valueToCode(this,"scale_factor",e.ORDER_ATOMIC)+",normalized="+e.valueToCode(this,"normalized",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},IA=function(t,e){return e.definitions_.import_image_pic="import image as pic",["pic.match_descriptor("+e.valueToCode(this,"VAR1",e.ORDER_ATOMIC)+","+e.valueToCode(this,"VAR2",e.ORDER_ATOMIC)+",threshold="+e.valueToCode(this,"threshold",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},TA=function(t,e){return e.definitions_.import_image="import image",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},hA=function(t,e){return[this.getFieldValue("PGA"),e.ORDER_ATOMIC]},mA=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},cA=function(t,e){e.definitions_["import board"]="import board";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = board.pin("+n+", board."+s+")\n"},OA=function(t,e){e.definitions_["import board"]="import board";return"pin"+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},RA=function(t,e){e.definitions_["import board"]="import board";return["pin"+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},MA=function(t,e){e.definitions_["import board"]="import board",e.definitions_["from machine import PWM"]="from machine import PWM",e.definitions_["from machine import Timer"]="from machine import Timer";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s="pin#"==i?"pin"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE),o=e.valueToCode(this,"freq",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"tim"+p+" = Timer(Timer.TIMER"+p%3+",Timer.CHANNEL"+parseInt(p/3)+", mode=Timer.MODE_PWM)\n"+(s+" = PWM(tim"+p+",freq="+o+",duty=0, pin="+n+")\n")},EA=function(t,e){e.definitions_["from machine import PWM"]="from machine import PWM";return"pin"+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".duty("+e.valueToCode(this,"pwm",e.ORDER_ATOMIC)+")\n"},CA=function(t,e){return e.definitions_["import board"]="import board","board.adc_init("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+")\n"},AA=function(t,e){return e.definitions_["import board"]="import board",["board.adc_read("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},gA=function(t,e){return e.definitions_["import board"]="import board",["board.adc_vread("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},SA=function(t,e){e.definitions_["import board"]="import board";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"key"+i+"=board.pin("+i+", board.GPIO.IN, board.GPIO.PULL_NONE)\n"+("key"+i+".irq("+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+",board."+n+",board.GPIO.WAKEUP_NOT_SUPPORT, 7)\n")},DA=function(t,e){return e.definitions_["import board"]="import board","key"+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".disirq()\n"},NA=function(t,e){return e.definitions_.import_miot="import miot_no","miot_no.do_connect("+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},fA=function(t,e){return e.definitions_.import_miot="import miot_no",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = miot_no.init_MQTT_client("+e.valueToCode(this,"CLIENT",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)||"0")+")\n"},LA=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_simple="import simple",i+".do_disconnect()\n"},FA=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"DICT",e.ORDER_ATOMIC),s="TRUE"==this.getFieldValue("is_print")?"True":"False";return e.definitions_.import_simple="import simple",i+".publish("+n+", is_print = "+s+")\n"},vA=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_simple="import simple",i+".check_msg()\n"},PA=function(t,e){e.definitions_.import_miot="import miot_no";for(var i=new Array(this.itemCount_),n=new Array(this.itemCount_),s=new Array(this.itemCount_),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=0;p<this.itemCount_;p++){var u=this.getFieldValue("KEY"+p);i[p]=u}for(p=0;p<this.itemCount_;p++)n[p]=e.valueToCode(this,"ADD"+p,e.ORDER_NONE)||"0";var a=o+".publish({";for(p=0;p<this.itemCount_;p++)s[p]=i[p]+": "+n[p];return a=a+s.join(", ")+"})\n"},VA=function(t,e){var i=this.getFieldValue("NUM");return[i,i<0?e.ORDER_UNARY_PREFIX:e.ORDER_ATOMIC]},yA=function(t,e){return e.definitions_.import_math="import math",["math."+this.getFieldValue("CONSTANT"),e.ORDER_ATOMIC]},YA=function(t,e){var i=this.getFieldValue("OP"),n=e.ORDER_ATOMIC;return["("+(e.valueToCode(this,"A",n)||"0")+i+(e.valueToCode(this,"B",n)||"0")+")",n]},bA=function(t,e){var i=(n={ADD:[" + ",e.ORDER_ADDITIVE],MINUS:[" - ",e.ORDER_ADDITIVE],MULTIPLY:[" * ",e.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",e.ORDER_MULTIPLICATIVE],QUYU:[" % ",e.ORDER_MULTIPLICATIVE],ZHENGCHU:[" // ",e.ORDER_MULTIPLICATIVE],POWER:[" ** ",e.ORDER_EXPONENTIATION]}[t.getFieldValue("OP")])[0],n=n[1];return[(e.valueToCode(t,"A",n)||"0")+i+(t=e.valueToCode(t,"B",n)||"0"),n]},kA=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_RELATIONAL)||"0",n=e.valueToCode(this,"B",e.ORDER_RELATIONAL)||"0";switch(this.getFieldValue("OP")){case"ADD":var s="+=";break;case"MINUS":s="-=";break;case"MULTIPLY":s="*=";break;case"DIVIDE":s="/=";break;case"QUYU":s="%=";break;case"ZHENGCHU":s="//=";break;case"POWER":s="**="}return i+" "+s+" "+n+"\n"},xA=function(t,e){var i,n=t.getFieldValue("OP");if("NEG"==n)return["-"+(i=e.valueToCode(t,"NUM",e.ORDER_UNARY_SIGN)||"0"),e.ORDER_UNARY_SIGN];switch(e.definitions_.import_math="import math",t="SIN"==n||"COS"==n||"TAN"==n?e.valueToCode(t,"NUM",e.ORDER_MULTIPLICATIVE)||"0":e.valueToCode(t,"NUM",e.ORDER_NONE)||"0",n){case"ABS":i="math.fabs("+t+")";break;case"ROOT":i="math.sqrt("+t+")";break;case"LN":i="math.log("+t+")";break;case"LOG10":i="math.log10("+t+")";break;case"EXP":i="math.exp("+t+")";break;case"POW10":i="math.pow(10,"+t+")";break;case"ROUND":i="round("+t+")";break;case"ROUNDUP":i="math.ceil("+t+")";break;case"ROUNDDOWN":i="math.floor("+t+")";break;case"SIN":i="math.sin("+t+")";break;case"COS":i="math.cos("+t+")";break;case"TAN":i="math.tan("+t+")";break;case"++":i="++("+t+")";break;case"--":i="--("+t+")";break;case"-":i="-("+t+")"}if(i)return[i,e.ORDER_FUNCTION_CALL];switch(n){case"ASIN":i="math.degrees(math.asin("+t+"))";break;case"ACOS":i="math.degrees(math.acos("+t+"))";break;case"ATAN":i="math.degrees(math.atan("+t+"))"}return[i,e.ORDER_MULTIPLICATIVE]},XA=xA,GA=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_NONE)||"0",n=this.getFieldValue("OP"),s="";return"round"===n?s=n+"("+i+")":(s="math."+n+"("+i+")",e.definitions_.import_math="import math"),[s,e.ORDER_ATOMIC]},HA=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_NONE)||"0",n=e.valueToCode(this,"B",e.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+i+", "+n+")",e.ORDER_ATOMIC]},UA=function(t,e){var i=e.valueToCode(this,"LIST",e.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+i+")",e.ORDER_ATOMIC]},wA=function(t,e){e.definitions_.import_random="import random";var i=this.getFieldValue("TYPE"),n=e.valueToCode(this,"FROM",e.ORDER_NONE)||"0",s=e.valueToCode(this,"TO",e.ORDER_NONE)||"0";if("int"==i)var o="random.randint("+n+", "+s+")";else if("float"==i)o="random.uniform("+n+", "+s+")";return[o,e.ORDER_UNARY_POSTFIX]},BA=function(t,e){var i=e.valueToCode(this,"NUM",e.ORDER_NONE),n=e.valueToCode(this,"fromLow",e.ORDER_ATOMIC),s=e.valueToCode(this,"fromHigh",e.ORDER_ATOMIC),o=e.valueToCode(this,"toLow",e.ORDER_ATOMIC),p=e.valueToCode(this,"toHigh",e.ORDER_ATOMIC);return e.setups_.mixly_mapping="def mixly_mapping(v, al, ah, bl, bh):\n return bl + (bh - bl) * (v - al) / (ah - al)\n",["mixly_mapping("+i+", "+n+", "+s+", "+o+", "+p+")",e.ORDER_NONE]},WA=function(t,e){return["min(max("+(e.valueToCode(this,"VALUE",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"LOW",e.ORDER_NONE)||"0")+"), "+(e.valueToCode(this,"HIGH",e.ORDER_NONE)||"0")+")",e.ORDER_UNARY_POSTFIX]},KA=function(t,e){var i=t.getFieldValue("OP"),n=e.valueToCode(this,"NUM",e.ORDER_NONE)||"0",s=t.getFieldValue("OP2");e.definitions_.import_math="import math";var o="",p="10";if("two"==i?p="2":"eight"==i?p="8":"ten"==i?p="10":"sixteen"==i&&(p="16"),"two"==s?o="bin":"eight"==s?o="oct":"ten"==s?o="":"sixteen"==s&&(o="hex"),""==o)var u="int(str("+n+"), "+p+")";else u=o+"(int(str("+n+"), "+p+"))";return[u,e.ORDER_ATOMIC]},QA=function(t,e){return e.definitions_.import_random="import random","random.seed("+(e.valueToCode(this,"NUM",e.ORDER_NONE)||"0")+");\n"},jA=function(t,e){var i=this.getFieldValue("NUM");return[i,i<0?e.ORDER_UNARY_PREFIX:e.ORDER_ATOMIC]},qA=BA,JA=function(t,e){return e.definitions_["import nes_no"]="import nes_no","nes_no.joystick_init("+e.valueToCode(this,"cs_pin",e.ORDER_ATOMIC)+","+e.valueToCode(this,"clk_pin",e.ORDER_ATOMIC)+","+e.valueToCode(this,"mosi_pin",e.ORDER_ATOMIC)+","+e.valueToCode(this,"miso_pin",e.ORDER_ATOMIC)+","+e.valueToCode(this,"vol",e.ORDER_ATOMIC)+")\n"},zA=function(t,e){return e.definitions_["import nes_no"]="import nes_no","nes_no.keyboard_init("+e.valueToCode(this,"vol",e.ORDER_ATOMIC)+")\n"},ZA=function(t,e){return e.definitions_["import nes_no"]="import nes_no","nes_no.run("+e.valueToCode(this,"path",e.ORDER_ATOMIC)+")\n"},$A=function(t,e){e.definitions_["import net_espat"]="import net_espat";var i=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return"ESP_AT = net_espat.wifi_init("+e.valueToCode(this,"RX",e.ORDER_ATOMIC)+","+i+")\n"},tg=function(t,e){e.definitions_["import net_espat"]="import net_espat";return["net_espat.scans(ESP_AT)",e.ORDER_ATOMIC]},eg=function(t,e){return e.definitions_["import net_espat"]="import net_espat","ESP_AT.connect("+e.valueToCode(this,"account",e.ORDER_ATOMIC)+","+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},ig=function(t,e){e.definitions_["import net_espat"]="import net_espat";var i=this.getFieldValue("mode");if("1"==i)var n="ESP_AT.ifconfig()";if("2"==i)n="ESP_AT.isconnected()";return[n,e.ORDER_ATOMIC]},ng=function(t,e){e.definitions_["import net_espat"]="import net_espat";return"ESP_AT.disconnect()\n"},sg=function(t,e){e.definitions_["import net_espat"]="import net_espat";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"ESP_AT.enable_ap("+e.valueToCode(this,"account",e.ORDER_ATOMIC)+","+e.valueToCode(this,"password",e.ORDER_ATOMIC)+","+e.valueToCode(this,"chl",e.ORDER_ATOMIC)+","+i+"."+this.getFieldValue("mode")+")\n"},og=function(t,e){e.definitions_["import net_espat"]="import net_espat";return"ESP_AT.disable_ap()\n"},pg=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},ug=function(t,e){return e.definitions_["import socket"]="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = socket.socket()\n"},ag=function(t,e){return e.definitions_["import socket"]="import socket",["socket.getaddrinfo("+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+",80)[0][-1]",e.ORDER_ATOMIC]},lg=function(t,e){return e.definitions_["import socket"]="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},_g=function(t,e){e.definitions_["import socket"]="import socket";var i=e.valueToCode(this,"time",e.ORDER_ATOMIC);return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".settimeout("+i+")\n"},rg=function(t,e){return e.definitions_["import socket"]="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},dg=function(t,e){return e.definitions_["import socket"]="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},Ig=function(t,e){return e.definitions_["import socket"]="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},Tg=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},hg=Tg,mg=Tg,cg=Tg,Og=Tg,Rg=Tg,Mg=Tg,Eg=Tg,Cg=Tg,Ag=Tg,gg=Tg,Sg=Tg,Dg=Tg,Ng=Tg,fg=Tg,Lg=Tg,Fg=Tg,vg=Tg,Pg=Tg,Vg=Tg,yg=Tg,Yg=Tg,bg=Tg,kg=Tg,xg=Tg,Xg=function(t,e){return[this.getFieldValue("KEY"),e.ORDER_ATOMIC]},Gg=function(t,e){e.definitions_["import board"]="import board";var i=e.valueToCode(this,"key",e.ORDER_ATOMIC);return"button"+i+"=board.pin("+i+",board.GPIO.IN,board.GPIO.PULL_UP)\n"},Hg=function(t,e){return e.definitions_["import board"]="import board",["not button"+e.valueToCode(this,"key",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},Ug=function(t,e){e.definitions_["import dht11"]="import dht11";var i=this.getFieldValue("TYPE"),n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);if("2"==i)var s="dht11.read_data("+n+")";else s="dht11.read_data("+n+")["+i+"]";return[s,e.ORDER_ATOMIC]},wg=function(t,e){return e.definitions_.import_sonar="import hcr04",["hcr04.Sonar("+e.valueToCode(this,"PIN1",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN2",e.ORDER_ASSIGNMENT)+")",e.ORDER_ATOMIC]},Bg=function(t,e){e.definitions_.import_mpu9250="import mpu9250";var i=this.getFieldValue("gesture"),n=e.statementToCode(this,"DO")||e.PASS,s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==s&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),"if "+s+'.mpu9250_is_gesture("'+i+'"):\n'+n},Wg=function(t,e){e.definitions_.import_mpu9250="import mpu9250";var i=this.getFieldValue("gesture"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+'.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},Kg=function(t,e){e.definitions_.import_mpu9250="import mpu9250";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},Qg=function(t,e){e.definitions_.import_adxl345="import adxl345";var i,n=this.getFieldValue("key"),s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"x"==n?i=s+".readX()":"y"==n?i=s+".readY()":"z"==n?i=s+".readZ()":"values"==n&&(i=s+".readXYZ()"),[i,e.ORDER_ATOMIC]},jg=function(t,e){e.definitions_.import_mpu9250="import mpu9250";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},qg=function(t,e){e.definitions_.import_mpu9250="import mpu9250";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},Jg=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".calibrate()\n"},zg=function(t,e){e.definitions_.import_mpu9250="import mpu9250";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==i&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[i+".mpu9250_get_temperature()",e.ORDER_ATOMIC]},Zg=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);"compass"==i&&(e.definitions_.import_mixgo_compass="from mixgo import compass");var n,s=this.getFieldValue("compass");return"strength"==s?n=i+".get_field_strength()":"heading"==s&&(n=i+".heading()"),[n,e.ORDER_ATOMIC]},$g=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".reset_calibrate()\n"},tS=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"MPU9250"==o?(e.definitions_.import_mpu9250="import mpu9250",i=n+" = mpu9250."+o+"("+s+")\n"):"BMP280"==o?(e.definitions_.import_bmp280="import bmp280",i=n+" = bmp280."+o+"("+s+")\n"):"SHT20"==o?(e.definitions_.import_sht20="import sht20",i=n+" = sht20."+o+"("+s+")\n"):"ADXL345"==o&&(e.definitions_.import_adxl345="import adxl345",i=n+" = adxl345."+o+"("+s+")\n"),i},eS=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=this.getFieldValue("key");return e.definitions_.import_bmp280="import bmp280",[i+"."+n,e.ORDER_ATOMIC]},iS=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=this.getFieldValue("key");return e.definitions_.import_sht20="import sht20",[i+"."+n,e.ORDER_ATOMIC]},nS=function(t,e){return[this.getFieldValue("UART"),e.ORDER_ATOMIC]},sS=function(t,e){return e.definitions_["from machine import UART"]="from machine import UART","uart"+this.getFieldValue("mode")+".write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},oS=function(t,e){return e.definitions_["from machine import UART"]="from machine import UART","uart"+this.getFieldValue("mode")+".write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},pS=function(t,e){return e.definitions_.import_machine="import machine","uart"+this.getFieldValue("mode")+".write(str("+this.getFieldValue("STAT")+"("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+"))+'\\r\\n')\n"},uS=function(t,e){return e.definitions_["from machine import UART"]="from machine import UART",["uart"+this.getFieldValue("mode")+".any()",e.ORDER_ATOMIC]},aS=function(t,e){return e.definitions_["from machine import UART"]="from machine import UART",["uart"+this.getFieldValue("mode")+".read()",e.ORDER_ATOMIC]},lS=function(t,e){return e.definitions_["from machine import UART"]="from machine import UART",["uart"+this.getFieldValue("mode")+".readline()",e.ORDER_ATOMIC]},_S=function(t,e){e.definitions_["from machine import UART"]="from machine import UART",e.definitions_["import board"]="import board";var i=this.getFieldValue("mode"),n=this.getFieldValue("baudrate");return"board.register("+e.valueToCode(this,"TX",e.ORDER_ATOMIC)+",board.FPIOA.UART"+i+"_TX)\n"+("board.register("+e.valueToCode(this,"RX",e.ORDER_ATOMIC)+",board.FPIOA.UART"+i+"_RX)\n")+("uart"+i+"=UART(UART.UART"+i+", "+n+", timeout=1000, read_buf_len=4096)\n")},rS=function(t,e){return["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},dS=function(t,e){return"print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},IS=function(t,e){return"print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},TS=function(t,e){return"print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+",end ="+(e.valueToCode(this,"END",e.ORDER_ATOMIC)||'""')+")\n"},hS=function(t,e){for(var i=new Array(this.itemCount_),n=0;n<this.itemCount_;n++)i[n]=e.valueToCode(this,"ADD"+n,e.ORDER_NONE)||"0";return i="print("+i.join(", ")+")\n"},mS=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ce_com="import ce_com";var i=this.getFieldValue("mode"),n=this.getFieldValue("STAT");return"ce_com.uart_tx(uart"+i+", "+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+", repeat="+n+")\n"},cS=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ce_com="import ce_com",["ce_com.uart_rx(uart"+this.getFieldValue("mode")+")",e.ORDER_ATOMIC]},OS=function(t,e){return[this.getFieldValue("TIM"),e.ORDER_ATOMIC]},RS=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},MS=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},ES=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},CS=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},AS=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},gS=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},SS=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},DS=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},NS=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},fS=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},LS=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},FS=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},vS=function(){return"while True:\n pass\n"},PS=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},VS=function(t,e){e.definitions_["import machine"]="import machine";return"machine.reset()\n"},yS=function(t,e){return e.definitions_["import gc"]="import gc",this.getFieldValue("gc")+"\n"},YS=function(t,e){return e.definitions_.import_os="import os","os.uname()"},bS=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},kS=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=i%3,s=parseInt(i/3),o=e.valueToCode(this,"period",e.ORDER_NONE);return"tim"+i+" =Timer(Timer.TIMER"+n+",Timer.CHANNEL"+s+",mode=Timer.MODE_"+this.getFieldValue("mode")+",period = "+o+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},xS=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},XS=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"tim"+i+" = Timer(Timer.TIMER"+i%3+",Timer.CHANNEL"+parseInt(i/3)+", mode=Timer.MODE_PWM)\n"},GS=XS,HS=kS,US=xS,wS=bS;const BS=function(t,e){return["["+this.getFieldValue("TEXT")+"]",e.ORDER_ATOMIC]},WS=function(t,e){return["("+this.getFieldValue("TEXT")+")",e.ORDER_ATOMIC]},KS=function(t,e){var i=this.getFieldValue("COLOR");return["("+("0x"+(i=i.substr(1)).substr(0,2))+","+("0x"+i.substr(2,2))+","+("0x"+i.substr(4,2))+")",e.ORDER_ATOMIC]},QS=function(t,e){var i=this.getFieldValue("COLOR");return[i=function(t){var e,i,n;e=(t=t.substr(1)).substr(0,2),i=t.substr(2,2),n=t.substr(4,2);var s=(64512&(t="0x"+(t=e+i+n)))>>10;return((248&t)>>3<<8)+((7&s)<<13)+((16252928&t)>>19<<3)+((56&s)>>3)}(i),e.ORDER_ATOMIC]};Object.assign(Rt.Variables,Ct),Object.assign(Rt.Procedures,es),Rt.Python=Al,Rt.generator=Al,Mt.Profile.default={},Object.assign(Mt.Profile,ZI),Object.assign(Mt.Profile.default,ZI.k210),Object.assign(Rt.Blocks,e,i,n,s,o,p,u,a,l,_,r,d,I,F,L,f,N,Y,b,k,x,X,G,H,U,w,B,W,K,Q,j,q,J,z,Z,$),Object.assign(Rt.Python.forBlock,T,h,m,c,O,R,M,E,C,A,g,S,D,y,V,P,v,tt,et,it,nt,st,ot,pt,ut,at,lt,_t,rt,dt,It,Tt,ht,mt,ct,Ot)})();