aboutsummaryrefslogtreecommitdiff
path: root/vendor/anstyle-parse/src
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/anstyle-parse/src')
-rw-r--r--vendor/anstyle-parse/src/lib.rs431
-rw-r--r--vendor/anstyle-parse/src/params.rs143
-rw-r--r--vendor/anstyle-parse/src/state/codegen.rs217
-rw-r--r--vendor/anstyle-parse/src/state/definitions.rs169
-rw-r--r--vendor/anstyle-parse/src/state/mod.rs41
-rw-r--r--vendor/anstyle-parse/src/state/table.rs361
6 files changed, 0 insertions, 1362 deletions
diff --git a/vendor/anstyle-parse/src/lib.rs b/vendor/anstyle-parse/src/lib.rs
deleted file mode 100644
index e3d04c9..0000000
--- a/vendor/anstyle-parse/src/lib.rs
+++ /dev/null
@@ -1,431 +0,0 @@
-//! Parser for implementing virtual terminal emulators
-//!
-//! [`Parser`] is implemented according to [Paul Williams' ANSI parser
-//! state machine]. The state machine doesn't assign meaning to the parsed data
-//! and is thus not itself sufficient for writing a terminal emulator. Instead,
-//! it is expected that an implementation of [`Perform`] is provided which does
-//! something useful with the parsed data. The [`Parser`] handles the book
-//! keeping, and the [`Perform`] gets to simply handle actions.
-//!
-//! # Examples
-//!
-//! For an example of using the [`Parser`] please see the examples folder. The example included
-//! there simply logs all the actions [`Perform`] does. One quick thing to see it in action is to
-//! pipe `vim` into it
-//!
-//! ```sh
-//! cargo build --release --example parselog
-//! vim | target/release/examples/parselog
-//! ```
-//!
-//! Just type `:q` to exit.
-//!
-//! # Differences from original state machine description
-//!
-//! * UTF-8 Support for Input
-//! * OSC Strings can be terminated by 0x07
-//! * Only supports 7-bit codes. Some 8-bit codes are still supported, but they no longer work in
-//! all states.
-//!
-//! [Paul Williams' ANSI parser state machine]: https://vt100.net/emu/dec_ansi_parser
-#![cfg_attr(not(test), no_std)]
-
-#[cfg(not(feature = "core"))]
-extern crate alloc;
-
-use core::mem::MaybeUninit;
-
-#[cfg(feature = "core")]
-use arrayvec::ArrayVec;
-#[cfg(feature = "utf8")]
-use utf8parse as utf8;
-
-mod params;
-pub mod state;
-
-pub use params::{Params, ParamsIter};
-
-use state::{state_change, Action, State};
-
-const MAX_INTERMEDIATES: usize = 2;
-const MAX_OSC_PARAMS: usize = 16;
-#[cfg(feature = "core")]
-const MAX_OSC_RAW: usize = 1024;
-
-/// Parser for raw _VTE_ protocol which delegates actions to a [`Perform`]
-#[derive(Default, Clone, Debug, PartialEq, Eq)]
-pub struct Parser<C = DefaultCharAccumulator> {
- state: State,
- intermediates: [u8; MAX_INTERMEDIATES],
- intermediate_idx: usize,
- params: Params,
- param: u16,
- #[cfg(feature = "core")]
- osc_raw: ArrayVec<u8, MAX_OSC_RAW>,
- #[cfg(not(feature = "core"))]
- osc_raw: alloc::vec::Vec<u8>,
- osc_params: [(usize, usize); MAX_OSC_PARAMS],
- osc_num_params: usize,
- ignoring: bool,
- utf8_parser: C,
-}
-
-impl<C> Parser<C>
-where
- C: CharAccumulator,
-{
- /// Create a new Parser
- pub fn new() -> Parser {
- Parser::default()
- }
-
- #[inline]
- fn params(&self) -> &Params {
- &self.params
- }
-
- #[inline]
- fn intermediates(&self) -> &[u8] {
- &self.intermediates[..self.intermediate_idx]
- }
-
- /// Advance the parser state
- ///
- /// Requires a [`Perform`] in case `byte` triggers an action
- #[inline]
- pub fn advance<P: Perform>(&mut self, performer: &mut P, byte: u8) {
- // Utf8 characters are handled out-of-band.
- if let State::Utf8 = self.state {
- self.process_utf8(performer, byte);
- return;
- }
-
- let (state, action) = state_change(self.state, byte);
- self.perform_state_change(performer, state, action, byte);
- }
-
- #[inline]
- fn process_utf8<P>(&mut self, performer: &mut P, byte: u8)
- where
- P: Perform,
- {
- if let Some(c) = self.utf8_parser.add(byte) {
- performer.print(c);
- self.state = State::Ground;
- }
- }
-
- #[inline]
- fn perform_state_change<P>(&mut self, performer: &mut P, state: State, action: Action, byte: u8)
- where
- P: Perform,
- {
- match state {
- State::Anywhere => {
- // Just run the action
- self.perform_action(performer, action, byte);
- }
- state => {
- match self.state {
- State::DcsPassthrough => {
- self.perform_action(performer, Action::Unhook, byte);
- }
- State::OscString => {
- self.perform_action(performer, Action::OscEnd, byte);
- }
- _ => (),
- }
-
- match action {
- Action::Nop => (),
- action => {
- self.perform_action(performer, action, byte);
- }
- }
-
- match state {
- State::CsiEntry | State::DcsEntry | State::Escape => {
- self.perform_action(performer, Action::Clear, byte);
- }
- State::DcsPassthrough => {
- self.perform_action(performer, Action::Hook, byte);
- }
- State::OscString => {
- self.perform_action(performer, Action::OscStart, byte);
- }
- _ => (),
- }
-
- // Assume the new state
- self.state = state;
- }
- }
- }
-
- /// Separate method for osc_dispatch that borrows self as read-only
- ///
- /// The aliasing is needed here for multiple slices into self.osc_raw
- #[inline]
- fn osc_dispatch<P: Perform>(&self, performer: &mut P, byte: u8) {
- let mut slices: [MaybeUninit<&[u8]>; MAX_OSC_PARAMS] =
- unsafe { MaybeUninit::uninit().assume_init() };
-
- for (i, slice) in slices.iter_mut().enumerate().take(self.osc_num_params) {
- let indices = self.osc_params[i];
- *slice = MaybeUninit::new(&self.osc_raw[indices.0..indices.1]);
- }
-
- unsafe {
- let num_params = self.osc_num_params;
- let params = &slices[..num_params] as *const [MaybeUninit<&[u8]>] as *const [&[u8]];
- performer.osc_dispatch(&*params, byte == 0x07);
- }
- }
-
- #[inline]
- fn perform_action<P: Perform>(&mut self, performer: &mut P, action: Action, byte: u8) {
- match action {
- Action::Print => performer.print(byte as char),
- Action::Execute => performer.execute(byte),
- Action::Hook => {
- if self.params.is_full() {
- self.ignoring = true;
- } else {
- self.params.push(self.param);
- }
-
- performer.hook(self.params(), self.intermediates(), self.ignoring, byte);
- }
- Action::Put => performer.put(byte),
- Action::OscStart => {
- self.osc_raw.clear();
- self.osc_num_params = 0;
- }
- Action::OscPut => {
- #[cfg(feature = "core")]
- {
- if self.osc_raw.is_full() {
- return;
- }
- }
-
- let idx = self.osc_raw.len();
-
- // Param separator
- if byte == b';' {
- let param_idx = self.osc_num_params;
- match param_idx {
- // Only process up to MAX_OSC_PARAMS
- MAX_OSC_PARAMS => return,
-
- // First param is special - 0 to current byte index
- 0 => {
- self.osc_params[param_idx] = (0, idx);
- }
-
- // All other params depend on previous indexing
- _ => {
- let prev = self.osc_params[param_idx - 1];
- let begin = prev.1;
- self.osc_params[param_idx] = (begin, idx);
- }
- }
-
- self.osc_num_params += 1;
- } else {
- self.osc_raw.push(byte);
- }
- }
- Action::OscEnd => {
- let param_idx = self.osc_num_params;
- let idx = self.osc_raw.len();
-
- match param_idx {
- // Finish last parameter if not already maxed
- MAX_OSC_PARAMS => (),
-
- // First param is special - 0 to current byte index
- 0 => {
- self.osc_params[param_idx] = (0, idx);
- self.osc_num_params += 1;
- }
-
- // All other params depend on previous indexing
- _ => {
- let prev = self.osc_params[param_idx - 1];
- let begin = prev.1;
- self.osc_params[param_idx] = (begin, idx);
- self.osc_num_params += 1;
- }
- }
- self.osc_dispatch(performer, byte);
- }
- Action::Unhook => performer.unhook(),
- Action::CsiDispatch => {
- if self.params.is_full() {
- self.ignoring = true;
- } else {
- self.params.push(self.param);
- }
-
- performer.csi_dispatch(self.params(), self.intermediates(), self.ignoring, byte);
- }
- Action::EscDispatch => {
- performer.esc_dispatch(self.intermediates(), self.ignoring, byte);
- }
- Action::Collect => {
- if self.intermediate_idx == MAX_INTERMEDIATES {
- self.ignoring = true;
- } else {
- self.intermediates[self.intermediate_idx] = byte;
- self.intermediate_idx += 1;
- }
- }
- Action::Param => {
- if self.params.is_full() {
- self.ignoring = true;
- return;
- }
-
- if byte == b';' {
- self.params.push(self.param);
- self.param = 0;
- } else if byte == b':' {
- self.params.extend(self.param);
- self.param = 0;
- } else {
- // Continue collecting bytes into param
- self.param = self.param.saturating_mul(10);
- self.param = self.param.saturating_add((byte - b'0') as u16);
- }
- }
- Action::Clear => {
- // Reset everything on ESC/CSI/DCS entry
- self.intermediate_idx = 0;
- self.ignoring = false;
- self.param = 0;
-
- self.params.clear();
- }
- Action::BeginUtf8 => self.process_utf8(performer, byte),
- Action::Ignore => (),
- Action::Nop => (),
- }
- }
-}
-
-/// Build a `char` out of bytes
-pub trait CharAccumulator: Default {
- /// Build a `char` out of bytes
- ///
- /// Return `None` when more data is needed
- fn add(&mut self, byte: u8) -> Option<char>;
-}
-
-#[cfg(feature = "utf8")]
-pub type DefaultCharAccumulator = Utf8Parser;
-#[cfg(not(feature = "utf8"))]
-pub type DefaultCharAccumulator = AsciiParser;
-
-/// Only allow parsing 7-bit ASCII
-#[derive(Default, Clone, Debug, PartialEq, Eq)]
-pub struct AsciiParser;
-
-impl CharAccumulator for AsciiParser {
- fn add(&mut self, _byte: u8) -> Option<char> {
- unreachable!("multi-byte UTF8 characters are unsupported")
- }
-}
-
-/// Allow parsing UTF-8
-#[cfg(feature = "utf8")]
-#[derive(Default, Clone, Debug, PartialEq, Eq)]
-pub struct Utf8Parser {
- utf8_parser: utf8::Parser,
-}
-
-#[cfg(feature = "utf8")]
-impl CharAccumulator for Utf8Parser {
- fn add(&mut self, byte: u8) -> Option<char> {
- let mut c = None;
- let mut receiver = VtUtf8Receiver(&mut c);
- self.utf8_parser.advance(&mut receiver, byte);
- c
- }
-}
-
-#[cfg(feature = "utf8")]
-struct VtUtf8Receiver<'a>(&'a mut Option<char>);
-
-#[cfg(feature = "utf8")]
-impl<'a> utf8::Receiver for VtUtf8Receiver<'a> {
- fn codepoint(&mut self, c: char) {
- *self.0 = Some(c);
- }
-
- fn invalid_sequence(&mut self) {
- *self.0 = Some('�');
- }
-}
-
-/// Performs actions requested by the [`Parser`]
-///
-/// Actions in this case mean, for example, handling a CSI escape sequence describing cursor
-/// movement, or simply printing characters to the screen.
-///
-/// The methods on this type correspond to actions described in
-/// <http://vt100.net/emu/dec_ansi_parser>. I've done my best to describe them in
-/// a useful way in my own words for completeness, but the site should be
-/// referenced if something isn't clear. If the site disappears at some point in
-/// the future, consider checking archive.org.
-pub trait Perform {
- /// Draw a character to the screen and update states.
- fn print(&mut self, _c: char) {}
-
- /// Execute a C0 or C1 control function.
- fn execute(&mut self, _byte: u8) {}
-
- /// Invoked when a final character arrives in first part of device control string.
- ///
- /// The control function should be determined from the private marker, final character, and
- /// execute with a parameter list. A handler should be selected for remaining characters in the
- /// string; the handler function should subsequently be called by `put` for every character in
- /// the control string.
- ///
- /// The `ignore` flag indicates that more than two intermediates arrived and
- /// subsequent characters were ignored.
- fn hook(&mut self, _params: &Params, _intermediates: &[u8], _ignore: bool, _action: u8) {}
-
- /// Pass bytes as part of a device control string to the handle chosen in `hook`. C0 controls
- /// will also be passed to the handler.
- fn put(&mut self, _byte: u8) {}
-
- /// Called when a device control string is terminated.
- ///
- /// The previously selected handler should be notified that the DCS has
- /// terminated.
- fn unhook(&mut self) {}
-
- /// Dispatch an operating system command.
- fn osc_dispatch(&mut self, _params: &[&[u8]], _bell_terminated: bool) {}
-
- /// A final character has arrived for a CSI sequence
- ///
- /// The `ignore` flag indicates that either more than two intermediates arrived
- /// or the number of parameters exceeded the maximum supported length,
- /// and subsequent characters were ignored.
- fn csi_dispatch(
- &mut self,
- _params: &Params,
- _intermediates: &[u8],
- _ignore: bool,
- _action: u8,
- ) {
- }
-
- /// The final character of an escape sequence has arrived.
- ///
- /// The `ignore` flag indicates that more than two intermediates arrived and
- /// subsequent characters were ignored.
- fn esc_dispatch(&mut self, _intermediates: &[u8], _ignore: bool, _byte: u8) {}
-}
diff --git a/vendor/anstyle-parse/src/params.rs b/vendor/anstyle-parse/src/params.rs
deleted file mode 100644
index 7cc146f..0000000
--- a/vendor/anstyle-parse/src/params.rs
+++ /dev/null
@@ -1,143 +0,0 @@
-//! Fixed size parameters list with optional subparameters.
-
-use core::fmt::{self, Debug, Formatter};
-
-pub(crate) const MAX_PARAMS: usize = 32;
-
-#[derive(Default, Clone, PartialEq, Eq)]
-pub struct Params {
- /// Number of subparameters for each parameter.
- ///
- /// For each entry in the `params` slice, this stores the length of the param as number of
- /// subparams at the same index as the param in the `params` slice.
- ///
- /// At the subparam positions the length will always be `0`.
- subparams: [u8; MAX_PARAMS],
-
- /// All parameters and subparameters.
- params: [u16; MAX_PARAMS],
-
- /// Number of suparameters in the current parameter.
- current_subparams: u8,
-
- /// Total number of parameters and subparameters.
- len: usize,
-}
-
-impl Params {
- /// Returns the number of parameters.
- #[inline]
- pub fn len(&self) -> usize {
- self.len
- }
-
- /// Returns `true` if there are no parameters present.
- #[inline]
- pub fn is_empty(&self) -> bool {
- self.len == 0
- }
-
- /// Returns an iterator over all parameters and subparameters.
- #[inline]
- pub fn iter(&self) -> ParamsIter<'_> {
- ParamsIter::new(self)
- }
-
- /// Returns `true` if there is no more space for additional parameters.
- #[inline]
- pub(crate) fn is_full(&self) -> bool {
- self.len == MAX_PARAMS
- }
-
- /// Clear all parameters.
- #[inline]
- pub(crate) fn clear(&mut self) {
- self.current_subparams = 0;
- self.len = 0;
- }
-
- /// Add an additional parameter.
- #[inline]
- pub(crate) fn push(&mut self, item: u16) {
- self.subparams[self.len - self.current_subparams as usize] = self.current_subparams + 1;
- self.params[self.len] = item;
- self.current_subparams = 0;
- self.len += 1;
- }
-
- /// Add an additional subparameter to the current parameter.
- #[inline]
- pub(crate) fn extend(&mut self, item: u16) {
- self.subparams[self.len - self.current_subparams as usize] = self.current_subparams + 1;
- self.params[self.len] = item;
- self.current_subparams += 1;
- self.len += 1;
- }
-}
-
-impl<'a> IntoIterator for &'a Params {
- type IntoIter = ParamsIter<'a>;
- type Item = &'a [u16];
-
- fn into_iter(self) -> Self::IntoIter {
- self.iter()
- }
-}
-
-/// Immutable subparameter iterator.
-pub struct ParamsIter<'a> {
- params: &'a Params,
- index: usize,
-}
-
-impl<'a> ParamsIter<'a> {
- fn new(params: &'a Params) -> Self {
- Self { params, index: 0 }
- }
-}
-
-impl<'a> Iterator for ParamsIter<'a> {
- type Item = &'a [u16];
-
- fn next(&mut self) -> Option<Self::Item> {
- if self.index >= self.params.len() {
- return None;
- }
-
- // Get all subparameters for the current parameter.
- let num_subparams = self.params.subparams[self.index];
- let param = &self.params.params[self.index..self.index + num_subparams as usize];
-
- // Jump to the next parameter.
- self.index += num_subparams as usize;
-
- Some(param)
- }
-
- fn size_hint(&self) -> (usize, Option<usize>) {
- let remaining = self.params.len() - self.index;
- (remaining, Some(remaining))
- }
-}
-
-impl Debug for Params {
- fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
- write!(f, "[")?;
-
- for (i, param) in self.iter().enumerate() {
- if i != 0 {
- write!(f, ";")?;
- }
-
- for (i, subparam) in param.iter().enumerate() {
- if i != 0 {
- write!(f, ":")?;
- }
-
- subparam.fmt(f)?;
- }
- }
-
- write!(f, "]")
- }
-}
diff --git a/vendor/anstyle-parse/src/state/codegen.rs b/vendor/anstyle-parse/src/state/codegen.rs
deleted file mode 100644
index 226c2d4..0000000
--- a/vendor/anstyle-parse/src/state/codegen.rs
+++ /dev/null
@@ -1,217 +0,0 @@
-use super::{pack, unpack, Action, State};
-
-use vte_generate_state_changes::generate_state_changes;
-
-#[test]
-fn table() {
- let mut content = vec![];
- generate_table(&mut content).unwrap();
-
- let content = String::from_utf8(content).unwrap();
- let content = codegenrs::rustfmt(&content, None).unwrap();
- snapbox::assert_eq_path("./src/state/table.rs", content);
-}
-
-#[allow(clippy::write_literal)]
-fn generate_table(file: &mut impl std::io::Write) -> std::io::Result<()> {
- writeln!(
- file,
- "// This file is @generated by {}",
- file!().replace('\\', "/")
- )?;
- writeln!(file)?;
- writeln!(
- file,
- "{}",
- r#"#[rustfmt::skip]
-pub(crate) const STATE_CHANGES: [[u8; 256]; 16] = ["#
- )?;
-
- for (state, entries) in STATE_CHANGES.iter().enumerate() {
- writeln!(file, " // {:?}", State::try_from(state as u8).unwrap())?;
- write!(file, " [")?;
- let mut last_entry = None;
- for packed in entries {
- let (next_state, action) = unpack(*packed);
- if last_entry != Some(packed) {
- writeln!(file)?;
- writeln!(file, " // {:?} {:?}", next_state, action)?;
- write!(file, " ")?;
- }
- write!(file, "0x{:0>2x}, ", packed)?;
- last_entry = Some(packed);
- }
- writeln!(file)?;
- writeln!(file, " ],")?;
- }
-
- writeln!(file, "{}", r#"];"#)?;
- Ok(())
-}
-
-/// This is the state change table. It's indexed first by current state and then by the next
-/// character in the pty stream.
-pub static STATE_CHANGES: [[u8; 256]; 16] = state_changes();
-generate_state_changes!(state_changes, {
- Anywhere {
- 0x18 => (Ground, Execute),
- 0x1a => (Ground, Execute),
- 0x1b => (Escape, Nop),
- },
-
- Ground {
- 0x00..=0x17 => (Anywhere, Execute),
- 0x19 => (Anywhere, Execute),
- 0x1c..=0x1f => (Anywhere, Execute),
- 0x20..=0x7f => (Anywhere, Print),
- 0x80..=0x8f => (Anywhere, Execute),
- 0x91..=0x9a => (Anywhere, Execute),
- 0x9c => (Anywhere, Execute),
- // Beginning of UTF-8 2 byte sequence
- 0xc2..=0xdf => (Utf8, BeginUtf8),
- // Beginning of UTF-8 3 byte sequence
- 0xe0..=0xef => (Utf8, BeginUtf8),
- // Beginning of UTF-8 4 byte sequence
- 0xf0..=0xf4 => (Utf8, BeginUtf8),
- },
-
- Escape {
- 0x00..=0x17 => (Anywhere, Execute),
- 0x19 => (Anywhere, Execute),
- 0x1c..=0x1f => (Anywhere, Execute),
- 0x7f => (Anywhere, Ignore),
- 0x20..=0x2f => (EscapeIntermediate, Collect),
- 0x30..=0x4f => (Ground, EscDispatch),
- 0x51..=0x57 => (Ground, EscDispatch),
- 0x59 => (Ground, EscDispatch),
- 0x5a => (Ground, EscDispatch),
- 0x5c => (Ground, EscDispatch),
- 0x60..=0x7e => (Ground, EscDispatch),
- 0x5b => (CsiEntry, Nop),
- 0x5d => (OscString, Nop),
- 0x50 => (DcsEntry, Nop),
- 0x58 => (SosPmApcString, Nop),
- 0x5e => (SosPmApcString, Nop),
- 0x5f => (SosPmApcString, Nop),
- },
-
- EscapeIntermediate {
- 0x00..=0x17 => (Anywhere, Execute),
- 0x19 => (Anywhere, Execute),
- 0x1c..=0x1f => (Anywhere, Execute),
- 0x20..=0x2f => (Anywhere, Collect),
- 0x7f => (Anywhere, Ignore),
- 0x30..=0x7e => (Ground, EscDispatch),
- },
-
- CsiEntry {
- 0x00..=0x17 => (Anywhere, Execute),
- 0x19 => (Anywhere, Execute),
- 0x1c..=0x1f => (Anywhere, Execute),
- 0x7f => (Anywhere, Ignore),
- 0x20..=0x2f => (CsiIntermediate, Collect),
- 0x30..=0x39 => (CsiParam, Param),
- 0x3a..=0x3b => (CsiParam, Param),
- 0x3c..=0x3f => (CsiParam, Collect),
- 0x40..=0x7e => (Ground, CsiDispatch),
- },
-
- CsiIgnore {
- 0x00..=0x17 => (Anywhere, Execute),
- 0x19 => (Anywhere, Execute),
- 0x1c..=0x1f => (Anywhere, Execute),
- 0x20..=0x3f => (Anywhere, Ignore),
- 0x7f => (Anywhere, Ignore),
- 0x40..=0x7e => (Ground, Nop),
- },
-
- CsiParam {
- 0x00..=0x17 => (Anywhere, Execute),
- 0x19 => (Anywhere, Execute),
- 0x1c..=0x1f => (Anywhere, Execute),
- 0x30..=0x39 => (Anywhere, Param),
- 0x3a..=0x3b => (Anywhere, Param),
- 0x7f => (Anywhere, Ignore),
- 0x3c..=0x3f => (CsiIgnore, Nop),
- 0x20..=0x2f => (CsiIntermediate, Collect),
- 0x40..=0x7e => (Ground, CsiDispatch),
- },
-
- CsiIntermediate {
- 0x00..=0x17 => (Anywhere, Execute),
- 0x19 => (Anywhere, Execute),
- 0x1c..=0x1f => (Anywhere, Execute),
- 0x20..=0x2f => (Anywhere, Collect),
- 0x7f => (Anywhere, Ignore),
- 0x30..=0x3f => (CsiIgnore, Nop),
- 0x40..=0x7e => (Ground, CsiDispatch),
- },
-
- DcsEntry {
- 0x00..=0x17 => (Anywhere, Ignore),
- 0x19 => (Anywhere, Ignore),
- 0x1c..=0x1f => (Anywhere, Ignore),
- 0x7f => (Anywhere, Ignore),
- 0x20..=0x2f => (DcsIntermediate, Collect),
- 0x30..=0x39 => (DcsParam, Param),
- 0x3a..=0x3b => (DcsParam, Param),
- 0x3c..=0x3f => (DcsParam, Collect),
- 0x40..=0x7e => (DcsPassthrough, Nop),
- },
-
- DcsIntermediate {
- 0x00..=0x17 => (Anywhere, Ignore),
- 0x19 => (Anywhere, Ignore),
- 0x1c..=0x1f => (Anywhere, Ignore),
- 0x20..=0x2f => (Anywhere, Collect),
- 0x7f => (Anywhere, Ignore),
- 0x30..=0x3f => (DcsIgnore, Nop),
- 0x40..=0x7e => (DcsPassthrough, Nop),
- },
-
- DcsIgnore {
- 0x00..=0x17 => (Anywhere, Ignore),
- 0x19 => (Anywhere, Ignore),
- 0x1c..=0x1f => (Anywhere, Ignore),
- 0x20..=0x7f => (Anywhere, Ignore),
- 0x9c => (Ground, Nop),
- },
-
- DcsParam {
- 0x00..=0x17 => (Anywhere, Ignore),
- 0x19 => (Anywhere, Ignore),
- 0x1c..=0x1f => (Anywhere, Ignore),
- 0x30..=0x39 => (Anywhere, Param),
- 0x3a..=0x3b => (Anywhere, Param),
- 0x7f => (Anywhere, Ignore),
- 0x3c..=0x3f => (DcsIgnore, Nop),
- 0x20..=0x2f => (DcsIntermediate, Collect),
- 0x40..=0x7e => (DcsPassthrough, Nop),
- },
-
- DcsPassthrough {
- 0x00..=0x17 => (Anywhere, Put),
- 0x19 => (Anywhere, Put),
- 0x1c..=0x1f => (Anywhere, Put),
- 0x20..=0x7e => (Anywhere, Put),
- 0x7f => (Anywhere, Ignore),
- 0x9c => (Ground, Nop),
- },
-
- SosPmApcString {
- 0x00..=0x17 => (Anywhere, Ignore),
- 0x19 => (Anywhere, Ignore),
- 0x1c..=0x1f => (Anywhere, Ignore),
- 0x20..=0x7f => (Anywhere, Ignore),
- 0x9c => (Ground, Nop),
- },
-
- OscString {
- 0x00..=0x06 => (Anywhere, Ignore),
- 0x07 => (Ground, Nop),
- 0x08..=0x17 => (Anywhere, Ignore),
- 0x19 => (Anywhere, Ignore),
- 0x1c..=0x1f => (Anywhere, Ignore),
- 0x20..=0xff => (Anywhere, OscPut),
- }
-});
diff --git a/vendor/anstyle-parse/src/state/definitions.rs b/vendor/anstyle-parse/src/state/definitions.rs
deleted file mode 100644
index c4e7673..0000000
--- a/vendor/anstyle-parse/src/state/definitions.rs
+++ /dev/null
@@ -1,169 +0,0 @@
-use core::mem;
-
-#[derive(Debug, Copy, Clone, PartialEq, Eq)]
-#[repr(u8)]
-#[derive(Default)]
-pub enum State {
- Anywhere = 0,
- CsiEntry = 1,
- CsiIgnore = 2,
- CsiIntermediate = 3,
- CsiParam = 4,
- DcsEntry = 5,
- DcsIgnore = 6,
- DcsIntermediate = 7,
- DcsParam = 8,
- DcsPassthrough = 9,
- Escape = 10,
- EscapeIntermediate = 11,
- #[default]
- Ground = 12,
- OscString = 13,
- SosPmApcString = 14,
- Utf8 = 15,
-}
-
-impl TryFrom<u8> for State {
- type Error = u8;
-
- #[inline(always)]
- fn try_from(raw: u8) -> Result<Self, Self::Error> {
- STATES.get(raw as usize).ok_or(raw).copied()
- }
-}
-
-const STATES: [State; 16] = [
- State::Anywhere,
- State::CsiEntry,
- State::CsiIgnore,
- State::CsiIntermediate,
- State::CsiParam,
- State::DcsEntry,
- State::DcsIgnore,
- State::DcsIntermediate,
- State::DcsParam,
- State::DcsPassthrough,
- State::Escape,
- State::EscapeIntermediate,
- State::Ground,
- State::OscString,
- State::SosPmApcString,
- State::Utf8,
-];
-
-#[derive(Debug, Clone, Copy, PartialEq, Eq)]
-#[repr(u8)]
-#[derive(Default)]
-pub enum Action {
- #[default]
- Nop = 0,
- Clear = 1,
- Collect = 2,
- CsiDispatch = 3,
- EscDispatch = 4,
- Execute = 5,
- Hook = 6,
- Ignore = 7,
- OscEnd = 8,
- OscPut = 9,
- OscStart = 10,
- Param = 11,
- Print = 12,
- Put = 13,
- Unhook = 14,
- BeginUtf8 = 15,
-}
-
-impl TryFrom<u8> for Action {
- type Error = u8;
-
- #[inline(always)]
- fn try_from(raw: u8) -> Result<Self, Self::Error> {
- ACTIONS.get(raw as usize).ok_or(raw).copied()
- }
-}
-
-const ACTIONS: [Action; 16] = [
- Action::Nop,
- Action::Clear,
- Action::Collect,
- Action::CsiDispatch,
- Action::EscDispatch,
- Action::Execute,
- Action::Hook,
- Action::Ignore,
- Action::OscEnd,
- Action::OscPut,
- Action::OscStart,
- Action::Param,
- Action::Print,
- Action::Put,
- Action::Unhook,
- Action::BeginUtf8,
-];
-
-/// Unpack a u8 into a State and Action
-///
-/// The implementation of this assumes that there are *precisely* 16 variants for both Action and
-/// State. Furthermore, it assumes that the enums are tag-only; that is, there is no data in any
-/// variant.
-///
-/// Bad things will happen if those invariants are violated.
-#[inline(always)]
-pub const fn unpack(delta: u8) -> (State, Action) {
- unsafe {
- (
- // State is stored in bottom 4 bits
- mem::transmute(delta & 0x0f),
- // Action is stored in top 4 bits
- mem::transmute(delta >> 4),
- )
- }
-}
-
-#[inline(always)]
-#[cfg(test)]
-pub const fn pack(state: State, action: Action) -> u8 {
- (action as u8) << 4 | state as u8
-}
-
-#[cfg(test)]
-mod tests {
- use super::*;
-
- #[test]
- fn unpack_state_action() {
- match unpack(0xee) {
- (State::SosPmApcString, Action::Unhook) => (),
- _ => panic!("unpack failed"),
- }
-
- match unpack(0x0f) {
- (State::Utf8, Action::Nop) => (),
- _ => panic!("unpack failed"),
- }
-
- match unpack(0xff) {
- (State::Utf8, Action::BeginUtf8) => (),
- _ => panic!("unpack failed"),
- }
- }
-
- #[test]
- fn pack_state_action() {
- match unpack(0xee) {
- (State::SosPmApcString, Action::Unhook) => (),
- _ => panic!("unpack failed"),
- }
-
- match unpack(0x0f) {
- (State::Utf8, Action::Nop) => (),
- _ => panic!("unpack failed"),
- }
-
- match unpack(0xff) {
- (State::Utf8, Action::BeginUtf8) => (),
- _ => panic!("unpack failed"),
- }
- }
-}
diff --git a/vendor/anstyle-parse/src/state/mod.rs b/vendor/anstyle-parse/src/state/mod.rs
deleted file mode 100644
index 9194205..0000000
--- a/vendor/anstyle-parse/src/state/mod.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-#[cfg(test)]
-mod codegen;
-mod definitions;
-mod table;
-
-#[cfg(test)]
-pub(crate) use definitions::pack;
-pub(crate) use definitions::unpack;
-pub use definitions::Action;
-pub use definitions::State;
-
-/// Transition to next [`State`]
-///
-/// Note: This does not directly support UTF-8.
-/// - If the data is validated as UTF-8 (e.g. `str`) or single-byte C1 control codes are
-/// unsupported, then treat [`Action::BeginUtf8`] and [`Action::Execute`] for UTF-8 continuations
-/// as [`Action::Print`].
-/// - If the data is not validated, then a UTF-8 state machine will need to be implemented on top,
-/// starting with [`Action::BeginUtf8`].
-///
-/// Note: When [`State::Anywhere`] is returned, revert back to the prior state.
-#[inline]
-pub const fn state_change(state: State, byte: u8) -> (State, Action) {
- // Handle state changes in the anywhere state before evaluating changes
- // for current state.
- let mut change = state_change_(State::Anywhere, byte);
- if change == 0 {
- change = state_change_(state, byte);
- }
-
- // Unpack into a state and action
- unpack(change)
-}
-
-#[inline]
-const fn state_change_(state: State, byte: u8) -> u8 {
- let state_idx = state as usize;
- let byte_idx = byte as usize;
-
- table::STATE_CHANGES[state_idx][byte_idx]
-}
diff --git a/vendor/anstyle-parse/src/state/table.rs b/vendor/anstyle-parse/src/state/table.rs
deleted file mode 100644
index f6f1070..0000000
--- a/vendor/anstyle-parse/src/state/table.rs
+++ /dev/null
@@ -1,361 +0,0 @@
-// This file is @generated by crates/anstyle-parse/src/state/codegen.rs
-
-#[rustfmt::skip]
-pub(crate) const STATE_CHANGES: [[u8; 256]; 16] = [
- // Anywhere
- [
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- // Ground Execute
- 0x5c,
- // Anywhere Nop
- 0x00,
- // Ground Execute
- 0x5c,
- // Escape Nop
- 0x0a,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // CsiEntry
- [
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
- // Anywhere Nop
- 0x00,
- // Anywhere Execute
- 0x50,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50,
- // CsiIntermediate Collect
- 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
- // CsiParam Param
- 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4, 0xb4,
- // CsiParam Collect
- 0x24, 0x24, 0x24, 0x24,
- // Ground CsiDispatch
- 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // CsiIgnore
- [
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
- // Anywhere Nop
- 0x00,
- // Anywhere Execute
- 0x50,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50,
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- // Ground Nop
- 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // CsiIntermediate
- [
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
- // Anywhere Nop
- 0x00,
- // Anywhere Execute
- 0x50,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50,
- // Anywhere Collect
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- // CsiIgnore Nop
- 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
- // Ground CsiDispatch
- 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // CsiParam
- [
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
- // Anywhere Nop
- 0x00,
- // Anywhere Execute
- 0x50,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50,
- // CsiIntermediate Collect
- 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
- // Anywhere Param
- 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0,
- // CsiIgnore Nop
- 0x02, 0x02, 0x02, 0x02,
- // Ground CsiDispatch
- 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // DcsEntry
- [
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- // Anywhere Nop
- 0x00,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70,
- // DcsIntermediate Collect
- 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
- // DcsParam Param
- 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8,
- // DcsParam Collect
- 0x28, 0x28, 0x28, 0x28,
- // DcsPassthrough Nop
- 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // DcsIgnore
- [
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- // Anywhere Nop
- 0x00,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- // Ground Nop
- 0x0c,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // DcsIntermediate
- [
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- // Anywhere Nop
- 0x00,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70,
- // Anywhere Collect
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- // DcsIgnore Nop
- 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
- // DcsPassthrough Nop
- 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // DcsParam
- [
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- // Anywhere Nop
- 0x00,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70,
- // DcsIntermediate Collect
- 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27, 0x27,
- // Anywhere Param
- 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0,
- // DcsIgnore Nop
- 0x06, 0x06, 0x06, 0x06,
- // DcsPassthrough Nop
- 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // DcsPassthrough
- [
- // Anywhere Put
- 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0,
- // Anywhere Nop
- 0x00,
- // Anywhere Put
- 0xd0,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Put
- 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0, 0xd0,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- // Ground Nop
- 0x0c,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // Escape
- [
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
- // Anywhere Nop
- 0x00,
- // Anywhere Execute
- 0x50,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50,
- // EscapeIntermediate Collect
- 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,
- // Ground EscDispatch
- 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
- // DcsEntry Nop
- 0x05,
- // Ground EscDispatch
- 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
- // SosPmApcString Nop
- 0x0e,
- // Ground EscDispatch
- 0x4c, 0x4c,
- // CsiEntry Nop
- 0x01,
- // Ground EscDispatch
- 0x4c,
- // OscString Nop
- 0x0d,
- // SosPmApcString Nop
- 0x0e, 0x0e,
- // Ground EscDispatch
- 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // EscapeIntermediate
- [
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
- // Anywhere Nop
- 0x00,
- // Anywhere Execute
- 0x50,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50,
- // Anywhere Collect
- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
- // Ground EscDispatch
- 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c, 0x4c,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // Ground
- [
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
- // Anywhere Nop
- 0x00,
- // Anywhere Execute
- 0x50,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50,
- // Anywhere Print
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
- // Anywhere Nop
- 0x00,
- // Anywhere Execute
- 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50, 0x50,
- // Anywhere Nop
- 0x00,
- // Anywhere Execute
- 0x50,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- // Utf8 BeginUtf8
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // OscString
- [
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- // Ground Nop
- 0x0c,
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- // Anywhere Nop
- 0x00,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70,
- // Anywhere OscPut
- 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
- ],
- // SosPmApcString
- [
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- // Anywhere Nop
- 0x00,
- // Anywhere Ignore
- 0x70,
- // Anywhere Nop
- 0x00, 0x00,
- // Anywhere Ignore
- 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- // Ground Nop
- 0x0c,
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
- // Utf8
- [
- // Anywhere Nop
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- ],
-];