#[repr(u8)]
#[derive(Eq, PartialEq, Ord, PartialOrd, Copy, Clone, Debug)]
#[expect(
dead_code,
reason = "rust cant see when we transmute into/outof these values"
)]
pub(crate) enum Utf8FirstByte {
Null = 0,
StartOfHeading = 1,
StartOfText = 2,
EndOfText = 3,
EndOfTransmission = 4,
Enquiry = 5,
Acknowledge = 6,
Bell = 7,
Backspace = 8,
CharacterTabulation = 9,
LineFeed = 10,
LineTabulation = 11,
FormFeed = 12,
CarriageReturn = 13,
ShiftOut = 14,
ShiftIn = 15,
DataLinkEscape = 16,
DeviceControlOne = 17,
DeviceControlTwo = 18,
DeviceControlThree = 19,
DeviceControlFour = 20,
NegativeAcknowledge = 21,
SynchronousIdle = 22,
EndOfTransmissionBlock = 23,
Cancel = 24,
EndOfMedium = 25,
Substitute = 26,
Escape = 27,
InformationSeparatorFour = 28,
InformationSeparatorThree = 29,
InformationSeparatorTwo = 30,
InformationSeparatorOne = 31,
Space = 32,
ExclamationMark = 33,
QuotationMark = 34,
NumberSign = 35,
DollarSign = 36,
PercentSign = 37,
Ampersand = 38,
Apostrophe = 39,
LeftParenthesis = 40,
RightParenthesis = 41,
Asterisk = 42,
PlusSign = 43,
Comma = 44,
HyphenMinus = 45,
FullStop = 46,
Solidus = 47,
Digit0 = 48,
Digit1 = 49,
Digit2 = 50,
Digit3 = 51,
Digit4 = 52,
Digit5 = 53,
Digit6 = 54,
Digit7 = 55,
Digit8 = 56,
Digit9 = 57,
Colon = 58,
Semicolon = 59,
LessThanSign = 60,
EqualsSign = 61,
GreaterThanSign = 62,
QuestionMark = 63,
CommercialAt = 64,
CapitalA = 65,
CapitalB = 66,
CapitalC = 67,
CapitalD = 68,
CapitalE = 69,
CapitalF = 70,
CapitalG = 71,
CapitalH = 72,
CapitalI = 73,
CapitalJ = 74,
CapitalK = 75,
CapitalL = 76,
CapitalM = 77,
CapitalN = 78,
CapitalO = 79,
CapitalP = 80,
CapitalQ = 81,
CapitalR = 82,
CapitalS = 83,
CapitalT = 84,
CapitalU = 85,
CapitalV = 86,
CapitalW = 87,
CapitalX = 88,
CapitalY = 89,
CapitalZ = 90,
LeftSquareBracket = 91,
ReverseSolidus = 92,
RightSquareBracket = 93,
CircumflexAccent = 94,
LowLine = 95,
GraveAccent = 96,
SmallA = 97,
SmallB = 98,
SmallC = 99,
SmallD = 100,
SmallE = 101,
SmallF = 102,
SmallG = 103,
SmallH = 104,
SmallI = 105,
SmallJ = 106,
SmallK = 107,
SmallL = 108,
SmallM = 109,
SmallN = 110,
SmallO = 111,
SmallP = 112,
SmallQ = 113,
SmallR = 114,
SmallS = 115,
SmallT = 116,
SmallU = 117,
SmallV = 118,
SmallW = 119,
SmallX = 120,
SmallY = 121,
SmallZ = 122,
LeftCurlyBracket = 123,
VerticalLine = 124,
RightCurlyBracket = 125,
Tilde = 126,
Delete = 127,
_194 = 0b1100_0010, _195 = 0b1100_0011, _196 = 0b1100_0100, _197 = 0b1100_0101, _198 = 0b1100_0110, _199 = 0b1100_0111, _200 = 0b1100_1000, _201 = 0b1100_1001, _202 = 0b1100_1010, _203 = 0b1100_1011, _204 = 0b1100_1100, _205 = 0b1100_1101, _206 = 0b1100_1110, _207 = 0b1100_1111, _208 = 0b1101_0000, _209 = 0b1101_0001, _210 = 0b1101_0010, _211 = 0b1101_0011, _212 = 0b1101_0100, _213 = 0b1101_0101, _214 = 0b1101_0110, _215 = 0b1101_0111, _216 = 0b1101_1000, _217 = 0b1101_1001, _218 = 0b1101_1010, _219 = 0b1101_1011, _220 = 0b1101_1100, _221 = 0b1101_1101, _222 = 0b1101_1110, _223 = 0b1101_1111, _224 = 0b1110_0000, _225 = 0b1110_0001, _226 = 0b1110_0010, _227 = 0b1110_0011, _228 = 0b1110_0100, _229 = 0b1110_0101, _230 = 0b1110_0110, _231 = 0b1110_0111, _232 = 0b1110_1000, _233 = 0b1110_1001, _234 = 0b1110_1010, _235 = 0b1110_1011, _236 = 0b1110_1100, _237 = 0b1110_1101, _238 = 0b1110_1110, _239 = 0b1110_1111, _240 = 0b1111_0000, _241 = 0b1111_0001, _242 = 0b1111_0010, _243 = 0b1111_0011, _244 = 0b1111_0100, _245 = 0b1111_0101, _246 = 0b1111_0110, _247 = 0b1111_0111, }
#[derive(Debug, Copy, Clone, Eq, PartialEq, PartialOrd, Ord)]
#[repr(u8)]
pub(crate) enum Utf8ContByte {
_128 = 0b1000_0000, _129 = 0b1000_0001, _130 = 0b1000_0010, _131 = 0b1000_0011, _132 = 0b1000_0100, _133 = 0b1000_0101, _134 = 0b1000_0110, _135 = 0b1000_0111, _136 = 0b1000_1000, _137 = 0b1000_1001, _138 = 0b1000_1010, _139 = 0b1000_1011, _140 = 0b1000_1100, _141 = 0b1000_1101, _142 = 0b1000_1110, _143 = 0b1000_1111, _144 = 0b1001_0000, _145 = 0b1001_0001, _146 = 0b1001_0010, _147 = 0b1001_0011, _148 = 0b1001_0100, _149 = 0b1001_0101, _150 = 0b1001_0110, _151 = 0b1001_0111, _152 = 0b1001_1000, _153 = 0b1001_1001, _154 = 0b1001_1010, _155 = 0b1001_1011, _156 = 0b1001_1100, _157 = 0b1001_1101, _158 = 0b1001_1110, _159 = 0b1001_1111, _160 = 0b1010_0000, _161 = 0b1010_0001, _162 = 0b1010_0010, _163 = 0b1010_0011, _164 = 0b1010_0100, _165 = 0b1010_0101, _166 = 0b1010_0110, _167 = 0b1010_0111, _168 = 0b1010_1000, _169 = 0b1010_1001, _170 = 0b1010_1010, _171 = 0b1010_1011, _172 = 0b1010_1100, _173 = 0b1010_1101, _174 = 0b1010_1110, _175 = 0b1010_1111, _176 = 0b1011_0000, _177 = 0b1011_0001, _178 = 0b1011_0010, _179 = 0b1011_0011, _180 = 0b1011_0100, _181 = 0b1011_0101, _182 = 0b1011_0110, _183 = 0b1011_0111, _184 = 0b1011_1000, _185 = 0b1011_1001, _186 = 0b1011_1010, _187 = 0b1011_1011, _188 = 0b1011_1100, _189 = 0b1011_1101, _190 = 0b1011_1110, _191 = 0b1011_1111, }