Documentation
¶
Overview ¶
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Copyright (c) 2025, Ben Walton All rights reserved.
Index ¶
- Constants
- Variables
- type Terminal
- func (t *Terminal) Cols() int
- func (t *Terminal) CopyIfNewer(ts time.Time) (*Terminal, bool)
- func (src *Terminal) Diff(dest *Terminal) []byte
- func (t *Terminal) FirstRow() []byte
- func (t *Terminal) ForceCopy() *Terminal
- func (t *Terminal) LastChange() time.Time
- func (t *Terminal) MakeOverlay(text string) []byte
- func (t *Terminal) Replace(other *Terminal)
- func (t *Terminal) Resize(rows, cols int)
- func (t *Terminal) Rows() int
- func (t *Terminal) Run()
- func (t *Terminal) SetTitlePrefix(pfx string)
- func (t *Terminal) Stop()
- func (t *Terminal) Wait()
- func (t *Terminal) Write(p []byte) (int, error)
Constants ¶
const ( UNSET = iota BASIC ANSI256 RGB )
const ( // Like it's 1975 baby! DEF_ROWS = 24 DEF_COLS = 80 )
const ( BEL = 0x07 // ^G Bell BS = 0x08 // ^H Backspace TAB = 0x09 // ^I Tab \t LF = 0x0a // ^J Line feed \n VT = 0x0b // ^K Vertical tab \v FF = 0x0c // ^L Form feed \f CR = 0x0d // ^M Carriage return \r SO = 0x0e // ^N Switch to G1/alternate charset as default SI = 0x0f // ^O Switch to G0 charset as default )
Single character functions
const ( ESC = 0x1b DECSC = '7' // DECSC - save cursor DECRC = '8' // DECRC - restore cursor IND = 'D' // IND - index NEL = 'E' // NEL - newline HTS = 'H' // HTS - horizontal tab set RI = 'M' // RI - reverse index DCS = 'P' // Device control sequence RIS = 'c' // RIS - Full reset PAM = '=' // DECAPM - application keypad PNM = '>' // DECPNM - normal keypad CSI = 0x5b // ]; control sequence introducer OSC = 0x5d // [; operating system command ST = '\\' // string terminator )
ESC sequence controls
const ( CSI_ICH = '@' // insert blank characters CSI_CUU = 'A' // cursor up CSI_CUD = 'B' // cursor down CSI_CUF = 'C' // cursor forward CSI_CUB = 'D' // cursor back CSI_CNL = 'E' // cursor next line CSI_CPL = 'F' // cursor previous line CSI_CHA = 'G' // cursor horizontal attribute CSI_CUP = 'H' // cursor position CSI_CHT = 'I' // cursor forward tabulation CSI_ED = 'J' // erase in display CSI_EL = 'K' // erase in line CSI_IL = 'L' // insert line(s) CSI_DL = 'M' // delete line(s) CSI_DCH = 'P' // delete character(s) CSI_POS = 'R' // cursor position report CSI_SU = 'S' // scroll up CSI_SD = 'T' // scroll down CSI_DECST8C = 'W' // DEC reset tab stops, starting at col 9, every 8 columns CSI_ECH = 'X' // erase characters CSI_CBT = 'Z' // cursor backward tabulation CSI_HPA = '`' // character position absolute (column), default [row,1] CSI_HPR = 'a' // character position relative (column), default [row,col+1] CSI_DA = 'c' // send (primary) device attributes CSI_VPA = 'd' // line position absolute (row), default [1,col] CSI_VPR = 'e' // line position relative (row), default [row+1,col] CSI_HVP = 'f' // horizontal vertical position CSI_TBC = 'g' // tab stop clear CSI_MODE_SET = 'h' // h typically enables or activates something CSI_MODE_RESET = 'l' // l typically disables or deactivates something CSI_SGR = 'm' // select graphic rendition CSI_DSR = 'n' // device status report CSI_RIS = 'p' // soft reset (vt220) CSI_Q_MULTI = 'q' // overloaded, common for returning xterm name and version CSI_DECSTBM = 'r' // set top and bottom margin CSI_DECSLRM = 's' // set left and right margin CSI_XTWINOPS = 't' // window manipulation, xterm/dtterm stuff mostly )
CSI codes
const ( RESET = 0 INTENSITY_BOLD = 1 INTENSITY_FAINT = 2 ITALIC_ON = 3 UNDERLINE_ON = 4 BLINK_ON = 5 RAPID_BLINK_ON = 6 REVERSED_ON = 7 INVISIBLE_ON = 8 STRIKEOUT_ON = 9 PRIMARY_FONT = 10 INTENSITY_NORMAL = 22 ITALIC_OFF = 23 UNDERLINE_OFF = 24 BLINK_OFF = 25 REVERSED_OFF = 27 INVISIBLE_OFF = 28 STRIKEOUT_OFF = 29 )
CSI SGR Format codes
const ( FG_BLACK = 30 FG_RED = 31 FG_GREEN = 32 FG_YELLOW = 33 FG_BLUE = 34 FG_MAGENTA = 35 FG_CYAN = 36 FG_WHITE = 37 SET_FG = 38 FG_DEF = 39 BG_BLACK = 40 BG_RED = 41 BG_GREEN = 42 BG_YELLOW = 43 BG_BLUE = 44 BG_MAGENTA = 45 BG_CYAN = 46 BG_WHITE = 47 SET_BG = 48 BG_DEF = 49 FG_BRIGHT_BLACK = 90 FG_BRIGHT_RED = 91 FG_BRIGHT_GREEN = 92 FG_BRIGHT_YELLOW = 93 FG_BRIGHT_BLUE = 94 FG_BRIGHT_MAGENTA = 95 FG_BRIGHT_CYAN = 96 FG_BRIGHT_WHITE = 97 BG_BRIGHT_BLACK = 100 BG_BRIGHT_RED = 101 BG_BRIGHT_GREEN = 102 BG_BRIGHT_YELLOW = 103 BG_BRIGHT_BLUE = 104 BG_BRIGHT_MAGENTA = 105 BG_BRIGHT_CYAN = 106 BG_BRIGHT_WHITE = 107 )
CSI SGR Color codes
const ( IRM = 4 // Insert mode LNM = 20 // Automatic New Line Mode )
CSI mode parameter codes
const ( DECCKM = 1 // DEC application cursor keys DECCOLM = 3 // DEC 80 (l) / 132 (h) mode DECCOLM SMOOTH_SCROLL = 4 // Smooth scroll DECSCLM REV_VIDEO = 5 // Reverse video DECSCNM DECOM = 6 // Origin Mode DECOM DECAWM = 7 // DEC autowrap mode, default reset AUTO_REPEAT = 8 // Auto-repeat keys DECARM MOUSE_XY_PRESS = 9 // Mouse X & Y on button press BLINK_CURSOR = 12 // Start blinking cursor SHOW_CURSOR = 25 // Show cursor DECTCEM XTERM_80_132 = 40 // Xterm specific to enable/disable 80/132 col reset REV_WRAP = 45 // Xterm's reverse-wraparound mode MOUSE_XY_PRESS_RELEASE = 1000 // Mouse X & Y on button press and release MOUSE_HILIGHT = 1001 // Hilight Mouse Tracking MOUSE_MOTION = 1002 // Cell Motion Mouse Tracking MOUSE_ALL = 1003 // All Motion Mouse Tracking MOUSE_FOCUS = 1004 // FocusIn/FocusOut events MOUSE_UTF8 = 1005 // UTF-8 Mouse Mode MOUSE_SGR = 1006 // SGR Mouse Mode MOUSE_ALT = 1007 // Alternate scroll mode MOUSE_URXVT = 1015 // urxvt mouse mode XTERM_ALT_BUFFER = 1047 // xterm switch to alternate screen buffer XTERM_SAVE_RESTORE = 1048 // xterm save/restore cursor XTERM_SAVE_ALT = 1049 // xterm save/retore cursor and alt buffer BRACKET_PASTE = 2004 // Bracketed paste, ala xterm )
CSI private mode parameter codes
const ( OSC_ICON_TITLE = "0" OSC_ICON = "1" OSC_TITLE = "2" OSC_HYPERLINK = "8" // hyperlink - https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda OSC_SETSIZE = "X" // Gosh-specific )
OSC actions
const ( TBC_CUR = 0 // clear current tab stop TBC_ALL = 3 // clear all tab stops )
Modes for CSI_TBC
const ( ERASE_FROM_CUR = 0 // from cursor to end of line/screen (includes cursor pos) ERASE_TO_CUR = 1 // from start of line/screen to cursor (includes cursor pos) ERASE_ALL = 2 // entire line/screen )
For erase in display and erase line
const ( XTWINOPS_SAVE = 22 XTWINOPS_RESTORE = 23 )
const ( BOLD = 1 << 0 FAINT = 1 << 1 ITALIC = 1 << 2 BOLD_FAINT = 1 << 3 // it is valid to set both, we handle is specially UNDERLINE = 1 << 4 BLINK = 1 << 5 REVERSED = 1 << 6 INVISIBLE = 1 << 7 STRIKEOUT = 1 << 8 )
const ( MIN_ROWS = 1 MIN_COLS = 2 MAX_ROWS = 511 // taken from libvte MAX_COLS = MAX_ROWS )
const ( FRAG_NONE = iota FRAG_PRIMARY FRAG_SECONDARY )
const ( MAX_EXPECTED_INTERMEDIATE = 10 MAX_EXPECTED_PARAMS = 16 )
const ( STATE_NONE = 0 STATE_CSI_ENTRY = 1 STATE_CSI_IGNORE = 2 STATE_CSI_INTERMEDIATE = 3 STATE_CSI_PARAM = 4 STATE_DCS_ENTRY = 5 STATE_DCS_IGNORE = 6 STATE_DCS_INTERMEDIATE = 7 STATE_DCS_PARAM = 8 STATE_DCS_PASSThROUGH = 9 STATE_ESCAPE = 10 STATE_ESCAPE_INTERMEDIATE = 11 STATE_GROUND = 12 STATE_OSC_STRING = 13 STATE_SOS_PM_APC_STRING = 14 )
const ( ACTION_NOP = 0 ACTION_CLEAR = 1 ACTION_COLLECT = 2 ACTION_CSI_DISPATCH = 3 ACTION_ESC_DISPATCH = 4 ACTION_EXECUTE = 5 ACTION_HOOK = 6 ACTION_IGNORE = 7 ACTION_OSC_END = 8 ACTION_OSC_PUT = 9 ACTION_OSC_START = 10 ACTION_PARAM = 11 ACTION_PRINT = 12 ACTION_PUT = 13 ACTION_UNHOOK = 14 ACTION_ERROR = 15 )
const FMT_RESET = "\x1b[m"
const GOSH_VT_VER = "0.8"
Returned when as the version component of the DSC response when the vt is queried for XTERM_VERSION CSI > q. This is not representative of the overall gosh protocol version, but meant as an internal version for the vt emulation.
Variables ¶
var ACTION_NAMES map[pAction]string = map[pAction]string{ ACTION_NOP: "NOP", ACTION_CLEAR: "CLEAR", ACTION_COLLECT: "COLLECT", ACTION_CSI_DISPATCH: "CSI_DISPATCH", ACTION_ESC_DISPATCH: "ESC_DISPATCH", ACTION_EXECUTE: "EXECUTE", ACTION_HOOK: "HOOK", ACTION_IGNORE: "IGNORE", ACTION_OSC_END: "OSC_END", ACTION_OSC_PUT: "OSC_PUT", ACTION_OSC_START: "OSC_START", ACTION_PARAM: "PARAM", ACTION_PRINT: "PRINT", ACTION_PUT: "PUT", ACTION_UNHOOK: "UNHOOK", ACTION_ERROR: "ERROR", }
var ENTRY_ACTIONS map[pState]pAction = map[pState]pAction{ STATE_CSI_ENTRY: ACTION_CLEAR, STATE_DCS_ENTRY: ACTION_CLEAR, STATE_DCS_PASSThROUGH: ACTION_HOOK, STATE_ESCAPE: ACTION_CLEAR, STATE_OSC_STRING: ACTION_OSC_START, }
var EXIT_ACTIONS map[pState]pAction = map[pState]pAction{ STATE_DCS_PASSThROUGH: ACTION_UNHOOK, STATE_OSC_STRING: ACTION_OSC_END, }
var STATE_NAME map[pState]string = map[pState]string{ STATE_NONE: "NONE", STATE_CSI_ENTRY: "CSI_ENTRY", STATE_CSI_IGNORE: "CSI_IGNORE", STATE_CSI_INTERMEDIATE: "CSI_INTERMEDIATE", STATE_CSI_PARAM: "CSI_PARAM", STATE_DCS_ENTRY: "DCS_ENTRY", STATE_DCS_IGNORE: "DCS_IGNORE", STATE_DCS_INTERMEDIATE: "DCS_INTERMEDIATE", STATE_DCS_PARAM: "DCS_PARAM", STATE_DCS_PASSThROUGH: "DCS_PASSTHROUGH", STATE_ESCAPE: "ESCAPE", STATE_ESCAPE_INTERMEDIATE: "ESCAPE_INTERMEDIATE", STATE_GROUND: "GROUND", STATE_OSC_STRING: "OSC_STRING", STATE_SOS_PM_APC_STRING: "SOS_PM_APC_STRING", }
var STATE_TABLE map[pState]map[rune]transition = map[pState]map[rune]transition{ STATE_CSI_ENTRY: map[rune]transition{ 0x00: newTransition(ACTION_EXECUTE, STATE_NONE), 0x01: newTransition(ACTION_EXECUTE, STATE_NONE), 0x02: newTransition(ACTION_EXECUTE, STATE_NONE), 0x03: newTransition(ACTION_EXECUTE, STATE_NONE), 0x04: newTransition(ACTION_EXECUTE, STATE_NONE), 0x05: newTransition(ACTION_EXECUTE, STATE_NONE), 0x06: newTransition(ACTION_EXECUTE, STATE_NONE), 0x07: newTransition(ACTION_EXECUTE, STATE_NONE), 0x08: newTransition(ACTION_EXECUTE, STATE_NONE), 0x09: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0a: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0b: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x10: newTransition(ACTION_EXECUTE, STATE_NONE), 0x11: newTransition(ACTION_EXECUTE, STATE_NONE), 0x12: newTransition(ACTION_EXECUTE, STATE_NONE), 0x13: newTransition(ACTION_EXECUTE, STATE_NONE), 0x14: newTransition(ACTION_EXECUTE, STATE_NONE), 0x15: newTransition(ACTION_EXECUTE, STATE_NONE), 0x16: newTransition(ACTION_EXECUTE, STATE_NONE), 0x17: newTransition(ACTION_EXECUTE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x20: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x21: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x22: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x23: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x24: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x25: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x26: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x27: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x28: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x29: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2a: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2b: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2c: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2d: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2e: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2f: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x30: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x31: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x32: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x33: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x34: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x35: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x36: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x37: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x38: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x39: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x3a: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x3b: newTransition(ACTION_PARAM, STATE_CSI_PARAM), 0x3c: newTransition(ACTION_COLLECT, STATE_CSI_PARAM), 0x3d: newTransition(ACTION_COLLECT, STATE_CSI_PARAM), 0x3e: newTransition(ACTION_COLLECT, STATE_CSI_PARAM), 0x3f: newTransition(ACTION_COLLECT, STATE_CSI_PARAM), 0x40: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x41: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x42: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x43: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x44: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x45: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x46: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x47: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x48: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x49: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4f: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x50: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x51: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x52: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x53: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x54: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x55: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x56: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x57: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x58: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x59: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5f: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x60: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x61: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x62: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x63: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x64: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x65: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x66: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x67: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x68: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x69: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6f: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x70: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x71: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x72: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x73: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x74: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x75: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x76: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x77: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x78: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x79: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, STATE_CSI_IGNORE: map[rune]transition{ 0x00: newTransition(ACTION_EXECUTE, STATE_NONE), 0x01: newTransition(ACTION_EXECUTE, STATE_NONE), 0x02: newTransition(ACTION_EXECUTE, STATE_NONE), 0x03: newTransition(ACTION_EXECUTE, STATE_NONE), 0x04: newTransition(ACTION_EXECUTE, STATE_NONE), 0x05: newTransition(ACTION_EXECUTE, STATE_NONE), 0x06: newTransition(ACTION_EXECUTE, STATE_NONE), 0x07: newTransition(ACTION_EXECUTE, STATE_NONE), 0x08: newTransition(ACTION_EXECUTE, STATE_NONE), 0x09: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0a: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0b: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x10: newTransition(ACTION_EXECUTE, STATE_NONE), 0x11: newTransition(ACTION_EXECUTE, STATE_NONE), 0x12: newTransition(ACTION_EXECUTE, STATE_NONE), 0x13: newTransition(ACTION_EXECUTE, STATE_NONE), 0x14: newTransition(ACTION_EXECUTE, STATE_NONE), 0x15: newTransition(ACTION_EXECUTE, STATE_NONE), 0x16: newTransition(ACTION_EXECUTE, STATE_NONE), 0x17: newTransition(ACTION_EXECUTE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x20: newTransition(ACTION_IGNORE, STATE_NONE), 0x21: newTransition(ACTION_IGNORE, STATE_NONE), 0x22: newTransition(ACTION_IGNORE, STATE_NONE), 0x23: newTransition(ACTION_IGNORE, STATE_NONE), 0x24: newTransition(ACTION_IGNORE, STATE_NONE), 0x25: newTransition(ACTION_IGNORE, STATE_NONE), 0x26: newTransition(ACTION_IGNORE, STATE_NONE), 0x27: newTransition(ACTION_IGNORE, STATE_NONE), 0x28: newTransition(ACTION_IGNORE, STATE_NONE), 0x29: newTransition(ACTION_IGNORE, STATE_NONE), 0x2a: newTransition(ACTION_IGNORE, STATE_NONE), 0x2b: newTransition(ACTION_IGNORE, STATE_NONE), 0x2c: newTransition(ACTION_IGNORE, STATE_NONE), 0x2d: newTransition(ACTION_IGNORE, STATE_NONE), 0x2e: newTransition(ACTION_IGNORE, STATE_NONE), 0x2f: newTransition(ACTION_IGNORE, STATE_NONE), 0x30: newTransition(ACTION_IGNORE, STATE_NONE), 0x31: newTransition(ACTION_IGNORE, STATE_NONE), 0x32: newTransition(ACTION_IGNORE, STATE_NONE), 0x33: newTransition(ACTION_IGNORE, STATE_NONE), 0x34: newTransition(ACTION_IGNORE, STATE_NONE), 0x35: newTransition(ACTION_IGNORE, STATE_NONE), 0x36: newTransition(ACTION_IGNORE, STATE_NONE), 0x37: newTransition(ACTION_IGNORE, STATE_NONE), 0x38: newTransition(ACTION_IGNORE, STATE_NONE), 0x39: newTransition(ACTION_IGNORE, STATE_NONE), 0x3a: newTransition(ACTION_IGNORE, STATE_NONE), 0x3b: newTransition(ACTION_IGNORE, STATE_NONE), 0x3c: newTransition(ACTION_IGNORE, STATE_NONE), 0x3d: newTransition(ACTION_IGNORE, STATE_NONE), 0x3e: newTransition(ACTION_IGNORE, STATE_NONE), 0x3f: newTransition(ACTION_IGNORE, STATE_NONE), 0x40: newTransition(ACTION_NOP, STATE_GROUND), 0x41: newTransition(ACTION_NOP, STATE_GROUND), 0x42: newTransition(ACTION_NOP, STATE_GROUND), 0x43: newTransition(ACTION_NOP, STATE_GROUND), 0x44: newTransition(ACTION_NOP, STATE_GROUND), 0x45: newTransition(ACTION_NOP, STATE_GROUND), 0x46: newTransition(ACTION_NOP, STATE_GROUND), 0x47: newTransition(ACTION_NOP, STATE_GROUND), 0x48: newTransition(ACTION_NOP, STATE_GROUND), 0x49: newTransition(ACTION_NOP, STATE_GROUND), 0x4a: newTransition(ACTION_NOP, STATE_GROUND), 0x4b: newTransition(ACTION_NOP, STATE_GROUND), 0x4c: newTransition(ACTION_NOP, STATE_GROUND), 0x4d: newTransition(ACTION_NOP, STATE_GROUND), 0x4e: newTransition(ACTION_NOP, STATE_GROUND), 0x4f: newTransition(ACTION_NOP, STATE_GROUND), 0x50: newTransition(ACTION_NOP, STATE_GROUND), 0x51: newTransition(ACTION_NOP, STATE_GROUND), 0x52: newTransition(ACTION_NOP, STATE_GROUND), 0x53: newTransition(ACTION_NOP, STATE_GROUND), 0x54: newTransition(ACTION_NOP, STATE_GROUND), 0x55: newTransition(ACTION_NOP, STATE_GROUND), 0x56: newTransition(ACTION_NOP, STATE_GROUND), 0x57: newTransition(ACTION_NOP, STATE_GROUND), 0x58: newTransition(ACTION_NOP, STATE_GROUND), 0x59: newTransition(ACTION_NOP, STATE_GROUND), 0x5a: newTransition(ACTION_NOP, STATE_GROUND), 0x5b: newTransition(ACTION_NOP, STATE_GROUND), 0x5c: newTransition(ACTION_NOP, STATE_GROUND), 0x5d: newTransition(ACTION_NOP, STATE_GROUND), 0x5e: newTransition(ACTION_NOP, STATE_GROUND), 0x5f: newTransition(ACTION_NOP, STATE_GROUND), 0x60: newTransition(ACTION_NOP, STATE_GROUND), 0x61: newTransition(ACTION_NOP, STATE_GROUND), 0x62: newTransition(ACTION_NOP, STATE_GROUND), 0x63: newTransition(ACTION_NOP, STATE_GROUND), 0x64: newTransition(ACTION_NOP, STATE_GROUND), 0x65: newTransition(ACTION_NOP, STATE_GROUND), 0x66: newTransition(ACTION_NOP, STATE_GROUND), 0x67: newTransition(ACTION_NOP, STATE_GROUND), 0x68: newTransition(ACTION_NOP, STATE_GROUND), 0x69: newTransition(ACTION_NOP, STATE_GROUND), 0x6a: newTransition(ACTION_NOP, STATE_GROUND), 0x6b: newTransition(ACTION_NOP, STATE_GROUND), 0x6c: newTransition(ACTION_NOP, STATE_GROUND), 0x6d: newTransition(ACTION_NOP, STATE_GROUND), 0x6e: newTransition(ACTION_NOP, STATE_GROUND), 0x6f: newTransition(ACTION_NOP, STATE_GROUND), 0x70: newTransition(ACTION_NOP, STATE_GROUND), 0x71: newTransition(ACTION_NOP, STATE_GROUND), 0x72: newTransition(ACTION_NOP, STATE_GROUND), 0x73: newTransition(ACTION_NOP, STATE_GROUND), 0x74: newTransition(ACTION_NOP, STATE_GROUND), 0x75: newTransition(ACTION_NOP, STATE_GROUND), 0x76: newTransition(ACTION_NOP, STATE_GROUND), 0x77: newTransition(ACTION_NOP, STATE_GROUND), 0x78: newTransition(ACTION_NOP, STATE_GROUND), 0x79: newTransition(ACTION_NOP, STATE_GROUND), 0x7a: newTransition(ACTION_NOP, STATE_GROUND), 0x7b: newTransition(ACTION_NOP, STATE_GROUND), 0x7c: newTransition(ACTION_NOP, STATE_GROUND), 0x7d: newTransition(ACTION_NOP, STATE_GROUND), 0x7e: newTransition(ACTION_NOP, STATE_GROUND), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, STATE_CSI_INTERMEDIATE: map[rune]transition{ 0x00: newTransition(ACTION_EXECUTE, STATE_NONE), 0x01: newTransition(ACTION_EXECUTE, STATE_NONE), 0x02: newTransition(ACTION_EXECUTE, STATE_NONE), 0x03: newTransition(ACTION_EXECUTE, STATE_NONE), 0x04: newTransition(ACTION_EXECUTE, STATE_NONE), 0x05: newTransition(ACTION_EXECUTE, STATE_NONE), 0x06: newTransition(ACTION_EXECUTE, STATE_NONE), 0x07: newTransition(ACTION_EXECUTE, STATE_NONE), 0x08: newTransition(ACTION_EXECUTE, STATE_NONE), 0x09: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0a: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0b: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x10: newTransition(ACTION_EXECUTE, STATE_NONE), 0x11: newTransition(ACTION_EXECUTE, STATE_NONE), 0x12: newTransition(ACTION_EXECUTE, STATE_NONE), 0x13: newTransition(ACTION_EXECUTE, STATE_NONE), 0x14: newTransition(ACTION_EXECUTE, STATE_NONE), 0x15: newTransition(ACTION_EXECUTE, STATE_NONE), 0x16: newTransition(ACTION_EXECUTE, STATE_NONE), 0x17: newTransition(ACTION_EXECUTE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x20: newTransition(ACTION_COLLECT, STATE_NONE), 0x21: newTransition(ACTION_COLLECT, STATE_NONE), 0x22: newTransition(ACTION_COLLECT, STATE_NONE), 0x23: newTransition(ACTION_COLLECT, STATE_NONE), 0x24: newTransition(ACTION_COLLECT, STATE_NONE), 0x25: newTransition(ACTION_COLLECT, STATE_NONE), 0x26: newTransition(ACTION_COLLECT, STATE_NONE), 0x27: newTransition(ACTION_COLLECT, STATE_NONE), 0x28: newTransition(ACTION_COLLECT, STATE_NONE), 0x29: newTransition(ACTION_COLLECT, STATE_NONE), 0x2a: newTransition(ACTION_COLLECT, STATE_NONE), 0x2b: newTransition(ACTION_COLLECT, STATE_NONE), 0x2c: newTransition(ACTION_COLLECT, STATE_NONE), 0x2d: newTransition(ACTION_COLLECT, STATE_NONE), 0x2e: newTransition(ACTION_COLLECT, STATE_NONE), 0x2f: newTransition(ACTION_COLLECT, STATE_NONE), 0x30: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x31: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x32: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x33: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x34: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x35: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x36: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x37: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x38: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x39: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x3a: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x3b: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x3c: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x3d: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x3e: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x3f: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x40: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x41: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x42: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x43: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x44: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x45: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x46: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x47: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x48: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x49: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4f: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x50: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x51: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x52: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x53: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x54: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x55: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x56: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x57: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x58: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x59: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5f: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x60: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x61: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x62: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x63: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x64: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x65: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x66: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x67: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x68: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x69: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6f: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x70: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x71: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x72: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x73: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x74: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x75: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x76: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x77: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x78: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x79: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, STATE_CSI_PARAM: map[rune]transition{ 0x00: newTransition(ACTION_EXECUTE, STATE_NONE), 0x01: newTransition(ACTION_EXECUTE, STATE_NONE), 0x02: newTransition(ACTION_EXECUTE, STATE_NONE), 0x03: newTransition(ACTION_EXECUTE, STATE_NONE), 0x04: newTransition(ACTION_EXECUTE, STATE_NONE), 0x05: newTransition(ACTION_EXECUTE, STATE_NONE), 0x06: newTransition(ACTION_EXECUTE, STATE_NONE), 0x07: newTransition(ACTION_EXECUTE, STATE_NONE), 0x08: newTransition(ACTION_EXECUTE, STATE_NONE), 0x09: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0a: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0b: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x10: newTransition(ACTION_EXECUTE, STATE_NONE), 0x11: newTransition(ACTION_EXECUTE, STATE_NONE), 0x12: newTransition(ACTION_EXECUTE, STATE_NONE), 0x13: newTransition(ACTION_EXECUTE, STATE_NONE), 0x14: newTransition(ACTION_EXECUTE, STATE_NONE), 0x15: newTransition(ACTION_EXECUTE, STATE_NONE), 0x16: newTransition(ACTION_EXECUTE, STATE_NONE), 0x17: newTransition(ACTION_EXECUTE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x20: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x21: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x22: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x23: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x24: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x25: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x26: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x27: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x28: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x29: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2a: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2b: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2c: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2d: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2e: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x2f: newTransition(ACTION_COLLECT, STATE_CSI_INTERMEDIATE), 0x30: newTransition(ACTION_PARAM, STATE_NONE), 0x31: newTransition(ACTION_PARAM, STATE_NONE), 0x32: newTransition(ACTION_PARAM, STATE_NONE), 0x33: newTransition(ACTION_PARAM, STATE_NONE), 0x34: newTransition(ACTION_PARAM, STATE_NONE), 0x35: newTransition(ACTION_PARAM, STATE_NONE), 0x36: newTransition(ACTION_PARAM, STATE_NONE), 0x37: newTransition(ACTION_PARAM, STATE_NONE), 0x38: newTransition(ACTION_PARAM, STATE_NONE), 0x39: newTransition(ACTION_PARAM, STATE_NONE), 0x3a: newTransition(ACTION_PARAM, STATE_NONE), 0x3b: newTransition(ACTION_PARAM, STATE_NONE), 0x3c: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x3d: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x3e: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x3f: newTransition(ACTION_NOP, STATE_CSI_IGNORE), 0x40: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x41: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x42: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x43: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x44: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x45: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x46: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x47: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x48: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x49: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x4f: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x50: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x51: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x52: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x53: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x54: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x55: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x56: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x57: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x58: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x59: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x5f: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x60: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x61: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x62: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x63: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x64: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x65: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x66: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x67: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x68: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x69: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x6f: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x70: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x71: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x72: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x73: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x74: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x75: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x76: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x77: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x78: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x79: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7a: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7b: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7c: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7d: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7e: newTransition(ACTION_CSI_DISPATCH, STATE_GROUND), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, STATE_DCS_ENTRY: map[rune]transition{ 0x00: newTransition(ACTION_IGNORE, STATE_NONE), 0x01: newTransition(ACTION_IGNORE, STATE_NONE), 0x02: newTransition(ACTION_IGNORE, STATE_NONE), 0x03: newTransition(ACTION_IGNORE, STATE_NONE), 0x04: newTransition(ACTION_IGNORE, STATE_NONE), 0x05: newTransition(ACTION_IGNORE, STATE_NONE), 0x06: newTransition(ACTION_IGNORE, STATE_NONE), 0x07: newTransition(ACTION_IGNORE, STATE_NONE), 0x08: newTransition(ACTION_IGNORE, STATE_NONE), 0x09: newTransition(ACTION_IGNORE, STATE_NONE), 0x0a: newTransition(ACTION_IGNORE, STATE_NONE), 0x0b: newTransition(ACTION_IGNORE, STATE_NONE), 0x0c: newTransition(ACTION_IGNORE, STATE_NONE), 0x0d: newTransition(ACTION_IGNORE, STATE_NONE), 0x0e: newTransition(ACTION_IGNORE, STATE_NONE), 0x0f: newTransition(ACTION_IGNORE, STATE_NONE), 0x10: newTransition(ACTION_IGNORE, STATE_NONE), 0x11: newTransition(ACTION_IGNORE, STATE_NONE), 0x12: newTransition(ACTION_IGNORE, STATE_NONE), 0x13: newTransition(ACTION_IGNORE, STATE_NONE), 0x14: newTransition(ACTION_IGNORE, STATE_NONE), 0x15: newTransition(ACTION_IGNORE, STATE_NONE), 0x16: newTransition(ACTION_IGNORE, STATE_NONE), 0x17: newTransition(ACTION_IGNORE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_IGNORE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_IGNORE, STATE_NONE), 0x1d: newTransition(ACTION_IGNORE, STATE_NONE), 0x1e: newTransition(ACTION_IGNORE, STATE_NONE), 0x1f: newTransition(ACTION_IGNORE, STATE_NONE), 0x20: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x21: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x22: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x23: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x24: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x25: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x26: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x27: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x28: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x29: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2a: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2b: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2c: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2d: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2e: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2f: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x30: newTransition(ACTION_PARAM, STATE_DCS_PARAM), 0x31: newTransition(ACTION_PARAM, STATE_DCS_PARAM), 0x32: newTransition(ACTION_PARAM, STATE_DCS_PARAM), 0x33: newTransition(ACTION_PARAM, STATE_DCS_PARAM), 0x34: newTransition(ACTION_PARAM, STATE_DCS_PARAM), 0x35: newTransition(ACTION_PARAM, STATE_DCS_PARAM), 0x36: newTransition(ACTION_PARAM, STATE_DCS_PARAM), 0x37: newTransition(ACTION_PARAM, STATE_DCS_PARAM), 0x38: newTransition(ACTION_PARAM, STATE_DCS_PARAM), 0x39: newTransition(ACTION_PARAM, STATE_DCS_PARAM), 0x3a: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x3b: newTransition(ACTION_PARAM, STATE_DCS_PARAM), 0x3c: newTransition(ACTION_COLLECT, STATE_DCS_PARAM), 0x3d: newTransition(ACTION_COLLECT, STATE_DCS_PARAM), 0x3e: newTransition(ACTION_COLLECT, STATE_DCS_PARAM), 0x3f: newTransition(ACTION_COLLECT, STATE_DCS_PARAM), 0x40: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x41: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x42: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x43: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x44: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x45: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x46: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x47: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x48: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x49: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4f: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x50: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x51: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x52: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x53: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x54: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x55: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x56: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x57: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x58: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x59: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5f: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x60: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x61: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x62: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x63: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x64: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x65: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x66: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x67: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x68: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x69: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6f: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x70: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x71: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x72: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x73: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x74: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x75: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x76: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x77: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x78: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x79: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, STATE_DCS_IGNORE: map[rune]transition{ 0x00: newTransition(ACTION_IGNORE, STATE_NONE), 0x01: newTransition(ACTION_IGNORE, STATE_NONE), 0x02: newTransition(ACTION_IGNORE, STATE_NONE), 0x03: newTransition(ACTION_IGNORE, STATE_NONE), 0x04: newTransition(ACTION_IGNORE, STATE_NONE), 0x05: newTransition(ACTION_IGNORE, STATE_NONE), 0x06: newTransition(ACTION_IGNORE, STATE_NONE), 0x07: newTransition(ACTION_IGNORE, STATE_NONE), 0x08: newTransition(ACTION_IGNORE, STATE_NONE), 0x09: newTransition(ACTION_IGNORE, STATE_NONE), 0x0a: newTransition(ACTION_IGNORE, STATE_NONE), 0x0b: newTransition(ACTION_IGNORE, STATE_NONE), 0x0c: newTransition(ACTION_IGNORE, STATE_NONE), 0x0d: newTransition(ACTION_IGNORE, STATE_NONE), 0x0e: newTransition(ACTION_IGNORE, STATE_NONE), 0x0f: newTransition(ACTION_IGNORE, STATE_NONE), 0x10: newTransition(ACTION_IGNORE, STATE_NONE), 0x11: newTransition(ACTION_IGNORE, STATE_NONE), 0x12: newTransition(ACTION_IGNORE, STATE_NONE), 0x13: newTransition(ACTION_IGNORE, STATE_NONE), 0x14: newTransition(ACTION_IGNORE, STATE_NONE), 0x15: newTransition(ACTION_IGNORE, STATE_NONE), 0x16: newTransition(ACTION_IGNORE, STATE_NONE), 0x17: newTransition(ACTION_IGNORE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_IGNORE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_IGNORE, STATE_NONE), 0x1d: newTransition(ACTION_IGNORE, STATE_NONE), 0x1e: newTransition(ACTION_IGNORE, STATE_NONE), 0x1f: newTransition(ACTION_IGNORE, STATE_NONE), 0x20: newTransition(ACTION_IGNORE, STATE_NONE), 0x21: newTransition(ACTION_IGNORE, STATE_NONE), 0x22: newTransition(ACTION_IGNORE, STATE_NONE), 0x23: newTransition(ACTION_IGNORE, STATE_NONE), 0x24: newTransition(ACTION_IGNORE, STATE_NONE), 0x25: newTransition(ACTION_IGNORE, STATE_NONE), 0x26: newTransition(ACTION_IGNORE, STATE_NONE), 0x27: newTransition(ACTION_IGNORE, STATE_NONE), 0x28: newTransition(ACTION_IGNORE, STATE_NONE), 0x29: newTransition(ACTION_IGNORE, STATE_NONE), 0x2a: newTransition(ACTION_IGNORE, STATE_NONE), 0x2b: newTransition(ACTION_IGNORE, STATE_NONE), 0x2c: newTransition(ACTION_IGNORE, STATE_NONE), 0x2d: newTransition(ACTION_IGNORE, STATE_NONE), 0x2e: newTransition(ACTION_IGNORE, STATE_NONE), 0x2f: newTransition(ACTION_IGNORE, STATE_NONE), 0x30: newTransition(ACTION_IGNORE, STATE_NONE), 0x31: newTransition(ACTION_IGNORE, STATE_NONE), 0x32: newTransition(ACTION_IGNORE, STATE_NONE), 0x33: newTransition(ACTION_IGNORE, STATE_NONE), 0x34: newTransition(ACTION_IGNORE, STATE_NONE), 0x35: newTransition(ACTION_IGNORE, STATE_NONE), 0x36: newTransition(ACTION_IGNORE, STATE_NONE), 0x37: newTransition(ACTION_IGNORE, STATE_NONE), 0x38: newTransition(ACTION_IGNORE, STATE_NONE), 0x39: newTransition(ACTION_IGNORE, STATE_NONE), 0x3a: newTransition(ACTION_IGNORE, STATE_NONE), 0x3b: newTransition(ACTION_IGNORE, STATE_NONE), 0x3c: newTransition(ACTION_IGNORE, STATE_NONE), 0x3d: newTransition(ACTION_IGNORE, STATE_NONE), 0x3e: newTransition(ACTION_IGNORE, STATE_NONE), 0x3f: newTransition(ACTION_IGNORE, STATE_NONE), 0x40: newTransition(ACTION_IGNORE, STATE_NONE), 0x41: newTransition(ACTION_IGNORE, STATE_NONE), 0x42: newTransition(ACTION_IGNORE, STATE_NONE), 0x43: newTransition(ACTION_IGNORE, STATE_NONE), 0x44: newTransition(ACTION_IGNORE, STATE_NONE), 0x45: newTransition(ACTION_IGNORE, STATE_NONE), 0x46: newTransition(ACTION_IGNORE, STATE_NONE), 0x47: newTransition(ACTION_IGNORE, STATE_NONE), 0x48: newTransition(ACTION_IGNORE, STATE_NONE), 0x49: newTransition(ACTION_IGNORE, STATE_NONE), 0x4a: newTransition(ACTION_IGNORE, STATE_NONE), 0x4b: newTransition(ACTION_IGNORE, STATE_NONE), 0x4c: newTransition(ACTION_IGNORE, STATE_NONE), 0x4d: newTransition(ACTION_IGNORE, STATE_NONE), 0x4e: newTransition(ACTION_IGNORE, STATE_NONE), 0x4f: newTransition(ACTION_IGNORE, STATE_NONE), 0x50: newTransition(ACTION_IGNORE, STATE_NONE), 0x51: newTransition(ACTION_IGNORE, STATE_NONE), 0x52: newTransition(ACTION_IGNORE, STATE_NONE), 0x53: newTransition(ACTION_IGNORE, STATE_NONE), 0x54: newTransition(ACTION_IGNORE, STATE_NONE), 0x55: newTransition(ACTION_IGNORE, STATE_NONE), 0x56: newTransition(ACTION_IGNORE, STATE_NONE), 0x57: newTransition(ACTION_IGNORE, STATE_NONE), 0x58: newTransition(ACTION_IGNORE, STATE_NONE), 0x59: newTransition(ACTION_IGNORE, STATE_NONE), 0x5a: newTransition(ACTION_IGNORE, STATE_NONE), 0x5b: newTransition(ACTION_IGNORE, STATE_NONE), 0x5c: newTransition(ACTION_IGNORE, STATE_NONE), 0x5d: newTransition(ACTION_IGNORE, STATE_NONE), 0x5e: newTransition(ACTION_IGNORE, STATE_NONE), 0x5f: newTransition(ACTION_IGNORE, STATE_NONE), 0x60: newTransition(ACTION_IGNORE, STATE_NONE), 0x61: newTransition(ACTION_IGNORE, STATE_NONE), 0x62: newTransition(ACTION_IGNORE, STATE_NONE), 0x63: newTransition(ACTION_IGNORE, STATE_NONE), 0x64: newTransition(ACTION_IGNORE, STATE_NONE), 0x65: newTransition(ACTION_IGNORE, STATE_NONE), 0x66: newTransition(ACTION_IGNORE, STATE_NONE), 0x67: newTransition(ACTION_IGNORE, STATE_NONE), 0x68: newTransition(ACTION_IGNORE, STATE_NONE), 0x69: newTransition(ACTION_IGNORE, STATE_NONE), 0x6a: newTransition(ACTION_IGNORE, STATE_NONE), 0x6b: newTransition(ACTION_IGNORE, STATE_NONE), 0x6c: newTransition(ACTION_IGNORE, STATE_NONE), 0x6d: newTransition(ACTION_IGNORE, STATE_NONE), 0x6e: newTransition(ACTION_IGNORE, STATE_NONE), 0x6f: newTransition(ACTION_IGNORE, STATE_NONE), 0x70: newTransition(ACTION_IGNORE, STATE_NONE), 0x71: newTransition(ACTION_IGNORE, STATE_NONE), 0x72: newTransition(ACTION_IGNORE, STATE_NONE), 0x73: newTransition(ACTION_IGNORE, STATE_NONE), 0x74: newTransition(ACTION_IGNORE, STATE_NONE), 0x75: newTransition(ACTION_IGNORE, STATE_NONE), 0x76: newTransition(ACTION_IGNORE, STATE_NONE), 0x77: newTransition(ACTION_IGNORE, STATE_NONE), 0x78: newTransition(ACTION_IGNORE, STATE_NONE), 0x79: newTransition(ACTION_IGNORE, STATE_NONE), 0x7a: newTransition(ACTION_IGNORE, STATE_NONE), 0x7b: newTransition(ACTION_IGNORE, STATE_NONE), 0x7c: newTransition(ACTION_IGNORE, STATE_NONE), 0x7d: newTransition(ACTION_IGNORE, STATE_NONE), 0x7e: newTransition(ACTION_IGNORE, STATE_NONE), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, STATE_DCS_INTERMEDIATE: map[rune]transition{ 0x00: newTransition(ACTION_IGNORE, STATE_NONE), 0x01: newTransition(ACTION_IGNORE, STATE_NONE), 0x02: newTransition(ACTION_IGNORE, STATE_NONE), 0x03: newTransition(ACTION_IGNORE, STATE_NONE), 0x04: newTransition(ACTION_IGNORE, STATE_NONE), 0x05: newTransition(ACTION_IGNORE, STATE_NONE), 0x06: newTransition(ACTION_IGNORE, STATE_NONE), 0x07: newTransition(ACTION_IGNORE, STATE_NONE), 0x08: newTransition(ACTION_IGNORE, STATE_NONE), 0x09: newTransition(ACTION_IGNORE, STATE_NONE), 0x0a: newTransition(ACTION_IGNORE, STATE_NONE), 0x0b: newTransition(ACTION_IGNORE, STATE_NONE), 0x0c: newTransition(ACTION_IGNORE, STATE_NONE), 0x0d: newTransition(ACTION_IGNORE, STATE_NONE), 0x0e: newTransition(ACTION_IGNORE, STATE_NONE), 0x0f: newTransition(ACTION_IGNORE, STATE_NONE), 0x10: newTransition(ACTION_IGNORE, STATE_NONE), 0x11: newTransition(ACTION_IGNORE, STATE_NONE), 0x12: newTransition(ACTION_IGNORE, STATE_NONE), 0x13: newTransition(ACTION_IGNORE, STATE_NONE), 0x14: newTransition(ACTION_IGNORE, STATE_NONE), 0x15: newTransition(ACTION_IGNORE, STATE_NONE), 0x16: newTransition(ACTION_IGNORE, STATE_NONE), 0x17: newTransition(ACTION_IGNORE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_IGNORE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_IGNORE, STATE_NONE), 0x1d: newTransition(ACTION_IGNORE, STATE_NONE), 0x1e: newTransition(ACTION_IGNORE, STATE_NONE), 0x1f: newTransition(ACTION_IGNORE, STATE_NONE), 0x20: newTransition(ACTION_COLLECT, STATE_NONE), 0x21: newTransition(ACTION_COLLECT, STATE_NONE), 0x22: newTransition(ACTION_COLLECT, STATE_NONE), 0x23: newTransition(ACTION_COLLECT, STATE_NONE), 0x24: newTransition(ACTION_COLLECT, STATE_NONE), 0x25: newTransition(ACTION_COLLECT, STATE_NONE), 0x26: newTransition(ACTION_COLLECT, STATE_NONE), 0x27: newTransition(ACTION_COLLECT, STATE_NONE), 0x28: newTransition(ACTION_COLLECT, STATE_NONE), 0x29: newTransition(ACTION_COLLECT, STATE_NONE), 0x2a: newTransition(ACTION_COLLECT, STATE_NONE), 0x2b: newTransition(ACTION_COLLECT, STATE_NONE), 0x2c: newTransition(ACTION_COLLECT, STATE_NONE), 0x2d: newTransition(ACTION_COLLECT, STATE_NONE), 0x2e: newTransition(ACTION_COLLECT, STATE_NONE), 0x2f: newTransition(ACTION_COLLECT, STATE_NONE), 0x30: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x31: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x32: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x33: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x34: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x35: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x36: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x37: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x38: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x39: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x3a: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x3b: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x3c: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x3d: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x3e: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x3f: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x40: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x41: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x42: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x43: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x44: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x45: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x46: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x47: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x48: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x49: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4f: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x50: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x51: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x52: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x53: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x54: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x55: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x56: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x57: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x58: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x59: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5f: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x60: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x61: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x62: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x63: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x64: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x65: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x66: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x67: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x68: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x69: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6f: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x70: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x71: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x72: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x73: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x74: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x75: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x76: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x77: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x78: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x79: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, STATE_DCS_PARAM: map[rune]transition{ 0x00: newTransition(ACTION_IGNORE, STATE_NONE), 0x01: newTransition(ACTION_IGNORE, STATE_NONE), 0x02: newTransition(ACTION_IGNORE, STATE_NONE), 0x03: newTransition(ACTION_IGNORE, STATE_NONE), 0x04: newTransition(ACTION_IGNORE, STATE_NONE), 0x05: newTransition(ACTION_IGNORE, STATE_NONE), 0x06: newTransition(ACTION_IGNORE, STATE_NONE), 0x07: newTransition(ACTION_IGNORE, STATE_NONE), 0x08: newTransition(ACTION_IGNORE, STATE_NONE), 0x09: newTransition(ACTION_IGNORE, STATE_NONE), 0x0a: newTransition(ACTION_IGNORE, STATE_NONE), 0x0b: newTransition(ACTION_IGNORE, STATE_NONE), 0x0c: newTransition(ACTION_IGNORE, STATE_NONE), 0x0d: newTransition(ACTION_IGNORE, STATE_NONE), 0x0e: newTransition(ACTION_IGNORE, STATE_NONE), 0x0f: newTransition(ACTION_IGNORE, STATE_NONE), 0x10: newTransition(ACTION_IGNORE, STATE_NONE), 0x11: newTransition(ACTION_IGNORE, STATE_NONE), 0x12: newTransition(ACTION_IGNORE, STATE_NONE), 0x13: newTransition(ACTION_IGNORE, STATE_NONE), 0x14: newTransition(ACTION_IGNORE, STATE_NONE), 0x15: newTransition(ACTION_IGNORE, STATE_NONE), 0x16: newTransition(ACTION_IGNORE, STATE_NONE), 0x17: newTransition(ACTION_IGNORE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_IGNORE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_IGNORE, STATE_NONE), 0x1d: newTransition(ACTION_IGNORE, STATE_NONE), 0x1e: newTransition(ACTION_IGNORE, STATE_NONE), 0x1f: newTransition(ACTION_IGNORE, STATE_NONE), 0x20: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x21: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x22: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x23: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x24: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x25: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x26: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x27: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x28: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x29: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2a: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2b: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2c: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2d: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2e: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x2f: newTransition(ACTION_COLLECT, STATE_DCS_INTERMEDIATE), 0x30: newTransition(ACTION_PARAM, STATE_NONE), 0x31: newTransition(ACTION_PARAM, STATE_NONE), 0x32: newTransition(ACTION_PARAM, STATE_NONE), 0x33: newTransition(ACTION_PARAM, STATE_NONE), 0x34: newTransition(ACTION_PARAM, STATE_NONE), 0x35: newTransition(ACTION_PARAM, STATE_NONE), 0x36: newTransition(ACTION_PARAM, STATE_NONE), 0x37: newTransition(ACTION_PARAM, STATE_NONE), 0x38: newTransition(ACTION_PARAM, STATE_NONE), 0x39: newTransition(ACTION_PARAM, STATE_NONE), 0x3a: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x3b: newTransition(ACTION_PARAM, STATE_NONE), 0x3c: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x3d: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x3e: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x3f: newTransition(ACTION_NOP, STATE_DCS_IGNORE), 0x40: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x41: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x42: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x43: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x44: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x45: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x46: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x47: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x48: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x49: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x4f: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x50: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x51: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x52: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x53: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x54: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x55: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x56: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x57: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x58: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x59: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x5f: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x60: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x61: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x62: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x63: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x64: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x65: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x66: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x67: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x68: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x69: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x6f: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x70: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x71: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x72: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x73: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x74: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x75: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x76: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x77: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x78: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x79: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7a: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7b: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7c: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7d: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7e: newTransition(ACTION_NOP, STATE_DCS_PASSThROUGH), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, STATE_DCS_PASSThROUGH: map[rune]transition{ 0x00: newTransition(ACTION_PUT, STATE_NONE), 0x01: newTransition(ACTION_PUT, STATE_NONE), 0x02: newTransition(ACTION_PUT, STATE_NONE), 0x03: newTransition(ACTION_PUT, STATE_NONE), 0x04: newTransition(ACTION_PUT, STATE_NONE), 0x05: newTransition(ACTION_PUT, STATE_NONE), 0x06: newTransition(ACTION_PUT, STATE_NONE), 0x07: newTransition(ACTION_PUT, STATE_NONE), 0x08: newTransition(ACTION_PUT, STATE_NONE), 0x09: newTransition(ACTION_PUT, STATE_NONE), 0x0a: newTransition(ACTION_PUT, STATE_NONE), 0x0b: newTransition(ACTION_PUT, STATE_NONE), 0x0c: newTransition(ACTION_PUT, STATE_NONE), 0x0d: newTransition(ACTION_PUT, STATE_NONE), 0x0e: newTransition(ACTION_PUT, STATE_NONE), 0x0f: newTransition(ACTION_PUT, STATE_NONE), 0x10: newTransition(ACTION_PUT, STATE_NONE), 0x11: newTransition(ACTION_PUT, STATE_NONE), 0x12: newTransition(ACTION_PUT, STATE_NONE), 0x13: newTransition(ACTION_PUT, STATE_NONE), 0x14: newTransition(ACTION_PUT, STATE_NONE), 0x15: newTransition(ACTION_PUT, STATE_NONE), 0x16: newTransition(ACTION_PUT, STATE_NONE), 0x17: newTransition(ACTION_PUT, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_PUT, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_PUT, STATE_NONE), 0x1d: newTransition(ACTION_PUT, STATE_NONE), 0x1e: newTransition(ACTION_PUT, STATE_NONE), 0x1f: newTransition(ACTION_PUT, STATE_NONE), 0x20: newTransition(ACTION_PUT, STATE_NONE), 0x21: newTransition(ACTION_PUT, STATE_NONE), 0x22: newTransition(ACTION_PUT, STATE_NONE), 0x23: newTransition(ACTION_PUT, STATE_NONE), 0x24: newTransition(ACTION_PUT, STATE_NONE), 0x25: newTransition(ACTION_PUT, STATE_NONE), 0x26: newTransition(ACTION_PUT, STATE_NONE), 0x27: newTransition(ACTION_PUT, STATE_NONE), 0x28: newTransition(ACTION_PUT, STATE_NONE), 0x29: newTransition(ACTION_PUT, STATE_NONE), 0x2a: newTransition(ACTION_PUT, STATE_NONE), 0x2b: newTransition(ACTION_PUT, STATE_NONE), 0x2c: newTransition(ACTION_PUT, STATE_NONE), 0x2d: newTransition(ACTION_PUT, STATE_NONE), 0x2e: newTransition(ACTION_PUT, STATE_NONE), 0x2f: newTransition(ACTION_PUT, STATE_NONE), 0x30: newTransition(ACTION_PUT, STATE_NONE), 0x31: newTransition(ACTION_PUT, STATE_NONE), 0x32: newTransition(ACTION_PUT, STATE_NONE), 0x33: newTransition(ACTION_PUT, STATE_NONE), 0x34: newTransition(ACTION_PUT, STATE_NONE), 0x35: newTransition(ACTION_PUT, STATE_NONE), 0x36: newTransition(ACTION_PUT, STATE_NONE), 0x37: newTransition(ACTION_PUT, STATE_NONE), 0x38: newTransition(ACTION_PUT, STATE_NONE), 0x39: newTransition(ACTION_PUT, STATE_NONE), 0x3a: newTransition(ACTION_PUT, STATE_NONE), 0x3b: newTransition(ACTION_PUT, STATE_NONE), 0x3c: newTransition(ACTION_PUT, STATE_NONE), 0x3d: newTransition(ACTION_PUT, STATE_NONE), 0x3e: newTransition(ACTION_PUT, STATE_NONE), 0x3f: newTransition(ACTION_PUT, STATE_NONE), 0x40: newTransition(ACTION_PUT, STATE_NONE), 0x41: newTransition(ACTION_PUT, STATE_NONE), 0x42: newTransition(ACTION_PUT, STATE_NONE), 0x43: newTransition(ACTION_PUT, STATE_NONE), 0x44: newTransition(ACTION_PUT, STATE_NONE), 0x45: newTransition(ACTION_PUT, STATE_NONE), 0x46: newTransition(ACTION_PUT, STATE_NONE), 0x47: newTransition(ACTION_PUT, STATE_NONE), 0x48: newTransition(ACTION_PUT, STATE_NONE), 0x49: newTransition(ACTION_PUT, STATE_NONE), 0x4a: newTransition(ACTION_PUT, STATE_NONE), 0x4b: newTransition(ACTION_PUT, STATE_NONE), 0x4c: newTransition(ACTION_PUT, STATE_NONE), 0x4d: newTransition(ACTION_PUT, STATE_NONE), 0x4e: newTransition(ACTION_PUT, STATE_NONE), 0x4f: newTransition(ACTION_PUT, STATE_NONE), 0x50: newTransition(ACTION_PUT, STATE_NONE), 0x51: newTransition(ACTION_PUT, STATE_NONE), 0x52: newTransition(ACTION_PUT, STATE_NONE), 0x53: newTransition(ACTION_PUT, STATE_NONE), 0x54: newTransition(ACTION_PUT, STATE_NONE), 0x55: newTransition(ACTION_PUT, STATE_NONE), 0x56: newTransition(ACTION_PUT, STATE_NONE), 0x57: newTransition(ACTION_PUT, STATE_NONE), 0x58: newTransition(ACTION_PUT, STATE_NONE), 0x59: newTransition(ACTION_PUT, STATE_NONE), 0x5a: newTransition(ACTION_PUT, STATE_NONE), 0x5b: newTransition(ACTION_PUT, STATE_NONE), 0x5c: newTransition(ACTION_PUT, STATE_NONE), 0x5d: newTransition(ACTION_PUT, STATE_NONE), 0x5e: newTransition(ACTION_PUT, STATE_NONE), 0x5f: newTransition(ACTION_PUT, STATE_NONE), 0x60: newTransition(ACTION_PUT, STATE_NONE), 0x61: newTransition(ACTION_PUT, STATE_NONE), 0x62: newTransition(ACTION_PUT, STATE_NONE), 0x63: newTransition(ACTION_PUT, STATE_NONE), 0x64: newTransition(ACTION_PUT, STATE_NONE), 0x65: newTransition(ACTION_PUT, STATE_NONE), 0x66: newTransition(ACTION_PUT, STATE_NONE), 0x67: newTransition(ACTION_PUT, STATE_NONE), 0x68: newTransition(ACTION_PUT, STATE_NONE), 0x69: newTransition(ACTION_PUT, STATE_NONE), 0x6a: newTransition(ACTION_PUT, STATE_NONE), 0x6b: newTransition(ACTION_PUT, STATE_NONE), 0x6c: newTransition(ACTION_PUT, STATE_NONE), 0x6d: newTransition(ACTION_PUT, STATE_NONE), 0x6e: newTransition(ACTION_PUT, STATE_NONE), 0x6f: newTransition(ACTION_PUT, STATE_NONE), 0x70: newTransition(ACTION_PUT, STATE_NONE), 0x71: newTransition(ACTION_PUT, STATE_NONE), 0x72: newTransition(ACTION_PUT, STATE_NONE), 0x73: newTransition(ACTION_PUT, STATE_NONE), 0x74: newTransition(ACTION_PUT, STATE_NONE), 0x75: newTransition(ACTION_PUT, STATE_NONE), 0x76: newTransition(ACTION_PUT, STATE_NONE), 0x77: newTransition(ACTION_PUT, STATE_NONE), 0x78: newTransition(ACTION_PUT, STATE_NONE), 0x79: newTransition(ACTION_PUT, STATE_NONE), 0x7a: newTransition(ACTION_PUT, STATE_NONE), 0x7b: newTransition(ACTION_PUT, STATE_NONE), 0x7c: newTransition(ACTION_PUT, STATE_NONE), 0x7d: newTransition(ACTION_PUT, STATE_NONE), 0x7e: newTransition(ACTION_PUT, STATE_NONE), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, STATE_ESCAPE: map[rune]transition{ 0x00: newTransition(ACTION_EXECUTE, STATE_NONE), 0x01: newTransition(ACTION_EXECUTE, STATE_NONE), 0x02: newTransition(ACTION_EXECUTE, STATE_NONE), 0x03: newTransition(ACTION_EXECUTE, STATE_NONE), 0x04: newTransition(ACTION_EXECUTE, STATE_NONE), 0x05: newTransition(ACTION_EXECUTE, STATE_NONE), 0x06: newTransition(ACTION_EXECUTE, STATE_NONE), 0x07: newTransition(ACTION_EXECUTE, STATE_NONE), 0x08: newTransition(ACTION_EXECUTE, STATE_NONE), 0x09: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0a: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0b: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x10: newTransition(ACTION_EXECUTE, STATE_NONE), 0x11: newTransition(ACTION_EXECUTE, STATE_NONE), 0x12: newTransition(ACTION_EXECUTE, STATE_NONE), 0x13: newTransition(ACTION_EXECUTE, STATE_NONE), 0x14: newTransition(ACTION_EXECUTE, STATE_NONE), 0x15: newTransition(ACTION_EXECUTE, STATE_NONE), 0x16: newTransition(ACTION_EXECUTE, STATE_NONE), 0x17: newTransition(ACTION_EXECUTE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x20: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x21: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x22: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x23: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x24: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x25: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x26: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x27: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x28: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x29: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x2a: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x2b: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x2c: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x2d: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x2e: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x2f: newTransition(ACTION_COLLECT, STATE_ESCAPE_INTERMEDIATE), 0x30: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x31: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x32: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x33: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x34: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x35: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x36: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x37: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x38: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x39: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3a: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3b: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3c: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3d: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3e: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3f: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x40: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x41: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x42: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x43: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x44: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x45: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x46: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x47: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x48: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x49: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4a: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4b: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4c: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4d: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4e: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4f: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x50: newTransition(ACTION_NOP, STATE_DCS_ENTRY), 0x51: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x52: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x53: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x54: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x55: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x56: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x57: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x58: newTransition(ACTION_NOP, STATE_SOS_PM_APC_STRING), 0x59: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x5a: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x5b: newTransition(ACTION_NOP, STATE_CSI_ENTRY), 0x5c: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x5d: newTransition(ACTION_NOP, STATE_OSC_STRING), 0x5e: newTransition(ACTION_NOP, STATE_SOS_PM_APC_STRING), 0x5f: newTransition(ACTION_NOP, STATE_SOS_PM_APC_STRING), 0x60: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x61: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x62: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x63: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x64: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x65: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x66: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x67: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x68: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x69: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6a: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6b: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6c: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6d: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6e: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6f: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x70: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x71: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x72: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x73: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x74: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x75: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x76: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x77: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x78: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x79: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7a: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7b: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7c: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7d: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7e: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, STATE_ESCAPE_INTERMEDIATE: map[rune]transition{ 0x00: newTransition(ACTION_EXECUTE, STATE_NONE), 0x01: newTransition(ACTION_EXECUTE, STATE_NONE), 0x02: newTransition(ACTION_EXECUTE, STATE_NONE), 0x03: newTransition(ACTION_EXECUTE, STATE_NONE), 0x04: newTransition(ACTION_EXECUTE, STATE_NONE), 0x05: newTransition(ACTION_EXECUTE, STATE_NONE), 0x06: newTransition(ACTION_EXECUTE, STATE_NONE), 0x07: newTransition(ACTION_EXECUTE, STATE_NONE), 0x08: newTransition(ACTION_EXECUTE, STATE_NONE), 0x09: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0a: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0b: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x10: newTransition(ACTION_EXECUTE, STATE_NONE), 0x11: newTransition(ACTION_EXECUTE, STATE_NONE), 0x12: newTransition(ACTION_EXECUTE, STATE_NONE), 0x13: newTransition(ACTION_EXECUTE, STATE_NONE), 0x14: newTransition(ACTION_EXECUTE, STATE_NONE), 0x15: newTransition(ACTION_EXECUTE, STATE_NONE), 0x16: newTransition(ACTION_EXECUTE, STATE_NONE), 0x17: newTransition(ACTION_EXECUTE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x20: newTransition(ACTION_COLLECT, STATE_NONE), 0x21: newTransition(ACTION_COLLECT, STATE_NONE), 0x22: newTransition(ACTION_COLLECT, STATE_NONE), 0x23: newTransition(ACTION_COLLECT, STATE_NONE), 0x24: newTransition(ACTION_COLLECT, STATE_NONE), 0x25: newTransition(ACTION_COLLECT, STATE_NONE), 0x26: newTransition(ACTION_COLLECT, STATE_NONE), 0x27: newTransition(ACTION_COLLECT, STATE_NONE), 0x28: newTransition(ACTION_COLLECT, STATE_NONE), 0x29: newTransition(ACTION_COLLECT, STATE_NONE), 0x2a: newTransition(ACTION_COLLECT, STATE_NONE), 0x2b: newTransition(ACTION_COLLECT, STATE_NONE), 0x2c: newTransition(ACTION_COLLECT, STATE_NONE), 0x2d: newTransition(ACTION_COLLECT, STATE_NONE), 0x2e: newTransition(ACTION_COLLECT, STATE_NONE), 0x2f: newTransition(ACTION_COLLECT, STATE_NONE), 0x30: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x31: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x32: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x33: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x34: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x35: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x36: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x37: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x38: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x39: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3a: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3b: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3c: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3d: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3e: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x3f: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x40: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x41: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x42: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x43: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x44: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x45: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x46: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x47: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x48: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x49: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4a: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4b: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4c: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4d: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4e: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x4f: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x50: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x51: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x52: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x53: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x54: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x55: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x56: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x57: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x58: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x59: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x5a: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x5b: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x5c: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x5d: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x5e: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x5f: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x60: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x61: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x62: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x63: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x64: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x65: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x66: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x67: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x68: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x69: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6a: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6b: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6c: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6d: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6e: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x6f: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x70: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x71: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x72: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x73: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x74: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x75: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x76: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x77: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x78: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x79: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7a: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7b: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7c: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7d: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7e: newTransition(ACTION_ESC_DISPATCH, STATE_GROUND), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, STATE_GROUND: map[rune]transition{ 0x00: newTransition(ACTION_EXECUTE, STATE_NONE), 0x01: newTransition(ACTION_EXECUTE, STATE_NONE), 0x02: newTransition(ACTION_EXECUTE, STATE_NONE), 0x03: newTransition(ACTION_EXECUTE, STATE_NONE), 0x04: newTransition(ACTION_EXECUTE, STATE_NONE), 0x05: newTransition(ACTION_EXECUTE, STATE_NONE), 0x06: newTransition(ACTION_EXECUTE, STATE_NONE), 0x07: newTransition(ACTION_EXECUTE, STATE_NONE), 0x08: newTransition(ACTION_EXECUTE, STATE_NONE), 0x09: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0a: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0b: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x0f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x10: newTransition(ACTION_EXECUTE, STATE_NONE), 0x11: newTransition(ACTION_EXECUTE, STATE_NONE), 0x12: newTransition(ACTION_EXECUTE, STATE_NONE), 0x13: newTransition(ACTION_EXECUTE, STATE_NONE), 0x14: newTransition(ACTION_EXECUTE, STATE_NONE), 0x15: newTransition(ACTION_EXECUTE, STATE_NONE), 0x16: newTransition(ACTION_EXECUTE, STATE_NONE), 0x17: newTransition(ACTION_EXECUTE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1d: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1e: newTransition(ACTION_EXECUTE, STATE_NONE), 0x1f: newTransition(ACTION_EXECUTE, STATE_NONE), 0x20: newTransition(ACTION_PRINT, STATE_NONE), 0x21: newTransition(ACTION_PRINT, STATE_NONE), 0x22: newTransition(ACTION_PRINT, STATE_NONE), 0x23: newTransition(ACTION_PRINT, STATE_NONE), 0x24: newTransition(ACTION_PRINT, STATE_NONE), 0x25: newTransition(ACTION_PRINT, STATE_NONE), 0x26: newTransition(ACTION_PRINT, STATE_NONE), 0x27: newTransition(ACTION_PRINT, STATE_NONE), 0x28: newTransition(ACTION_PRINT, STATE_NONE), 0x29: newTransition(ACTION_PRINT, STATE_NONE), 0x2a: newTransition(ACTION_PRINT, STATE_NONE), 0x2b: newTransition(ACTION_PRINT, STATE_NONE), 0x2c: newTransition(ACTION_PRINT, STATE_NONE), 0x2d: newTransition(ACTION_PRINT, STATE_NONE), 0x2e: newTransition(ACTION_PRINT, STATE_NONE), 0x2f: newTransition(ACTION_PRINT, STATE_NONE), 0x30: newTransition(ACTION_PRINT, STATE_NONE), 0x31: newTransition(ACTION_PRINT, STATE_NONE), 0x32: newTransition(ACTION_PRINT, STATE_NONE), 0x33: newTransition(ACTION_PRINT, STATE_NONE), 0x34: newTransition(ACTION_PRINT, STATE_NONE), 0x35: newTransition(ACTION_PRINT, STATE_NONE), 0x36: newTransition(ACTION_PRINT, STATE_NONE), 0x37: newTransition(ACTION_PRINT, STATE_NONE), 0x38: newTransition(ACTION_PRINT, STATE_NONE), 0x39: newTransition(ACTION_PRINT, STATE_NONE), 0x3a: newTransition(ACTION_PRINT, STATE_NONE), 0x3b: newTransition(ACTION_PRINT, STATE_NONE), 0x3c: newTransition(ACTION_PRINT, STATE_NONE), 0x3d: newTransition(ACTION_PRINT, STATE_NONE), 0x3e: newTransition(ACTION_PRINT, STATE_NONE), 0x3f: newTransition(ACTION_PRINT, STATE_NONE), 0x40: newTransition(ACTION_PRINT, STATE_NONE), 0x41: newTransition(ACTION_PRINT, STATE_NONE), 0x42: newTransition(ACTION_PRINT, STATE_NONE), 0x43: newTransition(ACTION_PRINT, STATE_NONE), 0x44: newTransition(ACTION_PRINT, STATE_NONE), 0x45: newTransition(ACTION_PRINT, STATE_NONE), 0x46: newTransition(ACTION_PRINT, STATE_NONE), 0x47: newTransition(ACTION_PRINT, STATE_NONE), 0x48: newTransition(ACTION_PRINT, STATE_NONE), 0x49: newTransition(ACTION_PRINT, STATE_NONE), 0x4a: newTransition(ACTION_PRINT, STATE_NONE), 0x4b: newTransition(ACTION_PRINT, STATE_NONE), 0x4c: newTransition(ACTION_PRINT, STATE_NONE), 0x4d: newTransition(ACTION_PRINT, STATE_NONE), 0x4e: newTransition(ACTION_PRINT, STATE_NONE), 0x4f: newTransition(ACTION_PRINT, STATE_NONE), 0x50: newTransition(ACTION_PRINT, STATE_NONE), 0x51: newTransition(ACTION_PRINT, STATE_NONE), 0x52: newTransition(ACTION_PRINT, STATE_NONE), 0x53: newTransition(ACTION_PRINT, STATE_NONE), 0x54: newTransition(ACTION_PRINT, STATE_NONE), 0x55: newTransition(ACTION_PRINT, STATE_NONE), 0x56: newTransition(ACTION_PRINT, STATE_NONE), 0x57: newTransition(ACTION_PRINT, STATE_NONE), 0x58: newTransition(ACTION_PRINT, STATE_NONE), 0x59: newTransition(ACTION_PRINT, STATE_NONE), 0x5a: newTransition(ACTION_PRINT, STATE_NONE), 0x5b: newTransition(ACTION_PRINT, STATE_NONE), 0x5c: newTransition(ACTION_PRINT, STATE_NONE), 0x5d: newTransition(ACTION_PRINT, STATE_NONE), 0x5e: newTransition(ACTION_PRINT, STATE_NONE), 0x5f: newTransition(ACTION_PRINT, STATE_NONE), 0x60: newTransition(ACTION_PRINT, STATE_NONE), 0x61: newTransition(ACTION_PRINT, STATE_NONE), 0x62: newTransition(ACTION_PRINT, STATE_NONE), 0x63: newTransition(ACTION_PRINT, STATE_NONE), 0x64: newTransition(ACTION_PRINT, STATE_NONE), 0x65: newTransition(ACTION_PRINT, STATE_NONE), 0x66: newTransition(ACTION_PRINT, STATE_NONE), 0x67: newTransition(ACTION_PRINT, STATE_NONE), 0x68: newTransition(ACTION_PRINT, STATE_NONE), 0x69: newTransition(ACTION_PRINT, STATE_NONE), 0x6a: newTransition(ACTION_PRINT, STATE_NONE), 0x6b: newTransition(ACTION_PRINT, STATE_NONE), 0x6c: newTransition(ACTION_PRINT, STATE_NONE), 0x6d: newTransition(ACTION_PRINT, STATE_NONE), 0x6e: newTransition(ACTION_PRINT, STATE_NONE), 0x6f: newTransition(ACTION_PRINT, STATE_NONE), 0x70: newTransition(ACTION_PRINT, STATE_NONE), 0x71: newTransition(ACTION_PRINT, STATE_NONE), 0x72: newTransition(ACTION_PRINT, STATE_NONE), 0x73: newTransition(ACTION_PRINT, STATE_NONE), 0x74: newTransition(ACTION_PRINT, STATE_NONE), 0x75: newTransition(ACTION_PRINT, STATE_NONE), 0x76: newTransition(ACTION_PRINT, STATE_NONE), 0x77: newTransition(ACTION_PRINT, STATE_NONE), 0x78: newTransition(ACTION_PRINT, STATE_NONE), 0x79: newTransition(ACTION_PRINT, STATE_NONE), 0x7a: newTransition(ACTION_PRINT, STATE_NONE), 0x7b: newTransition(ACTION_PRINT, STATE_NONE), 0x7c: newTransition(ACTION_PRINT, STATE_NONE), 0x7d: newTransition(ACTION_PRINT, STATE_NONE), 0x7e: newTransition(ACTION_PRINT, STATE_NONE), 0x7f: newTransition(ACTION_PRINT, STATE_NONE), }, STATE_OSC_STRING: map[rune]transition{ 0x00: newTransition(ACTION_IGNORE, STATE_NONE), 0x01: newTransition(ACTION_IGNORE, STATE_NONE), 0x02: newTransition(ACTION_IGNORE, STATE_NONE), 0x03: newTransition(ACTION_IGNORE, STATE_NONE), 0x04: newTransition(ACTION_IGNORE, STATE_NONE), 0x05: newTransition(ACTION_IGNORE, STATE_NONE), 0x06: newTransition(ACTION_IGNORE, STATE_NONE), 0x07: newTransition(ACTION_OSC_END, STATE_GROUND), 0x08: newTransition(ACTION_IGNORE, STATE_NONE), 0x09: newTransition(ACTION_IGNORE, STATE_NONE), 0x0a: newTransition(ACTION_IGNORE, STATE_NONE), 0x0b: newTransition(ACTION_IGNORE, STATE_NONE), 0x0c: newTransition(ACTION_IGNORE, STATE_NONE), 0x0d: newTransition(ACTION_IGNORE, STATE_NONE), 0x0e: newTransition(ACTION_IGNORE, STATE_NONE), 0x0f: newTransition(ACTION_IGNORE, STATE_NONE), 0x10: newTransition(ACTION_IGNORE, STATE_NONE), 0x11: newTransition(ACTION_IGNORE, STATE_NONE), 0x12: newTransition(ACTION_IGNORE, STATE_NONE), 0x13: newTransition(ACTION_IGNORE, STATE_NONE), 0x14: newTransition(ACTION_IGNORE, STATE_NONE), 0x15: newTransition(ACTION_IGNORE, STATE_NONE), 0x16: newTransition(ACTION_IGNORE, STATE_NONE), 0x17: newTransition(ACTION_IGNORE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_IGNORE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_IGNORE, STATE_NONE), 0x1d: newTransition(ACTION_IGNORE, STATE_NONE), 0x1e: newTransition(ACTION_IGNORE, STATE_NONE), 0x1f: newTransition(ACTION_IGNORE, STATE_NONE), 0x20: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x21: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x22: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x23: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x24: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x25: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x26: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x27: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x28: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x29: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x2a: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x2b: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x2c: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x2d: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x2e: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x2f: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x30: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x31: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x32: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x33: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x34: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x35: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x36: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x37: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x38: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x39: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x3a: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x3b: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x3c: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x3d: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x3e: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x3f: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x40: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x41: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x42: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x43: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x44: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x45: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x46: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x47: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x48: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x49: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x4a: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x4b: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x4c: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x4d: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x4e: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x4f: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x50: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x51: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x52: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x53: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x54: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x55: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x56: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x57: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x58: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x59: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x5a: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x5b: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x5c: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x5d: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x5e: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x5f: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x60: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x61: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x62: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x63: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x64: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x65: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x66: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x67: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x68: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x69: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x6a: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x6b: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x6c: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x6d: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x6e: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x6f: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x70: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x71: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x72: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x73: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x74: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x75: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x76: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x77: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x78: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x79: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x7a: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x7b: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x7c: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x7d: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x7e: newTransition(ACTION_OSC_PUT, STATE_NONE), 0x7f: newTransition(ACTION_OSC_PUT, STATE_NONE), }, STATE_SOS_PM_APC_STRING: map[rune]transition{ 0x00: newTransition(ACTION_IGNORE, STATE_NONE), 0x01: newTransition(ACTION_IGNORE, STATE_NONE), 0x02: newTransition(ACTION_IGNORE, STATE_NONE), 0x03: newTransition(ACTION_IGNORE, STATE_NONE), 0x04: newTransition(ACTION_IGNORE, STATE_NONE), 0x05: newTransition(ACTION_IGNORE, STATE_NONE), 0x06: newTransition(ACTION_IGNORE, STATE_NONE), 0x07: newTransition(ACTION_IGNORE, STATE_NONE), 0x08: newTransition(ACTION_IGNORE, STATE_NONE), 0x09: newTransition(ACTION_IGNORE, STATE_NONE), 0x0a: newTransition(ACTION_IGNORE, STATE_NONE), 0x0b: newTransition(ACTION_IGNORE, STATE_NONE), 0x0c: newTransition(ACTION_IGNORE, STATE_NONE), 0x0d: newTransition(ACTION_IGNORE, STATE_NONE), 0x0e: newTransition(ACTION_IGNORE, STATE_NONE), 0x0f: newTransition(ACTION_IGNORE, STATE_NONE), 0x10: newTransition(ACTION_IGNORE, STATE_NONE), 0x11: newTransition(ACTION_IGNORE, STATE_NONE), 0x12: newTransition(ACTION_IGNORE, STATE_NONE), 0x13: newTransition(ACTION_IGNORE, STATE_NONE), 0x14: newTransition(ACTION_IGNORE, STATE_NONE), 0x15: newTransition(ACTION_IGNORE, STATE_NONE), 0x16: newTransition(ACTION_IGNORE, STATE_NONE), 0x17: newTransition(ACTION_IGNORE, STATE_NONE), 0x18: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x19: newTransition(ACTION_IGNORE, STATE_NONE), 0x1a: newTransition(ACTION_EXECUTE, STATE_GROUND), 0x1b: newTransition(ACTION_NOP, STATE_ESCAPE), 0x1c: newTransition(ACTION_IGNORE, STATE_NONE), 0x1d: newTransition(ACTION_IGNORE, STATE_NONE), 0x1e: newTransition(ACTION_IGNORE, STATE_NONE), 0x1f: newTransition(ACTION_IGNORE, STATE_NONE), 0x20: newTransition(ACTION_IGNORE, STATE_NONE), 0x21: newTransition(ACTION_IGNORE, STATE_NONE), 0x22: newTransition(ACTION_IGNORE, STATE_NONE), 0x23: newTransition(ACTION_IGNORE, STATE_NONE), 0x24: newTransition(ACTION_IGNORE, STATE_NONE), 0x25: newTransition(ACTION_IGNORE, STATE_NONE), 0x26: newTransition(ACTION_IGNORE, STATE_NONE), 0x27: newTransition(ACTION_IGNORE, STATE_NONE), 0x28: newTransition(ACTION_IGNORE, STATE_NONE), 0x29: newTransition(ACTION_IGNORE, STATE_NONE), 0x2a: newTransition(ACTION_IGNORE, STATE_NONE), 0x2b: newTransition(ACTION_IGNORE, STATE_NONE), 0x2c: newTransition(ACTION_IGNORE, STATE_NONE), 0x2d: newTransition(ACTION_IGNORE, STATE_NONE), 0x2e: newTransition(ACTION_IGNORE, STATE_NONE), 0x2f: newTransition(ACTION_IGNORE, STATE_NONE), 0x30: newTransition(ACTION_IGNORE, STATE_NONE), 0x31: newTransition(ACTION_IGNORE, STATE_NONE), 0x32: newTransition(ACTION_IGNORE, STATE_NONE), 0x33: newTransition(ACTION_IGNORE, STATE_NONE), 0x34: newTransition(ACTION_IGNORE, STATE_NONE), 0x35: newTransition(ACTION_IGNORE, STATE_NONE), 0x36: newTransition(ACTION_IGNORE, STATE_NONE), 0x37: newTransition(ACTION_IGNORE, STATE_NONE), 0x38: newTransition(ACTION_IGNORE, STATE_NONE), 0x39: newTransition(ACTION_IGNORE, STATE_NONE), 0x3a: newTransition(ACTION_IGNORE, STATE_NONE), 0x3b: newTransition(ACTION_IGNORE, STATE_NONE), 0x3c: newTransition(ACTION_IGNORE, STATE_NONE), 0x3d: newTransition(ACTION_IGNORE, STATE_NONE), 0x3e: newTransition(ACTION_IGNORE, STATE_NONE), 0x3f: newTransition(ACTION_IGNORE, STATE_NONE), 0x40: newTransition(ACTION_IGNORE, STATE_NONE), 0x41: newTransition(ACTION_IGNORE, STATE_NONE), 0x42: newTransition(ACTION_IGNORE, STATE_NONE), 0x43: newTransition(ACTION_IGNORE, STATE_NONE), 0x44: newTransition(ACTION_IGNORE, STATE_NONE), 0x45: newTransition(ACTION_IGNORE, STATE_NONE), 0x46: newTransition(ACTION_IGNORE, STATE_NONE), 0x47: newTransition(ACTION_IGNORE, STATE_NONE), 0x48: newTransition(ACTION_IGNORE, STATE_NONE), 0x49: newTransition(ACTION_IGNORE, STATE_NONE), 0x4a: newTransition(ACTION_IGNORE, STATE_NONE), 0x4b: newTransition(ACTION_IGNORE, STATE_NONE), 0x4c: newTransition(ACTION_IGNORE, STATE_NONE), 0x4d: newTransition(ACTION_IGNORE, STATE_NONE), 0x4e: newTransition(ACTION_IGNORE, STATE_NONE), 0x4f: newTransition(ACTION_IGNORE, STATE_NONE), 0x50: newTransition(ACTION_IGNORE, STATE_NONE), 0x51: newTransition(ACTION_IGNORE, STATE_NONE), 0x52: newTransition(ACTION_IGNORE, STATE_NONE), 0x53: newTransition(ACTION_IGNORE, STATE_NONE), 0x54: newTransition(ACTION_IGNORE, STATE_NONE), 0x55: newTransition(ACTION_IGNORE, STATE_NONE), 0x56: newTransition(ACTION_IGNORE, STATE_NONE), 0x57: newTransition(ACTION_IGNORE, STATE_NONE), 0x58: newTransition(ACTION_IGNORE, STATE_NONE), 0x59: newTransition(ACTION_IGNORE, STATE_NONE), 0x5a: newTransition(ACTION_IGNORE, STATE_NONE), 0x5b: newTransition(ACTION_IGNORE, STATE_NONE), 0x5c: newTransition(ACTION_IGNORE, STATE_NONE), 0x5d: newTransition(ACTION_IGNORE, STATE_NONE), 0x5e: newTransition(ACTION_IGNORE, STATE_NONE), 0x5f: newTransition(ACTION_IGNORE, STATE_NONE), 0x60: newTransition(ACTION_IGNORE, STATE_NONE), 0x61: newTransition(ACTION_IGNORE, STATE_NONE), 0x62: newTransition(ACTION_IGNORE, STATE_NONE), 0x63: newTransition(ACTION_IGNORE, STATE_NONE), 0x64: newTransition(ACTION_IGNORE, STATE_NONE), 0x65: newTransition(ACTION_IGNORE, STATE_NONE), 0x66: newTransition(ACTION_IGNORE, STATE_NONE), 0x67: newTransition(ACTION_IGNORE, STATE_NONE), 0x68: newTransition(ACTION_IGNORE, STATE_NONE), 0x69: newTransition(ACTION_IGNORE, STATE_NONE), 0x6a: newTransition(ACTION_IGNORE, STATE_NONE), 0x6b: newTransition(ACTION_IGNORE, STATE_NONE), 0x6c: newTransition(ACTION_IGNORE, STATE_NONE), 0x6d: newTransition(ACTION_IGNORE, STATE_NONE), 0x6e: newTransition(ACTION_IGNORE, STATE_NONE), 0x6f: newTransition(ACTION_IGNORE, STATE_NONE), 0x70: newTransition(ACTION_IGNORE, STATE_NONE), 0x71: newTransition(ACTION_IGNORE, STATE_NONE), 0x72: newTransition(ACTION_IGNORE, STATE_NONE), 0x73: newTransition(ACTION_IGNORE, STATE_NONE), 0x74: newTransition(ACTION_IGNORE, STATE_NONE), 0x75: newTransition(ACTION_IGNORE, STATE_NONE), 0x76: newTransition(ACTION_IGNORE, STATE_NONE), 0x77: newTransition(ACTION_IGNORE, STATE_NONE), 0x78: newTransition(ACTION_IGNORE, STATE_NONE), 0x79: newTransition(ACTION_IGNORE, STATE_NONE), 0x7a: newTransition(ACTION_IGNORE, STATE_NONE), 0x7b: newTransition(ACTION_IGNORE, STATE_NONE), 0x7c: newTransition(ACTION_IGNORE, STATE_NONE), 0x7d: newTransition(ACTION_IGNORE, STATE_NONE), 0x7e: newTransition(ACTION_IGNORE, STATE_NONE), 0x7f: newTransition(ACTION_IGNORE, STATE_NONE), }, }
For each state, build a map of input byte to encoded state+action transition.
Functions ¶
This section is empty.
Types ¶
type Terminal ¶
type Terminal struct {
// contains filtered or unexported fields
}
func NewTerminal ¶
func NewTerminalWithPty ¶
func (*Terminal) Diff ¶
Diff will generate a sequence of bytes that, when applied, would move src to dest. This is at a visual level only as the server will ship these diffs to the client which is stateless and only used to display output. Because of that, we can ignore some properties like margins which are only important if you're applying all of the display updating based on the output from the pty directly.
func (*Terminal) FirstRow ¶
FirstRow will return the byte sequence to generate the first row of the vt