scripts = [
("cf_current_word_is_valid",[
(assign,l.result,1),
(try_begin),
(lt,g.ibcc_text,1),
(else_try),
(troop_slot_eq,trp.ibcc_temp,0,key_p),
(try_begin),
(lt,g.ibcc_text,2),
(else_try),
(troop_slot_eq,trp.ibcc_temp,1,key_o),
(try_begin),
(lt,g.ibcc_text,3),
(else_try),
(troop_slot_eq,trp.ibcc_temp,2,key_t),
(try_begin),
(lt,g.ibcc_text,4),
(else_try),
(troop_slot_eq,trp.ibcc_temp,3,key_a),
(try_begin),
(lt,g.ibcc_text,5),
(else_try),
(troop_slot_eq,trp.ibcc_temp,4,key_t),
(try_begin),
(lt,g.ibcc_text,6),
(else_try),
(troop_slot_eq,trp.ibcc_temp,5,key_o),
(try_begin),
(lt,g.ibcc_text,7),
(else_try),
(troop_slot_eq,trp.ibcc_temp,6,key_space),
(try_begin),
(lt,g.ibcc_text,8),
(else_try),
(troop_slot_eq,trp.ibcc_temp,7,key_t),
(try_begin),
(lt,g.ibcc_text,9),
(else_try),
(troop_slot_eq,trp.ibcc_temp,8,key_h),
(try_begin),
(lt,g.ibcc_text,10),
(else_try),
(troop_slot_eq,trp.ibcc_temp,9,key_r),
(try_begin),
(lt,g.ibcc_text,11),
(else_try),
(troop_slot_eq,trp.ibcc_temp,10,key_o),
(try_begin),
(lt,g.ibcc_text,12),
(else_try),
(troop_slot_eq,trp.ibcc_temp,11,key_w),
(lt,g.ibcc_text,13),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(troop_slot_eq,trp.ibcc_temp,7,key_m),
(try_begin),
(lt,g.ibcc_text,9),
(else_try),
(troop_slot_eq,trp.ibcc_temp,8,key_g),
(lt,g.ibcc_text,10),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(assign,l.result,0),
(try_end),
(else_try),
(assign,l.result,0),
(try_end),
(try_begin),
(eq,l.result,0),
(str_store_string,s0,"@check failed on "),
(assign,l.temp,1),
(try_for_range,l.slot,0,l.temp),
(neg|troop_slot_eq,trp.ibcc_temp,l.slot+1,-1),
(val_add,l.temp,1),
(troop_get_slot,l.key,trp.ibcc_temp,l.slot),
(call_script,script.get_key_name,l.key),
(str_store_string,s0,"@{s0}{s1}"),
(neg|troop_slot_eq,trp.ibcc_temp,l.slot+2,-1),
(str_store_string,s0,"@{s0}, "),
(try_end),
(display_message,s0),
(try_end),
(eq,l.result,1),
]),
]