ZTZOO2OQ2DXRG3MI4RQVNWRHALXQ6BCIOWTTYPP2URQF5EWSNTOAC if edge.suffix and ends_with(frag, edge.suffix) thenCurrent_state = edge.targetbreakendendif edge.prefix and starts_with(frag, edge.prefix) thenCurrent_state = edge.targetbreakendendendfunction switch_color_based_on_suffix(frag)if Next_state[Current_state] == nil thenreturnendfrag = rtrim(frag)for _,edge in pairs(Next_state[Current_state]) do