From 45ef64e866df4907e637373f03a0a7293a44987b Mon Sep 17 00:00:00 2001
From: iximeow <me@iximeow.net>
Date: Wed, 16 Jan 2019 03:49:00 -0800
Subject: initial commit

---
 src/consts.rs  | 4155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/display.rs |  166 +++
 src/lib.rs     |  467 +++++++
 3 files changed, 4788 insertions(+)
 create mode 100644 src/consts.rs
 create mode 100644 src/display.rs
 create mode 100644 src/lib.rs

(limited to 'src')

diff --git a/src/consts.rs b/src/consts.rs
new file mode 100644
index 0000000..a35806d
--- /dev/null
+++ b/src/consts.rs
@@ -0,0 +1,4155 @@
+#[allow(non_snake_case, non_camel_case_types, unused)]
+pub mod SFRS {
+    pub const EECON2: u16 = 0xfa7 - 0xf60;
+    pub const EECON1: u16 = 0xfa6 - 0xf60;
+/*
+ *
+ *  THE UNIMPLEMENTED VOID
+ *
+ */
+    pub const T0CON: u16 = 0xfd5 - 0xf60;
+    pub const TMR0L: u16 = 0xfd6 - 0xf60;
+    pub const TMR0H: u16 = 0xfd7 - 0xf60;
+    pub const STATUS: u16 = 0xfd8 - 0xf60;
+    pub const FSR2L: u16 = 0xfd9 - 0xf60;
+    pub const FSR2H: u16 = 0xfda - 0xf60;
+    pub const PLUSW2: u16 = 0xfdb - 0xf60;
+    pub const PREINC2: u16 = 0xfdc - 0xf60;
+    pub const POSTDEC2: u16 = 0xfdd - 0xf60;
+    pub const POSTINC2: u16 = 0xfde - 0xf60;
+    pub const INDF2: u16 = 0xfdf - 0xf60;
+    pub const BSR: u16 = 0xfe0 - 0xf60;
+    pub const FSR1L: u16 = 0xfe1 - 0xf60;
+    pub const FSR1H: u16 = 0xfe2 - 0xf60;
+    pub const PLUSW1: u16 = 0xfe3 - 0xf60;
+    pub const PREINC1: u16 = 0xfe4 - 0xf60;
+    pub const POSTDEC1: u16 = 0xfe5 - 0xf60;
+    pub const POSTINC1: u16 = 0xfe6 - 0xf60;
+    pub const INDF1: u16 = 0xfe7 - 0xf60;
+    pub const WREG: u16 = 0xfe8 - 0xf60;
+    pub const FSR0L: u16 = 0xfe9 - 0xf60;
+    pub const FSR0H: u16 = 0xfea - 0xf60;
+    pub const PLUSW0: u16 = 0xfeb - 0xf60;
+    pub const PREINC0: u16 = 0xfec - 0xf60;
+    pub const POSTDEC0: u16 = 0xfed - 0xf60;
+    pub const POSTINC0: u16 = 0xfee - 0xf60;
+    pub const INDF0: u16 = 0xfef - 0xf60;
+    pub const INTCON3: u16 = 0xff0 - 0xf60;
+    pub const INTCON2: u16 = 0xff1 - 0xf60;
+    pub const INTCON: u16 = 0xff2 - 0xf60;
+    pub const PRODL: u16 = 0xff3 - 0xf60;
+    pub const PRODH: u16 = 0xff4 - 0xf60;
+    pub const TABLAT: u16 = 0xff5 - 0xf60;
+    pub const TBLPTRL: u16 = 0xff6 - 0xf60;
+    pub const TBLPTRH: u16 = 0xff7 - 0xf60;
+    pub const TBLPTRU: u16 = 0xff8 - 0xf60;
+    pub const PCL: u16 = 0xff9 - 0xf60;
+    pub const PCLATH: u16 = 0xffa - 0xf60;
+    pub const PCLATU: u16 = 0xffb - 0xf60;
+    pub const STKPTR: u16 = 0xffc - 0xf60;
+    pub const TOSL: u16 = 0xffd - 0xf60;
+    pub const TOSH: u16 = 0xffe - 0xf60;
+    pub const TOSU: u16 = 0xfff - 0xf60;
+}
+
+pub fn named_file(file: u16) -> &'static str {
+    match file {
+        0x0 => "0x0",
+        0x1 => "0x1",
+        0x2 => "0x2",
+        0x3 => "0x3",
+        0x4 => "0x4",
+        0x5 => "0x5",
+        0x6 => "0x6",
+        0x7 => "0x7",
+        0x8 => "0x8",
+        0x9 => "0x9",
+        0xa => "0xa",
+        0xb => "0xb",
+        0xc => "0xc",
+        0xd => "0xd",
+        0xe => "0xe",
+        0xf => "0xf",
+        0x10 => "0x10",
+        0x11 => "0x11",
+        0x12 => "0x12",
+        0x13 => "0x13",
+        0x14 => "0x14",
+        0x15 => "0x15",
+        0x16 => "0x16",
+        0x17 => "0x17",
+        0x18 => "0x18",
+        0x19 => "0x19",
+        0x1a => "0x1a",
+        0x1b => "0x1b",
+        0x1c => "0x1c",
+        0x1d => "0x1d",
+        0x1e => "0x1e",
+        0x1f => "0x1f",
+        0x20 => "0x20",
+        0x21 => "0x21",
+        0x22 => "0x22",
+        0x23 => "0x23",
+        0x24 => "0x24",
+        0x25 => "0x25",
+        0x26 => "0x26",
+        0x27 => "0x27",
+        0x28 => "0x28",
+        0x29 => "0x29",
+        0x2a => "0x2a",
+        0x2b => "0x2b",
+        0x2c => "0x2c",
+        0x2d => "0x2d",
+        0x2e => "0x2e",
+        0x2f => "0x2f",
+        0x30 => "0x30",
+        0x31 => "0x31",
+        0x32 => "0x32",
+        0x33 => "0x33",
+        0x34 => "0x34",
+        0x35 => "0x35",
+        0x36 => "0x36",
+        0x37 => "0x37",
+        0x38 => "0x38",
+        0x39 => "0x39",
+        0x3a => "0x3a",
+        0x3b => "0x3b",
+        0x3c => "0x3c",
+        0x3d => "0x3d",
+        0x3e => "0x3e",
+        0x3f => "0x3f",
+        0x40 => "0x40",
+        0x41 => "0x41",
+        0x42 => "0x42",
+        0x43 => "0x43",
+        0x44 => "0x44",
+        0x45 => "0x45",
+        0x46 => "0x46",
+        0x47 => "0x47",
+        0x48 => "0x48",
+        0x49 => "0x49",
+        0x4a => "0x4a",
+        0x4b => "0x4b",
+        0x4c => "0x4c",
+        0x4d => "0x4d",
+        0x4e => "0x4e",
+        0x4f => "0x4f",
+        0x50 => "0x50",
+        0x51 => "0x51",
+        0x52 => "0x52",
+        0x53 => "0x53",
+        0x54 => "0x54",
+        0x55 => "0x55",
+        0x56 => "0x56",
+        0x57 => "0x57",
+        0x58 => "0x58",
+        0x59 => "0x59",
+        0x5a => "0x5a",
+        0x5b => "0x5b",
+        0x5c => "0x5c",
+        0x5d => "0x5d",
+        0x5e => "0x5e",
+        0x5f => "0x5f",
+        0x60 => "0x60",
+        0x61 => "0x61",
+        0x62 => "0x62",
+        0x63 => "0x63",
+        0x64 => "0x64",
+        0x65 => "0x65",
+        0x66 => "0x66",
+        0x67 => "0x67",
+        0x68 => "0x68",
+        0x69 => "0x69",
+        0x6a => "0x6a",
+        0x6b => "0x6b",
+        0x6c => "0x6c",
+        0x6d => "0x6d",
+        0x6e => "0x6e",
+        0x6f => "0x6f",
+        0x70 => "0x70",
+        0x71 => "0x71",
+        0x72 => "0x72",
+        0x73 => "0x73",
+        0x74 => "0x74",
+        0x75 => "0x75",
+        0x76 => "0x76",
+        0x77 => "0x77",
+        0x78 => "0x78",
+        0x79 => "0x79",
+        0x7a => "0x7a",
+        0x7b => "0x7b",
+        0x7c => "0x7c",
+        0x7d => "0x7d",
+        0x7e => "0x7e",
+        0x7f => "0x7f",
+        0x80 => "0x80",
+        0x81 => "0x81",
+        0x82 => "0x82",
+        0x83 => "0x83",
+        0x84 => "0x84",
+        0x85 => "0x85",
+        0x86 => "0x86",
+        0x87 => "0x87",
+        0x88 => "0x88",
+        0x89 => "0x89",
+        0x8a => "0x8a",
+        0x8b => "0x8b",
+        0x8c => "0x8c",
+        0x8d => "0x8d",
+        0x8e => "0x8e",
+        0x8f => "0x8f",
+        0x90 => "0x90",
+        0x91 => "0x91",
+        0x92 => "0x92",
+        0x93 => "0x93",
+        0x94 => "0x94",
+        0x95 => "0x95",
+        0x96 => "0x96",
+        0x97 => "0x97",
+        0x98 => "0x98",
+        0x99 => "0x99",
+        0x9a => "0x9a",
+        0x9b => "0x9b",
+        0x9c => "0x9c",
+        0x9d => "0x9d",
+        0x9e => "0x9e",
+        0x9f => "0x9f",
+        0xa0 => "0xa0",
+        0xa1 => "0xa1",
+        0xa2 => "0xa2",
+        0xa3 => "0xa3",
+        0xa4 => "0xa4",
+        0xa5 => "0xa5",
+        0xa6 => "0xa6",
+        0xa7 => "0xa7",
+        0xa8 => "0xa8",
+        0xa9 => "0xa9",
+        0xaa => "0xaa",
+        0xab => "0xab",
+        0xac => "0xac",
+        0xad => "0xad",
+        0xae => "0xae",
+        0xaf => "0xaf",
+        0xb0 => "0xb0",
+        0xb1 => "0xb1",
+        0xb2 => "0xb2",
+        0xb3 => "0xb3",
+        0xb4 => "0xb4",
+        0xb5 => "0xb5",
+        0xb6 => "0xb6",
+        0xb7 => "0xb7",
+        0xb8 => "0xb8",
+        0xb9 => "0xb9",
+        0xba => "0xba",
+        0xbb => "0xbb",
+        0xbc => "0xbc",
+        0xbd => "0xbd",
+        0xbe => "0xbe",
+        0xbf => "0xbf",
+        0xc0 => "0xc0",
+        0xc1 => "0xc1",
+        0xc2 => "0xc2",
+        0xc3 => "0xc3",
+        0xc4 => "0xc4",
+        0xc5 => "0xc5",
+        0xc6 => "0xc6",
+        0xc7 => "0xc7",
+        0xc8 => "0xc8",
+        0xc9 => "0xc9",
+        0xca => "0xca",
+        0xcb => "0xcb",
+        0xcc => "0xcc",
+        0xcd => "0xcd",
+        0xce => "0xce",
+        0xcf => "0xcf",
+        0xd0 => "0xd0",
+        0xd1 => "0xd1",
+        0xd2 => "0xd2",
+        0xd3 => "0xd3",
+        0xd4 => "0xd4",
+        0xd5 => "0xd5",
+        0xd6 => "0xd6",
+        0xd7 => "0xd7",
+        0xd8 => "0xd8",
+        0xd9 => "0xd9",
+        0xda => "0xda",
+        0xdb => "0xdb",
+        0xdc => "0xdc",
+        0xdd => "0xdd",
+        0xde => "0xde",
+        0xdf => "0xdf",
+        0xe0 => "0xe0",
+        0xe1 => "0xe1",
+        0xe2 => "0xe2",
+        0xe3 => "0xe3",
+        0xe4 => "0xe4",
+        0xe5 => "0xe5",
+        0xe6 => "0xe6",
+        0xe7 => "0xe7",
+        0xe8 => "0xe8",
+        0xe9 => "0xe9",
+        0xea => "0xea",
+        0xeb => "0xeb",
+        0xec => "0xec",
+        0xed => "0xed",
+        0xee => "0xee",
+        0xef => "0xef",
+        0xf0 => "0xf0",
+        0xf1 => "0xf1",
+        0xf2 => "0xf2",
+        0xf3 => "0xf3",
+        0xf4 => "0xf4",
+        0xf5 => "0xf5",
+        0xf6 => "0xf6",
+        0xf7 => "0xf7",
+        0xf8 => "0xf8",
+        0xf9 => "0xf9",
+        0xfa => "0xfa",
+        0xfb => "0xfb",
+        0xfc => "0xfc",
+        0xfd => "0xfd",
+        0xfe => "0xfe",
+        0xff => "0xff",
+        0x100 => "0x100",
+        0x101 => "0x101",
+        0x102 => "0x102",
+        0x103 => "0x103",
+        0x104 => "0x104",
+        0x105 => "0x105",
+        0x106 => "0x106",
+        0x107 => "0x107",
+        0x108 => "0x108",
+        0x109 => "0x109",
+        0x10a => "0x10a",
+        0x10b => "0x10b",
+        0x10c => "0x10c",
+        0x10d => "0x10d",
+        0x10e => "0x10e",
+        0x10f => "0x10f",
+        0x110 => "0x110",
+        0x111 => "0x111",
+        0x112 => "0x112",
+        0x113 => "0x113",
+        0x114 => "0x114",
+        0x115 => "0x115",
+        0x116 => "0x116",
+        0x117 => "0x117",
+        0x118 => "0x118",
+        0x119 => "0x119",
+        0x11a => "0x11a",
+        0x11b => "0x11b",
+        0x11c => "0x11c",
+        0x11d => "0x11d",
+        0x11e => "0x11e",
+        0x11f => "0x11f",
+        0x120 => "0x120",
+        0x121 => "0x121",
+        0x122 => "0x122",
+        0x123 => "0x123",
+        0x124 => "0x124",
+        0x125 => "0x125",
+        0x126 => "0x126",
+        0x127 => "0x127",
+        0x128 => "0x128",
+        0x129 => "0x129",
+        0x12a => "0x12a",
+        0x12b => "0x12b",
+        0x12c => "0x12c",
+        0x12d => "0x12d",
+        0x12e => "0x12e",
+        0x12f => "0x12f",
+        0x130 => "0x130",
+        0x131 => "0x131",
+        0x132 => "0x132",
+        0x133 => "0x133",
+        0x134 => "0x134",
+        0x135 => "0x135",
+        0x136 => "0x136",
+        0x137 => "0x137",
+        0x138 => "0x138",
+        0x139 => "0x139",
+        0x13a => "0x13a",
+        0x13b => "0x13b",
+        0x13c => "0x13c",
+        0x13d => "0x13d",
+        0x13e => "0x13e",
+        0x13f => "0x13f",
+        0x140 => "0x140",
+        0x141 => "0x141",
+        0x142 => "0x142",
+        0x143 => "0x143",
+        0x144 => "0x144",
+        0x145 => "0x145",
+        0x146 => "0x146",
+        0x147 => "0x147",
+        0x148 => "0x148",
+        0x149 => "0x149",
+        0x14a => "0x14a",
+        0x14b => "0x14b",
+        0x14c => "0x14c",
+        0x14d => "0x14d",
+        0x14e => "0x14e",
+        0x14f => "0x14f",
+        0x150 => "0x150",
+        0x151 => "0x151",
+        0x152 => "0x152",
+        0x153 => "0x153",
+        0x154 => "0x154",
+        0x155 => "0x155",
+        0x156 => "0x156",
+        0x157 => "0x157",
+        0x158 => "0x158",
+        0x159 => "0x159",
+        0x15a => "0x15a",
+        0x15b => "0x15b",
+        0x15c => "0x15c",
+        0x15d => "0x15d",
+        0x15e => "0x15e",
+        0x15f => "0x15f",
+        0x160 => "0x160",
+        0x161 => "0x161",
+        0x162 => "0x162",
+        0x163 => "0x163",
+        0x164 => "0x164",
+        0x165 => "0x165",
+        0x166 => "0x166",
+        0x167 => "0x167",
+        0x168 => "0x168",
+        0x169 => "0x169",
+        0x16a => "0x16a",
+        0x16b => "0x16b",
+        0x16c => "0x16c",
+        0x16d => "0x16d",
+        0x16e => "0x16e",
+        0x16f => "0x16f",
+        0x170 => "0x170",
+        0x171 => "0x171",
+        0x172 => "0x172",
+        0x173 => "0x173",
+        0x174 => "0x174",
+        0x175 => "0x175",
+        0x176 => "0x176",
+        0x177 => "0x177",
+        0x178 => "0x178",
+        0x179 => "0x179",
+        0x17a => "0x17a",
+        0x17b => "0x17b",
+        0x17c => "0x17c",
+        0x17d => "0x17d",
+        0x17e => "0x17e",
+        0x17f => "0x17f",
+        0x180 => "0x180",
+        0x181 => "0x181",
+        0x182 => "0x182",
+        0x183 => "0x183",
+        0x184 => "0x184",
+        0x185 => "0x185",
+        0x186 => "0x186",
+        0x187 => "0x187",
+        0x188 => "0x188",
+        0x189 => "0x189",
+        0x18a => "0x18a",
+        0x18b => "0x18b",
+        0x18c => "0x18c",
+        0x18d => "0x18d",
+        0x18e => "0x18e",
+        0x18f => "0x18f",
+        0x190 => "0x190",
+        0x191 => "0x191",
+        0x192 => "0x192",
+        0x193 => "0x193",
+        0x194 => "0x194",
+        0x195 => "0x195",
+        0x196 => "0x196",
+        0x197 => "0x197",
+        0x198 => "0x198",
+        0x199 => "0x199",
+        0x19a => "0x19a",
+        0x19b => "0x19b",
+        0x19c => "0x19c",
+        0x19d => "0x19d",
+        0x19e => "0x19e",
+        0x19f => "0x19f",
+        0x1a0 => "0x1a0",
+        0x1a1 => "0x1a1",
+        0x1a2 => "0x1a2",
+        0x1a3 => "0x1a3",
+        0x1a4 => "0x1a4",
+        0x1a5 => "0x1a5",
+        0x1a6 => "0x1a6",
+        0x1a7 => "0x1a7",
+        0x1a8 => "0x1a8",
+        0x1a9 => "0x1a9",
+        0x1aa => "0x1aa",
+        0x1ab => "0x1ab",
+        0x1ac => "0x1ac",
+        0x1ad => "0x1ad",
+        0x1ae => "0x1ae",
+        0x1af => "0x1af",
+        0x1b0 => "0x1b0",
+        0x1b1 => "0x1b1",
+        0x1b2 => "0x1b2",
+        0x1b3 => "0x1b3",
+        0x1b4 => "0x1b4",
+        0x1b5 => "0x1b5",
+        0x1b6 => "0x1b6",
+        0x1b7 => "0x1b7",
+        0x1b8 => "0x1b8",
+        0x1b9 => "0x1b9",
+        0x1ba => "0x1ba",
+        0x1bb => "0x1bb",
+        0x1bc => "0x1bc",
+        0x1bd => "0x1bd",
+        0x1be => "0x1be",
+        0x1bf => "0x1bf",
+        0x1c0 => "0x1c0",
+        0x1c1 => "0x1c1",
+        0x1c2 => "0x1c2",
+        0x1c3 => "0x1c3",
+        0x1c4 => "0x1c4",
+        0x1c5 => "0x1c5",
+        0x1c6 => "0x1c6",
+        0x1c7 => "0x1c7",
+        0x1c8 => "0x1c8",
+        0x1c9 => "0x1c9",
+        0x1ca => "0x1ca",
+        0x1cb => "0x1cb",
+        0x1cc => "0x1cc",
+        0x1cd => "0x1cd",
+        0x1ce => "0x1ce",
+        0x1cf => "0x1cf",
+        0x1d0 => "0x1d0",
+        0x1d1 => "0x1d1",
+        0x1d2 => "0x1d2",
+        0x1d3 => "0x1d3",
+        0x1d4 => "0x1d4",
+        0x1d5 => "0x1d5",
+        0x1d6 => "0x1d6",
+        0x1d7 => "0x1d7",
+        0x1d8 => "0x1d8",
+        0x1d9 => "0x1d9",
+        0x1da => "0x1da",
+        0x1db => "0x1db",
+        0x1dc => "0x1dc",
+        0x1dd => "0x1dd",
+        0x1de => "0x1de",
+        0x1df => "0x1df",
+        0x1e0 => "0x1e0",
+        0x1e1 => "0x1e1",
+        0x1e2 => "0x1e2",
+        0x1e3 => "0x1e3",
+        0x1e4 => "0x1e4",
+        0x1e5 => "0x1e5",
+        0x1e6 => "0x1e6",
+        0x1e7 => "0x1e7",
+        0x1e8 => "0x1e8",
+        0x1e9 => "0x1e9",
+        0x1ea => "0x1ea",
+        0x1eb => "0x1eb",
+        0x1ec => "0x1ec",
+        0x1ed => "0x1ed",
+        0x1ee => "0x1ee",
+        0x1ef => "0x1ef",
+        0x1f0 => "0x1f0",
+        0x1f1 => "0x1f1",
+        0x1f2 => "0x1f2",
+        0x1f3 => "0x1f3",
+        0x1f4 => "0x1f4",
+        0x1f5 => "0x1f5",
+        0x1f6 => "0x1f6",
+        0x1f7 => "0x1f7",
+        0x1f8 => "0x1f8",
+        0x1f9 => "0x1f9",
+        0x1fa => "0x1fa",
+        0x1fb => "0x1fb",
+        0x1fc => "0x1fc",
+        0x1fd => "0x1fd",
+        0x1fe => "0x1fe",
+        0x1ff => "0x1ff",
+        0x200 => "0x200",
+        0x201 => "0x201",
+        0x202 => "0x202",
+        0x203 => "0x203",
+        0x204 => "0x204",
+        0x205 => "0x205",
+        0x206 => "0x206",
+        0x207 => "0x207",
+        0x208 => "0x208",
+        0x209 => "0x209",
+        0x20a => "0x20a",
+        0x20b => "0x20b",
+        0x20c => "0x20c",
+        0x20d => "0x20d",
+        0x20e => "0x20e",
+        0x20f => "0x20f",
+        0x210 => "0x210",
+        0x211 => "0x211",
+        0x212 => "0x212",
+        0x213 => "0x213",
+        0x214 => "0x214",
+        0x215 => "0x215",
+        0x216 => "0x216",
+        0x217 => "0x217",
+        0x218 => "0x218",
+        0x219 => "0x219",
+        0x21a => "0x21a",
+        0x21b => "0x21b",
+        0x21c => "0x21c",
+        0x21d => "0x21d",
+        0x21e => "0x21e",
+        0x21f => "0x21f",
+        0x220 => "0x220",
+        0x221 => "0x221",
+        0x222 => "0x222",
+        0x223 => "0x223",
+        0x224 => "0x224",
+        0x225 => "0x225",
+        0x226 => "0x226",
+        0x227 => "0x227",
+        0x228 => "0x228",
+        0x229 => "0x229",
+        0x22a => "0x22a",
+        0x22b => "0x22b",
+        0x22c => "0x22c",
+        0x22d => "0x22d",
+        0x22e => "0x22e",
+        0x22f => "0x22f",
+        0x230 => "0x230",
+        0x231 => "0x231",
+        0x232 => "0x232",
+        0x233 => "0x233",
+        0x234 => "0x234",
+        0x235 => "0x235",
+        0x236 => "0x236",
+        0x237 => "0x237",
+        0x238 => "0x238",
+        0x239 => "0x239",
+        0x23a => "0x23a",
+        0x23b => "0x23b",
+        0x23c => "0x23c",
+        0x23d => "0x23d",
+        0x23e => "0x23e",
+        0x23f => "0x23f",
+        0x240 => "0x240",
+        0x241 => "0x241",
+        0x242 => "0x242",
+        0x243 => "0x243",
+        0x244 => "0x244",
+        0x245 => "0x245",
+        0x246 => "0x246",
+        0x247 => "0x247",
+        0x248 => "0x248",
+        0x249 => "0x249",
+        0x24a => "0x24a",
+        0x24b => "0x24b",
+        0x24c => "0x24c",
+        0x24d => "0x24d",
+        0x24e => "0x24e",
+        0x24f => "0x24f",
+        0x250 => "0x250",
+        0x251 => "0x251",
+        0x252 => "0x252",
+        0x253 => "0x253",
+        0x254 => "0x254",
+        0x255 => "0x255",
+        0x256 => "0x256",
+        0x257 => "0x257",
+        0x258 => "0x258",
+        0x259 => "0x259",
+        0x25a => "0x25a",
+        0x25b => "0x25b",
+        0x25c => "0x25c",
+        0x25d => "0x25d",
+        0x25e => "0x25e",
+        0x25f => "0x25f",
+        0x260 => "0x260",
+        0x261 => "0x261",
+        0x262 => "0x262",
+        0x263 => "0x263",
+        0x264 => "0x264",
+        0x265 => "0x265",
+        0x266 => "0x266",
+        0x267 => "0x267",
+        0x268 => "0x268",
+        0x269 => "0x269",
+        0x26a => "0x26a",
+        0x26b => "0x26b",
+        0x26c => "0x26c",
+        0x26d => "0x26d",
+        0x26e => "0x26e",
+        0x26f => "0x26f",
+        0x270 => "0x270",
+        0x271 => "0x271",
+        0x272 => "0x272",
+        0x273 => "0x273",
+        0x274 => "0x274",
+        0x275 => "0x275",
+        0x276 => "0x276",
+        0x277 => "0x277",
+        0x278 => "0x278",
+        0x279 => "0x279",
+        0x27a => "0x27a",
+        0x27b => "0x27b",
+        0x27c => "0x27c",
+        0x27d => "0x27d",
+        0x27e => "0x27e",
+        0x27f => "0x27f",
+        0x280 => "0x280",
+        0x281 => "0x281",
+        0x282 => "0x282",
+        0x283 => "0x283",
+        0x284 => "0x284",
+        0x285 => "0x285",
+        0x286 => "0x286",
+        0x287 => "0x287",
+        0x288 => "0x288",
+        0x289 => "0x289",
+        0x28a => "0x28a",
+        0x28b => "0x28b",
+        0x28c => "0x28c",
+        0x28d => "0x28d",
+        0x28e => "0x28e",
+        0x28f => "0x28f",
+        0x290 => "0x290",
+        0x291 => "0x291",
+        0x292 => "0x292",
+        0x293 => "0x293",
+        0x294 => "0x294",
+        0x295 => "0x295",
+        0x296 => "0x296",
+        0x297 => "0x297",
+        0x298 => "0x298",
+        0x299 => "0x299",
+        0x29a => "0x29a",
+        0x29b => "0x29b",
+        0x29c => "0x29c",
+        0x29d => "0x29d",
+        0x29e => "0x29e",
+        0x29f => "0x29f",
+        0x2a0 => "0x2a0",
+        0x2a1 => "0x2a1",
+        0x2a2 => "0x2a2",
+        0x2a3 => "0x2a3",
+        0x2a4 => "0x2a4",
+        0x2a5 => "0x2a5",
+        0x2a6 => "0x2a6",
+        0x2a7 => "0x2a7",
+        0x2a8 => "0x2a8",
+        0x2a9 => "0x2a9",
+        0x2aa => "0x2aa",
+        0x2ab => "0x2ab",
+        0x2ac => "0x2ac",
+        0x2ad => "0x2ad",
+        0x2ae => "0x2ae",
+        0x2af => "0x2af",
+        0x2b0 => "0x2b0",
+        0x2b1 => "0x2b1",
+        0x2b2 => "0x2b2",
+        0x2b3 => "0x2b3",
+        0x2b4 => "0x2b4",
+        0x2b5 => "0x2b5",
+        0x2b6 => "0x2b6",
+        0x2b7 => "0x2b7",
+        0x2b8 => "0x2b8",
+        0x2b9 => "0x2b9",
+        0x2ba => "0x2ba",
+        0x2bb => "0x2bb",
+        0x2bc => "0x2bc",
+        0x2bd => "0x2bd",
+        0x2be => "0x2be",
+        0x2bf => "0x2bf",
+        0x2c0 => "0x2c0",
+        0x2c1 => "0x2c1",
+        0x2c2 => "0x2c2",
+        0x2c3 => "0x2c3",
+        0x2c4 => "0x2c4",
+        0x2c5 => "0x2c5",
+        0x2c6 => "0x2c6",
+        0x2c7 => "0x2c7",
+        0x2c8 => "0x2c8",
+        0x2c9 => "0x2c9",
+        0x2ca => "0x2ca",
+        0x2cb => "0x2cb",
+        0x2cc => "0x2cc",
+        0x2cd => "0x2cd",
+        0x2ce => "0x2ce",
+        0x2cf => "0x2cf",
+        0x2d0 => "0x2d0",
+        0x2d1 => "0x2d1",
+        0x2d2 => "0x2d2",
+        0x2d3 => "0x2d3",
+        0x2d4 => "0x2d4",
+        0x2d5 => "0x2d5",
+        0x2d6 => "0x2d6",
+        0x2d7 => "0x2d7",
+        0x2d8 => "0x2d8",
+        0x2d9 => "0x2d9",
+        0x2da => "0x2da",
+        0x2db => "0x2db",
+        0x2dc => "0x2dc",
+        0x2dd => "0x2dd",
+        0x2de => "0x2de",
+        0x2df => "0x2df",
+        0x2e0 => "0x2e0",
+        0x2e1 => "0x2e1",
+        0x2e2 => "0x2e2",
+        0x2e3 => "0x2e3",
+        0x2e4 => "0x2e4",
+        0x2e5 => "0x2e5",
+        0x2e6 => "0x2e6",
+        0x2e7 => "0x2e7",
+        0x2e8 => "0x2e8",
+        0x2e9 => "0x2e9",
+        0x2ea => "0x2ea",
+        0x2eb => "0x2eb",
+        0x2ec => "0x2ec",
+        0x2ed => "0x2ed",
+        0x2ee => "0x2ee",
+        0x2ef => "0x2ef",
+        0x2f0 => "0x2f0",
+        0x2f1 => "0x2f1",
+        0x2f2 => "0x2f2",
+        0x2f3 => "0x2f3",
+        0x2f4 => "0x2f4",
+        0x2f5 => "0x2f5",
+        0x2f6 => "0x2f6",
+        0x2f7 => "0x2f7",
+        0x2f8 => "0x2f8",
+        0x2f9 => "0x2f9",
+        0x2fa => "0x2fa",
+        0x2fb => "0x2fb",
+        0x2fc => "0x2fc",
+        0x2fd => "0x2fd",
+        0x2fe => "0x2fe",
+        0x2ff => "0x2ff",
+        0x300 => "0x300",
+        0x301 => "0x301",
+        0x302 => "0x302",
+        0x303 => "0x303",
+        0x304 => "0x304",
+        0x305 => "0x305",
+        0x306 => "0x306",
+        0x307 => "0x307",
+        0x308 => "0x308",
+        0x309 => "0x309",
+        0x30a => "0x30a",
+        0x30b => "0x30b",
+        0x30c => "0x30c",
+        0x30d => "0x30d",
+        0x30e => "0x30e",
+        0x30f => "0x30f",
+        0x310 => "0x310",
+        0x311 => "0x311",
+        0x312 => "0x312",
+        0x313 => "0x313",
+        0x314 => "0x314",
+        0x315 => "0x315",
+        0x316 => "0x316",
+        0x317 => "0x317",
+        0x318 => "0x318",
+        0x319 => "0x319",
+        0x31a => "0x31a",
+        0x31b => "0x31b",
+        0x31c => "0x31c",
+        0x31d => "0x31d",
+        0x31e => "0x31e",
+        0x31f => "0x31f",
+        0x320 => "0x320",
+        0x321 => "0x321",
+        0x322 => "0x322",
+        0x323 => "0x323",
+        0x324 => "0x324",
+        0x325 => "0x325",
+        0x326 => "0x326",
+        0x327 => "0x327",
+        0x328 => "0x328",
+        0x329 => "0x329",
+        0x32a => "0x32a",
+        0x32b => "0x32b",
+        0x32c => "0x32c",
+        0x32d => "0x32d",
+        0x32e => "0x32e",
+        0x32f => "0x32f",
+        0x330 => "0x330",
+        0x331 => "0x331",
+        0x332 => "0x332",
+        0x333 => "0x333",
+        0x334 => "0x334",
+        0x335 => "0x335",
+        0x336 => "0x336",
+        0x337 => "0x337",
+        0x338 => "0x338",
+        0x339 => "0x339",
+        0x33a => "0x33a",
+        0x33b => "0x33b",
+        0x33c => "0x33c",
+        0x33d => "0x33d",
+        0x33e => "0x33e",
+        0x33f => "0x33f",
+        0x340 => "0x340",
+        0x341 => "0x341",
+        0x342 => "0x342",
+        0x343 => "0x343",
+        0x344 => "0x344",
+        0x345 => "0x345",
+        0x346 => "0x346",
+        0x347 => "0x347",
+        0x348 => "0x348",
+        0x349 => "0x349",
+        0x34a => "0x34a",
+        0x34b => "0x34b",
+        0x34c => "0x34c",
+        0x34d => "0x34d",
+        0x34e => "0x34e",
+        0x34f => "0x34f",
+        0x350 => "0x350",
+        0x351 => "0x351",
+        0x352 => "0x352",
+        0x353 => "0x353",
+        0x354 => "0x354",
+        0x355 => "0x355",
+        0x356 => "0x356",
+        0x357 => "0x357",
+        0x358 => "0x358",
+        0x359 => "0x359",
+        0x35a => "0x35a",
+        0x35b => "0x35b",
+        0x35c => "0x35c",
+        0x35d => "0x35d",
+        0x35e => "0x35e",
+        0x35f => "0x35f",
+        0x360 => "0x360",
+        0x361 => "0x361",
+        0x362 => "0x362",
+        0x363 => "0x363",
+        0x364 => "0x364",
+        0x365 => "0x365",
+        0x366 => "0x366",
+        0x367 => "0x367",
+        0x368 => "0x368",
+        0x369 => "0x369",
+        0x36a => "0x36a",
+        0x36b => "0x36b",
+        0x36c => "0x36c",
+        0x36d => "0x36d",
+        0x36e => "0x36e",
+        0x36f => "0x36f",
+        0x370 => "0x370",
+        0x371 => "0x371",
+        0x372 => "0x372",
+        0x373 => "0x373",
+        0x374 => "0x374",
+        0x375 => "0x375",
+        0x376 => "0x376",
+        0x377 => "0x377",
+        0x378 => "0x378",
+        0x379 => "0x379",
+        0x37a => "0x37a",
+        0x37b => "0x37b",
+        0x37c => "0x37c",
+        0x37d => "0x37d",
+        0x37e => "0x37e",
+        0x37f => "0x37f",
+        0x380 => "0x380",
+        0x381 => "0x381",
+        0x382 => "0x382",
+        0x383 => "0x383",
+        0x384 => "0x384",
+        0x385 => "0x385",
+        0x386 => "0x386",
+        0x387 => "0x387",
+        0x388 => "0x388",
+        0x389 => "0x389",
+        0x38a => "0x38a",
+        0x38b => "0x38b",
+        0x38c => "0x38c",
+        0x38d => "0x38d",
+        0x38e => "0x38e",
+        0x38f => "0x38f",
+        0x390 => "0x390",
+        0x391 => "0x391",
+        0x392 => "0x392",
+        0x393 => "0x393",
+        0x394 => "0x394",
+        0x395 => "0x395",
+        0x396 => "0x396",
+        0x397 => "0x397",
+        0x398 => "0x398",
+        0x399 => "0x399",
+        0x39a => "0x39a",
+        0x39b => "0x39b",
+        0x39c => "0x39c",
+        0x39d => "0x39d",
+        0x39e => "0x39e",
+        0x39f => "0x39f",
+        0x3a0 => "0x3a0",
+        0x3a1 => "0x3a1",
+        0x3a2 => "0x3a2",
+        0x3a3 => "0x3a3",
+        0x3a4 => "0x3a4",
+        0x3a5 => "0x3a5",
+        0x3a6 => "0x3a6",
+        0x3a7 => "0x3a7",
+        0x3a8 => "0x3a8",
+        0x3a9 => "0x3a9",
+        0x3aa => "0x3aa",
+        0x3ab => "0x3ab",
+        0x3ac => "0x3ac",
+        0x3ad => "0x3ad",
+        0x3ae => "0x3ae",
+        0x3af => "0x3af",
+        0x3b0 => "0x3b0",
+        0x3b1 => "0x3b1",
+        0x3b2 => "0x3b2",
+        0x3b3 => "0x3b3",
+        0x3b4 => "0x3b4",
+        0x3b5 => "0x3b5",
+        0x3b6 => "0x3b6",
+        0x3b7 => "0x3b7",
+        0x3b8 => "0x3b8",
+        0x3b9 => "0x3b9",
+        0x3ba => "0x3ba",
+        0x3bb => "0x3bb",
+        0x3bc => "0x3bc",
+        0x3bd => "0x3bd",
+        0x3be => "0x3be",
+        0x3bf => "0x3bf",
+        0x3c0 => "0x3c0",
+        0x3c1 => "0x3c1",
+        0x3c2 => "0x3c2",
+        0x3c3 => "0x3c3",
+        0x3c4 => "0x3c4",
+        0x3c5 => "0x3c5",
+        0x3c6 => "0x3c6",
+        0x3c7 => "0x3c7",
+        0x3c8 => "0x3c8",
+        0x3c9 => "0x3c9",
+        0x3ca => "0x3ca",
+        0x3cb => "0x3cb",
+        0x3cc => "0x3cc",
+        0x3cd => "0x3cd",
+        0x3ce => "0x3ce",
+        0x3cf => "0x3cf",
+        0x3d0 => "0x3d0",
+        0x3d1 => "0x3d1",
+        0x3d2 => "0x3d2",
+        0x3d3 => "0x3d3",
+        0x3d4 => "0x3d4",
+        0x3d5 => "0x3d5",
+        0x3d6 => "0x3d6",
+        0x3d7 => "0x3d7",
+        0x3d8 => "0x3d8",
+        0x3d9 => "0x3d9",
+        0x3da => "0x3da",
+        0x3db => "0x3db",
+        0x3dc => "0x3dc",
+        0x3dd => "0x3dd",
+        0x3de => "0x3de",
+        0x3df => "0x3df",
+        0x3e0 => "0x3e0",
+        0x3e1 => "0x3e1",
+        0x3e2 => "0x3e2",
+        0x3e3 => "0x3e3",
+        0x3e4 => "0x3e4",
+        0x3e5 => "0x3e5",
+        0x3e6 => "0x3e6",
+        0x3e7 => "0x3e7",
+        0x3e8 => "0x3e8",
+        0x3e9 => "0x3e9",
+        0x3ea => "0x3ea",
+        0x3eb => "0x3eb",
+        0x3ec => "0x3ec",
+        0x3ed => "0x3ed",
+        0x3ee => "0x3ee",
+        0x3ef => "0x3ef",
+        0x3f0 => "0x3f0",
+        0x3f1 => "0x3f1",
+        0x3f2 => "0x3f2",
+        0x3f3 => "0x3f3",
+        0x3f4 => "0x3f4",
+        0x3f5 => "0x3f5",
+        0x3f6 => "0x3f6",
+        0x3f7 => "0x3f7",
+        0x3f8 => "0x3f8",
+        0x3f9 => "0x3f9",
+        0x3fa => "0x3fa",
+        0x3fb => "0x3fb",
+        0x3fc => "0x3fc",
+        0x3fd => "0x3fd",
+        0x3fe => "0x3fe",
+        0x3ff => "0x3ff",
+        0x400 => "0x400",
+        0x401 => "0x401",
+        0x402 => "0x402",
+        0x403 => "0x403",
+        0x404 => "0x404",
+        0x405 => "0x405",
+        0x406 => "0x406",
+        0x407 => "0x407",
+        0x408 => "0x408",
+        0x409 => "0x409",
+        0x40a => "0x40a",
+        0x40b => "0x40b",
+        0x40c => "0x40c",
+        0x40d => "0x40d",
+        0x40e => "0x40e",
+        0x40f => "0x40f",
+        0x410 => "0x410",
+        0x411 => "0x411",
+        0x412 => "0x412",
+        0x413 => "0x413",
+        0x414 => "0x414",
+        0x415 => "0x415",
+        0x416 => "0x416",
+        0x417 => "0x417",
+        0x418 => "0x418",
+        0x419 => "0x419",
+        0x41a => "0x41a",
+        0x41b => "0x41b",
+        0x41c => "0x41c",
+        0x41d => "0x41d",
+        0x41e => "0x41e",
+        0x41f => "0x41f",
+        0x420 => "0x420",
+        0x421 => "0x421",
+        0x422 => "0x422",
+        0x423 => "0x423",
+        0x424 => "0x424",
+        0x425 => "0x425",
+        0x426 => "0x426",
+        0x427 => "0x427",
+        0x428 => "0x428",
+        0x429 => "0x429",
+        0x42a => "0x42a",
+        0x42b => "0x42b",
+        0x42c => "0x42c",
+        0x42d => "0x42d",
+        0x42e => "0x42e",
+        0x42f => "0x42f",
+        0x430 => "0x430",
+        0x431 => "0x431",
+        0x432 => "0x432",
+        0x433 => "0x433",
+        0x434 => "0x434",
+        0x435 => "0x435",
+        0x436 => "0x436",
+        0x437 => "0x437",
+        0x438 => "0x438",
+        0x439 => "0x439",
+        0x43a => "0x43a",
+        0x43b => "0x43b",
+        0x43c => "0x43c",
+        0x43d => "0x43d",
+        0x43e => "0x43e",
+        0x43f => "0x43f",
+        0x440 => "0x440",
+        0x441 => "0x441",
+        0x442 => "0x442",
+        0x443 => "0x443",
+        0x444 => "0x444",
+        0x445 => "0x445",
+        0x446 => "0x446",
+        0x447 => "0x447",
+        0x448 => "0x448",
+        0x449 => "0x449",
+        0x44a => "0x44a",
+        0x44b => "0x44b",
+        0x44c => "0x44c",
+        0x44d => "0x44d",
+        0x44e => "0x44e",
+        0x44f => "0x44f",
+        0x450 => "0x450",
+        0x451 => "0x451",
+        0x452 => "0x452",
+        0x453 => "0x453",
+        0x454 => "0x454",
+        0x455 => "0x455",
+        0x456 => "0x456",
+        0x457 => "0x457",
+        0x458 => "0x458",
+        0x459 => "0x459",
+        0x45a => "0x45a",
+        0x45b => "0x45b",
+        0x45c => "0x45c",
+        0x45d => "0x45d",
+        0x45e => "0x45e",
+        0x45f => "0x45f",
+        0x460 => "0x460",
+        0x461 => "0x461",
+        0x462 => "0x462",
+        0x463 => "0x463",
+        0x464 => "0x464",
+        0x465 => "0x465",
+        0x466 => "0x466",
+        0x467 => "0x467",
+        0x468 => "0x468",
+        0x469 => "0x469",
+        0x46a => "0x46a",
+        0x46b => "0x46b",
+        0x46c => "0x46c",
+        0x46d => "0x46d",
+        0x46e => "0x46e",
+        0x46f => "0x46f",
+        0x470 => "0x470",
+        0x471 => "0x471",
+        0x472 => "0x472",
+        0x473 => "0x473",
+        0x474 => "0x474",
+        0x475 => "0x475",
+        0x476 => "0x476",
+        0x477 => "0x477",
+        0x478 => "0x478",
+        0x479 => "0x479",
+        0x47a => "0x47a",
+        0x47b => "0x47b",
+        0x47c => "0x47c",
+        0x47d => "0x47d",
+        0x47e => "0x47e",
+        0x47f => "0x47f",
+        0x480 => "0x480",
+        0x481 => "0x481",
+        0x482 => "0x482",
+        0x483 => "0x483",
+        0x484 => "0x484",
+        0x485 => "0x485",
+        0x486 => "0x486",
+        0x487 => "0x487",
+        0x488 => "0x488",
+        0x489 => "0x489",
+        0x48a => "0x48a",
+        0x48b => "0x48b",
+        0x48c => "0x48c",
+        0x48d => "0x48d",
+        0x48e => "0x48e",
+        0x48f => "0x48f",
+        0x490 => "0x490",
+        0x491 => "0x491",
+        0x492 => "0x492",
+        0x493 => "0x493",
+        0x494 => "0x494",
+        0x495 => "0x495",
+        0x496 => "0x496",
+        0x497 => "0x497",
+        0x498 => "0x498",
+        0x499 => "0x499",
+        0x49a => "0x49a",
+        0x49b => "0x49b",
+        0x49c => "0x49c",
+        0x49d => "0x49d",
+        0x49e => "0x49e",
+        0x49f => "0x49f",
+        0x4a0 => "0x4a0",
+        0x4a1 => "0x4a1",
+        0x4a2 => "0x4a2",
+        0x4a3 => "0x4a3",
+        0x4a4 => "0x4a4",
+        0x4a5 => "0x4a5",
+        0x4a6 => "0x4a6",
+        0x4a7 => "0x4a7",
+        0x4a8 => "0x4a8",
+        0x4a9 => "0x4a9",
+        0x4aa => "0x4aa",
+        0x4ab => "0x4ab",
+        0x4ac => "0x4ac",
+        0x4ad => "0x4ad",
+        0x4ae => "0x4ae",
+        0x4af => "0x4af",
+        0x4b0 => "0x4b0",
+        0x4b1 => "0x4b1",
+        0x4b2 => "0x4b2",
+        0x4b3 => "0x4b3",
+        0x4b4 => "0x4b4",
+        0x4b5 => "0x4b5",
+        0x4b6 => "0x4b6",
+        0x4b7 => "0x4b7",
+        0x4b8 => "0x4b8",
+        0x4b9 => "0x4b9",
+        0x4ba => "0x4ba",
+        0x4bb => "0x4bb",
+        0x4bc => "0x4bc",
+        0x4bd => "0x4bd",
+        0x4be => "0x4be",
+        0x4bf => "0x4bf",
+        0x4c0 => "0x4c0",
+        0x4c1 => "0x4c1",
+        0x4c2 => "0x4c2",
+        0x4c3 => "0x4c3",
+        0x4c4 => "0x4c4",
+        0x4c5 => "0x4c5",
+        0x4c6 => "0x4c6",
+        0x4c7 => "0x4c7",
+        0x4c8 => "0x4c8",
+        0x4c9 => "0x4c9",
+        0x4ca => "0x4ca",
+        0x4cb => "0x4cb",
+        0x4cc => "0x4cc",
+        0x4cd => "0x4cd",
+        0x4ce => "0x4ce",
+        0x4cf => "0x4cf",
+        0x4d0 => "0x4d0",
+        0x4d1 => "0x4d1",
+        0x4d2 => "0x4d2",
+        0x4d3 => "0x4d3",
+        0x4d4 => "0x4d4",
+        0x4d5 => "0x4d5",
+        0x4d6 => "0x4d6",
+        0x4d7 => "0x4d7",
+        0x4d8 => "0x4d8",
+        0x4d9 => "0x4d9",
+        0x4da => "0x4da",
+        0x4db => "0x4db",
+        0x4dc => "0x4dc",
+        0x4dd => "0x4dd",
+        0x4de => "0x4de",
+        0x4df => "0x4df",
+        0x4e0 => "0x4e0",
+        0x4e1 => "0x4e1",
+        0x4e2 => "0x4e2",
+        0x4e3 => "0x4e3",
+        0x4e4 => "0x4e4",
+        0x4e5 => "0x4e5",
+        0x4e6 => "0x4e6",
+        0x4e7 => "0x4e7",
+        0x4e8 => "0x4e8",
+        0x4e9 => "0x4e9",
+        0x4ea => "0x4ea",
+        0x4eb => "0x4eb",
+        0x4ec => "0x4ec",
+        0x4ed => "0x4ed",
+        0x4ee => "0x4ee",
+        0x4ef => "0x4ef",
+        0x4f0 => "0x4f0",
+        0x4f1 => "0x4f1",
+        0x4f2 => "0x4f2",
+        0x4f3 => "0x4f3",
+        0x4f4 => "0x4f4",
+        0x4f5 => "0x4f5",
+        0x4f6 => "0x4f6",
+        0x4f7 => "0x4f7",
+        0x4f8 => "0x4f8",
+        0x4f9 => "0x4f9",
+        0x4fa => "0x4fa",
+        0x4fb => "0x4fb",
+        0x4fc => "0x4fc",
+        0x4fd => "0x4fd",
+        0x4fe => "0x4fe",
+        0x4ff => "0x4ff",
+        0x500 => "0x500",
+        0x501 => "0x501",
+        0x502 => "0x502",
+        0x503 => "0x503",
+        0x504 => "0x504",
+        0x505 => "0x505",
+        0x506 => "0x506",
+        0x507 => "0x507",
+        0x508 => "0x508",
+        0x509 => "0x509",
+        0x50a => "0x50a",
+        0x50b => "0x50b",
+        0x50c => "0x50c",
+        0x50d => "0x50d",
+        0x50e => "0x50e",
+        0x50f => "0x50f",
+        0x510 => "0x510",
+        0x511 => "0x511",
+        0x512 => "0x512",
+        0x513 => "0x513",
+        0x514 => "0x514",
+        0x515 => "0x515",
+        0x516 => "0x516",
+        0x517 => "0x517",
+        0x518 => "0x518",
+        0x519 => "0x519",
+        0x51a => "0x51a",
+        0x51b => "0x51b",
+        0x51c => "0x51c",
+        0x51d => "0x51d",
+        0x51e => "0x51e",
+        0x51f => "0x51f",
+        0x520 => "0x520",
+        0x521 => "0x521",
+        0x522 => "0x522",
+        0x523 => "0x523",
+        0x524 => "0x524",
+        0x525 => "0x525",
+        0x526 => "0x526",
+        0x527 => "0x527",
+        0x528 => "0x528",
+        0x529 => "0x529",
+        0x52a => "0x52a",
+        0x52b => "0x52b",
+        0x52c => "0x52c",
+        0x52d => "0x52d",
+        0x52e => "0x52e",
+        0x52f => "0x52f",
+        0x530 => "0x530",
+        0x531 => "0x531",
+        0x532 => "0x532",
+        0x533 => "0x533",
+        0x534 => "0x534",
+        0x535 => "0x535",
+        0x536 => "0x536",
+        0x537 => "0x537",
+        0x538 => "0x538",
+        0x539 => "0x539",
+        0x53a => "0x53a",
+        0x53b => "0x53b",
+        0x53c => "0x53c",
+        0x53d => "0x53d",
+        0x53e => "0x53e",
+        0x53f => "0x53f",
+        0x540 => "0x540",
+        0x541 => "0x541",
+        0x542 => "0x542",
+        0x543 => "0x543",
+        0x544 => "0x544",
+        0x545 => "0x545",
+        0x546 => "0x546",
+        0x547 => "0x547",
+        0x548 => "0x548",
+        0x549 => "0x549",
+        0x54a => "0x54a",
+        0x54b => "0x54b",
+        0x54c => "0x54c",
+        0x54d => "0x54d",
+        0x54e => "0x54e",
+        0x54f => "0x54f",
+        0x550 => "0x550",
+        0x551 => "0x551",
+        0x552 => "0x552",
+        0x553 => "0x553",
+        0x554 => "0x554",
+        0x555 => "0x555",
+        0x556 => "0x556",
+        0x557 => "0x557",
+        0x558 => "0x558",
+        0x559 => "0x559",
+        0x55a => "0x55a",
+        0x55b => "0x55b",
+        0x55c => "0x55c",
+        0x55d => "0x55d",
+        0x55e => "0x55e",
+        0x55f => "0x55f",
+        0x560 => "0x560",
+        0x561 => "0x561",
+        0x562 => "0x562",
+        0x563 => "0x563",
+        0x564 => "0x564",
+        0x565 => "0x565",
+        0x566 => "0x566",
+        0x567 => "0x567",
+        0x568 => "0x568",
+        0x569 => "0x569",
+        0x56a => "0x56a",
+        0x56b => "0x56b",
+        0x56c => "0x56c",
+        0x56d => "0x56d",
+        0x56e => "0x56e",
+        0x56f => "0x56f",
+        0x570 => "0x570",
+        0x571 => "0x571",
+        0x572 => "0x572",
+        0x573 => "0x573",
+        0x574 => "0x574",
+        0x575 => "0x575",
+        0x576 => "0x576",
+        0x577 => "0x577",
+        0x578 => "0x578",
+        0x579 => "0x579",
+        0x57a => "0x57a",
+        0x57b => "0x57b",
+        0x57c => "0x57c",
+        0x57d => "0x57d",
+        0x57e => "0x57e",
+        0x57f => "0x57f",
+        0x580 => "0x580",
+        0x581 => "0x581",
+        0x582 => "0x582",
+        0x583 => "0x583",
+        0x584 => "0x584",
+        0x585 => "0x585",
+        0x586 => "0x586",
+        0x587 => "0x587",
+        0x588 => "0x588",
+        0x589 => "0x589",
+        0x58a => "0x58a",
+        0x58b => "0x58b",
+        0x58c => "0x58c",
+        0x58d => "0x58d",
+        0x58e => "0x58e",
+        0x58f => "0x58f",
+        0x590 => "0x590",
+        0x591 => "0x591",
+        0x592 => "0x592",
+        0x593 => "0x593",
+        0x594 => "0x594",
+        0x595 => "0x595",
+        0x596 => "0x596",
+        0x597 => "0x597",
+        0x598 => "0x598",
+        0x599 => "0x599",
+        0x59a => "0x59a",
+        0x59b => "0x59b",
+        0x59c => "0x59c",
+        0x59d => "0x59d",
+        0x59e => "0x59e",
+        0x59f => "0x59f",
+        0x5a0 => "0x5a0",
+        0x5a1 => "0x5a1",
+        0x5a2 => "0x5a2",
+        0x5a3 => "0x5a3",
+        0x5a4 => "0x5a4",
+        0x5a5 => "0x5a5",
+        0x5a6 => "0x5a6",
+        0x5a7 => "0x5a7",
+        0x5a8 => "0x5a8",
+        0x5a9 => "0x5a9",
+        0x5aa => "0x5aa",
+        0x5ab => "0x5ab",
+        0x5ac => "0x5ac",
+        0x5ad => "0x5ad",
+        0x5ae => "0x5ae",
+        0x5af => "0x5af",
+        0x5b0 => "0x5b0",
+        0x5b1 => "0x5b1",
+        0x5b2 => "0x5b2",
+        0x5b3 => "0x5b3",
+        0x5b4 => "0x5b4",
+        0x5b5 => "0x5b5",
+        0x5b6 => "0x5b6",
+        0x5b7 => "0x5b7",
+        0x5b8 => "0x5b8",
+        0x5b9 => "0x5b9",
+        0x5ba => "0x5ba",
+        0x5bb => "0x5bb",
+        0x5bc => "0x5bc",
+        0x5bd => "0x5bd",
+        0x5be => "0x5be",
+        0x5bf => "0x5bf",
+        0x5c0 => "0x5c0",
+        0x5c1 => "0x5c1",
+        0x5c2 => "0x5c2",
+        0x5c3 => "0x5c3",
+        0x5c4 => "0x5c4",
+        0x5c5 => "0x5c5",
+        0x5c6 => "0x5c6",
+        0x5c7 => "0x5c7",
+        0x5c8 => "0x5c8",
+        0x5c9 => "0x5c9",
+        0x5ca => "0x5ca",
+        0x5cb => "0x5cb",
+        0x5cc => "0x5cc",
+        0x5cd => "0x5cd",
+        0x5ce => "0x5ce",
+        0x5cf => "0x5cf",
+        0x5d0 => "0x5d0",
+        0x5d1 => "0x5d1",
+        0x5d2 => "0x5d2",
+        0x5d3 => "0x5d3",
+        0x5d4 => "0x5d4",
+        0x5d5 => "0x5d5",
+        0x5d6 => "0x5d6",
+        0x5d7 => "0x5d7",
+        0x5d8 => "0x5d8",
+        0x5d9 => "0x5d9",
+        0x5da => "0x5da",
+        0x5db => "0x5db",
+        0x5dc => "0x5dc",
+        0x5dd => "0x5dd",
+        0x5de => "0x5de",
+        0x5df => "0x5df",
+        0x5e0 => "0x5e0",
+        0x5e1 => "0x5e1",
+        0x5e2 => "0x5e2",
+        0x5e3 => "0x5e3",
+        0x5e4 => "0x5e4",
+        0x5e5 => "0x5e5",
+        0x5e6 => "0x5e6",
+        0x5e7 => "0x5e7",
+        0x5e8 => "0x5e8",
+        0x5e9 => "0x5e9",
+        0x5ea => "0x5ea",
+        0x5eb => "0x5eb",
+        0x5ec => "0x5ec",
+        0x5ed => "0x5ed",
+        0x5ee => "0x5ee",
+        0x5ef => "0x5ef",
+        0x5f0 => "0x5f0",
+        0x5f1 => "0x5f1",
+        0x5f2 => "0x5f2",
+        0x5f3 => "0x5f3",
+        0x5f4 => "0x5f4",
+        0x5f5 => "0x5f5",
+        0x5f6 => "0x5f6",
+        0x5f7 => "0x5f7",
+        0x5f8 => "0x5f8",
+        0x5f9 => "0x5f9",
+        0x5fa => "0x5fa",
+        0x5fb => "0x5fb",
+        0x5fc => "0x5fc",
+        0x5fd => "0x5fd",
+        0x5fe => "0x5fe",
+        0x5ff => "0x5ff",
+        0x600 => "0x600",
+        0x601 => "0x601",
+        0x602 => "0x602",
+        0x603 => "0x603",
+        0x604 => "0x604",
+        0x605 => "0x605",
+        0x606 => "0x606",
+        0x607 => "0x607",
+        0x608 => "0x608",
+        0x609 => "0x609",
+        0x60a => "0x60a",
+        0x60b => "0x60b",
+        0x60c => "0x60c",
+        0x60d => "0x60d",
+        0x60e => "0x60e",
+        0x60f => "0x60f",
+        0x610 => "0x610",
+        0x611 => "0x611",
+        0x612 => "0x612",
+        0x613 => "0x613",
+        0x614 => "0x614",
+        0x615 => "0x615",
+        0x616 => "0x616",
+        0x617 => "0x617",
+        0x618 => "0x618",
+        0x619 => "0x619",
+        0x61a => "0x61a",
+        0x61b => "0x61b",
+        0x61c => "0x61c",
+        0x61d => "0x61d",
+        0x61e => "0x61e",
+        0x61f => "0x61f",
+        0x620 => "0x620",
+        0x621 => "0x621",
+        0x622 => "0x622",
+        0x623 => "0x623",
+        0x624 => "0x624",
+        0x625 => "0x625",
+        0x626 => "0x626",
+        0x627 => "0x627",
+        0x628 => "0x628",
+        0x629 => "0x629",
+        0x62a => "0x62a",
+        0x62b => "0x62b",
+        0x62c => "0x62c",
+        0x62d => "0x62d",
+        0x62e => "0x62e",
+        0x62f => "0x62f",
+        0x630 => "0x630",
+        0x631 => "0x631",
+        0x632 => "0x632",
+        0x633 => "0x633",
+        0x634 => "0x634",
+        0x635 => "0x635",
+        0x636 => "0x636",
+        0x637 => "0x637",
+        0x638 => "0x638",
+        0x639 => "0x639",
+        0x63a => "0x63a",
+        0x63b => "0x63b",
+        0x63c => "0x63c",
+        0x63d => "0x63d",
+        0x63e => "0x63e",
+        0x63f => "0x63f",
+        0x640 => "0x640",
+        0x641 => "0x641",
+        0x642 => "0x642",
+        0x643 => "0x643",
+        0x644 => "0x644",
+        0x645 => "0x645",
+        0x646 => "0x646",
+        0x647 => "0x647",
+        0x648 => "0x648",
+        0x649 => "0x649",
+        0x64a => "0x64a",
+        0x64b => "0x64b",
+        0x64c => "0x64c",
+        0x64d => "0x64d",
+        0x64e => "0x64e",
+        0x64f => "0x64f",
+        0x650 => "0x650",
+        0x651 => "0x651",
+        0x652 => "0x652",
+        0x653 => "0x653",
+        0x654 => "0x654",
+        0x655 => "0x655",
+        0x656 => "0x656",
+        0x657 => "0x657",
+        0x658 => "0x658",
+        0x659 => "0x659",
+        0x65a => "0x65a",
+        0x65b => "0x65b",
+        0x65c => "0x65c",
+        0x65d => "0x65d",
+        0x65e => "0x65e",
+        0x65f => "0x65f",
+        0x660 => "0x660",
+        0x661 => "0x661",
+        0x662 => "0x662",
+        0x663 => "0x663",
+        0x664 => "0x664",
+        0x665 => "0x665",
+        0x666 => "0x666",
+        0x667 => "0x667",
+        0x668 => "0x668",
+        0x669 => "0x669",
+        0x66a => "0x66a",
+        0x66b => "0x66b",
+        0x66c => "0x66c",
+        0x66d => "0x66d",
+        0x66e => "0x66e",
+        0x66f => "0x66f",
+        0x670 => "0x670",
+        0x671 => "0x671",
+        0x672 => "0x672",
+        0x673 => "0x673",
+        0x674 => "0x674",
+        0x675 => "0x675",
+        0x676 => "0x676",
+        0x677 => "0x677",
+        0x678 => "0x678",
+        0x679 => "0x679",
+        0x67a => "0x67a",
+        0x67b => "0x67b",
+        0x67c => "0x67c",
+        0x67d => "0x67d",
+        0x67e => "0x67e",
+        0x67f => "0x67f",
+        0x680 => "0x680",
+        0x681 => "0x681",
+        0x682 => "0x682",
+        0x683 => "0x683",
+        0x684 => "0x684",
+        0x685 => "0x685",
+        0x686 => "0x686",
+        0x687 => "0x687",
+        0x688 => "0x688",
+        0x689 => "0x689",
+        0x68a => "0x68a",
+        0x68b => "0x68b",
+        0x68c => "0x68c",
+        0x68d => "0x68d",
+        0x68e => "0x68e",
+        0x68f => "0x68f",
+        0x690 => "0x690",
+        0x691 => "0x691",
+        0x692 => "0x692",
+        0x693 => "0x693",
+        0x694 => "0x694",
+        0x695 => "0x695",
+        0x696 => "0x696",
+        0x697 => "0x697",
+        0x698 => "0x698",
+        0x699 => "0x699",
+        0x69a => "0x69a",
+        0x69b => "0x69b",
+        0x69c => "0x69c",
+        0x69d => "0x69d",
+        0x69e => "0x69e",
+        0x69f => "0x69f",
+        0x6a0 => "0x6a0",
+        0x6a1 => "0x6a1",
+        0x6a2 => "0x6a2",
+        0x6a3 => "0x6a3",
+        0x6a4 => "0x6a4",
+        0x6a5 => "0x6a5",
+        0x6a6 => "0x6a6",
+        0x6a7 => "0x6a7",
+        0x6a8 => "0x6a8",
+        0x6a9 => "0x6a9",
+        0x6aa => "0x6aa",
+        0x6ab => "0x6ab",
+        0x6ac => "0x6ac",
+        0x6ad => "0x6ad",
+        0x6ae => "0x6ae",
+        0x6af => "0x6af",
+        0x6b0 => "0x6b0",
+        0x6b1 => "0x6b1",
+        0x6b2 => "0x6b2",
+        0x6b3 => "0x6b3",
+        0x6b4 => "0x6b4",
+        0x6b5 => "0x6b5",
+        0x6b6 => "0x6b6",
+        0x6b7 => "0x6b7",
+        0x6b8 => "0x6b8",
+        0x6b9 => "0x6b9",
+        0x6ba => "0x6ba",
+        0x6bb => "0x6bb",
+        0x6bc => "0x6bc",
+        0x6bd => "0x6bd",
+        0x6be => "0x6be",
+        0x6bf => "0x6bf",
+        0x6c0 => "0x6c0",
+        0x6c1 => "0x6c1",
+        0x6c2 => "0x6c2",
+        0x6c3 => "0x6c3",
+        0x6c4 => "0x6c4",
+        0x6c5 => "0x6c5",
+        0x6c6 => "0x6c6",
+        0x6c7 => "0x6c7",
+        0x6c8 => "0x6c8",
+        0x6c9 => "0x6c9",
+        0x6ca => "0x6ca",
+        0x6cb => "0x6cb",
+        0x6cc => "0x6cc",
+        0x6cd => "0x6cd",
+        0x6ce => "0x6ce",
+        0x6cf => "0x6cf",
+        0x6d0 => "0x6d0",
+        0x6d1 => "0x6d1",
+        0x6d2 => "0x6d2",
+        0x6d3 => "0x6d3",
+        0x6d4 => "0x6d4",
+        0x6d5 => "0x6d5",
+        0x6d6 => "0x6d6",
+        0x6d7 => "0x6d7",
+        0x6d8 => "0x6d8",
+        0x6d9 => "0x6d9",
+        0x6da => "0x6da",
+        0x6db => "0x6db",
+        0x6dc => "0x6dc",
+        0x6dd => "0x6dd",
+        0x6de => "0x6de",
+        0x6df => "0x6df",
+        0x6e0 => "0x6e0",
+        0x6e1 => "0x6e1",
+        0x6e2 => "0x6e2",
+        0x6e3 => "0x6e3",
+        0x6e4 => "0x6e4",
+        0x6e5 => "0x6e5",
+        0x6e6 => "0x6e6",
+        0x6e7 => "0x6e7",
+        0x6e8 => "0x6e8",
+        0x6e9 => "0x6e9",
+        0x6ea => "0x6ea",
+        0x6eb => "0x6eb",
+        0x6ec => "0x6ec",
+        0x6ed => "0x6ed",
+        0x6ee => "0x6ee",
+        0x6ef => "0x6ef",
+        0x6f0 => "0x6f0",
+        0x6f1 => "0x6f1",
+        0x6f2 => "0x6f2",
+        0x6f3 => "0x6f3",
+        0x6f4 => "0x6f4",
+        0x6f5 => "0x6f5",
+        0x6f6 => "0x6f6",
+        0x6f7 => "0x6f7",
+        0x6f8 => "0x6f8",
+        0x6f9 => "0x6f9",
+        0x6fa => "0x6fa",
+        0x6fb => "0x6fb",
+        0x6fc => "0x6fc",
+        0x6fd => "0x6fd",
+        0x6fe => "0x6fe",
+        0x6ff => "0x6ff",
+        0x700 => "0x700",
+        0x701 => "0x701",
+        0x702 => "0x702",
+        0x703 => "0x703",
+        0x704 => "0x704",
+        0x705 => "0x705",
+        0x706 => "0x706",
+        0x707 => "0x707",
+        0x708 => "0x708",
+        0x709 => "0x709",
+        0x70a => "0x70a",
+        0x70b => "0x70b",
+        0x70c => "0x70c",
+        0x70d => "0x70d",
+        0x70e => "0x70e",
+        0x70f => "0x70f",
+        0x710 => "0x710",
+        0x711 => "0x711",
+        0x712 => "0x712",
+        0x713 => "0x713",
+        0x714 => "0x714",
+        0x715 => "0x715",
+        0x716 => "0x716",
+        0x717 => "0x717",
+        0x718 => "0x718",
+        0x719 => "0x719",
+        0x71a => "0x71a",
+        0x71b => "0x71b",
+        0x71c => "0x71c",
+        0x71d => "0x71d",
+        0x71e => "0x71e",
+        0x71f => "0x71f",
+        0x720 => "0x720",
+        0x721 => "0x721",
+        0x722 => "0x722",
+        0x723 => "0x723",
+        0x724 => "0x724",
+        0x725 => "0x725",
+        0x726 => "0x726",
+        0x727 => "0x727",
+        0x728 => "0x728",
+        0x729 => "0x729",
+        0x72a => "0x72a",
+        0x72b => "0x72b",
+        0x72c => "0x72c",
+        0x72d => "0x72d",
+        0x72e => "0x72e",
+        0x72f => "0x72f",
+        0x730 => "0x730",
+        0x731 => "0x731",
+        0x732 => "0x732",
+        0x733 => "0x733",
+        0x734 => "0x734",
+        0x735 => "0x735",
+        0x736 => "0x736",
+        0x737 => "0x737",
+        0x738 => "0x738",
+        0x739 => "0x739",
+        0x73a => "0x73a",
+        0x73b => "0x73b",
+        0x73c => "0x73c",
+        0x73d => "0x73d",
+        0x73e => "0x73e",
+        0x73f => "0x73f",
+        0x740 => "0x740",
+        0x741 => "0x741",
+        0x742 => "0x742",
+        0x743 => "0x743",
+        0x744 => "0x744",
+        0x745 => "0x745",
+        0x746 => "0x746",
+        0x747 => "0x747",
+        0x748 => "0x748",
+        0x749 => "0x749",
+        0x74a => "0x74a",
+        0x74b => "0x74b",
+        0x74c => "0x74c",
+        0x74d => "0x74d",
+        0x74e => "0x74e",
+        0x74f => "0x74f",
+        0x750 => "0x750",
+        0x751 => "0x751",
+        0x752 => "0x752",
+        0x753 => "0x753",
+        0x754 => "0x754",
+        0x755 => "0x755",
+        0x756 => "0x756",
+        0x757 => "0x757",
+        0x758 => "0x758",
+        0x759 => "0x759",
+        0x75a => "0x75a",
+        0x75b => "0x75b",
+        0x75c => "0x75c",
+        0x75d => "0x75d",
+        0x75e => "0x75e",
+        0x75f => "0x75f",
+        0x760 => "0x760",
+        0x761 => "0x761",
+        0x762 => "0x762",
+        0x763 => "0x763",
+        0x764 => "0x764",
+        0x765 => "0x765",
+        0x766 => "0x766",
+        0x767 => "0x767",
+        0x768 => "0x768",
+        0x769 => "0x769",
+        0x76a => "0x76a",
+        0x76b => "0x76b",
+        0x76c => "0x76c",
+        0x76d => "0x76d",
+        0x76e => "0x76e",
+        0x76f => "0x76f",
+        0x770 => "0x770",
+        0x771 => "0x771",
+        0x772 => "0x772",
+        0x773 => "0x773",
+        0x774 => "0x774",
+        0x775 => "0x775",
+        0x776 => "0x776",
+        0x777 => "0x777",
+        0x778 => "0x778",
+        0x779 => "0x779",
+        0x77a => "0x77a",
+        0x77b => "0x77b",
+        0x77c => "0x77c",
+        0x77d => "0x77d",
+        0x77e => "0x77e",
+        0x77f => "0x77f",
+        0x780 => "0x780",
+        0x781 => "0x781",
+        0x782 => "0x782",
+        0x783 => "0x783",
+        0x784 => "0x784",
+        0x785 => "0x785",
+        0x786 => "0x786",
+        0x787 => "0x787",
+        0x788 => "0x788",
+        0x789 => "0x789",
+        0x78a => "0x78a",
+        0x78b => "0x78b",
+        0x78c => "0x78c",
+        0x78d => "0x78d",
+        0x78e => "0x78e",
+        0x78f => "0x78f",
+        0x790 => "0x790",
+        0x791 => "0x791",
+        0x792 => "0x792",
+        0x793 => "0x793",
+        0x794 => "0x794",
+        0x795 => "0x795",
+        0x796 => "0x796",
+        0x797 => "0x797",
+        0x798 => "0x798",
+        0x799 => "0x799",
+        0x79a => "0x79a",
+        0x79b => "0x79b",
+        0x79c => "0x79c",
+        0x79d => "0x79d",
+        0x79e => "0x79e",
+        0x79f => "0x79f",
+        0x7a0 => "0x7a0",
+        0x7a1 => "0x7a1",
+        0x7a2 => "0x7a2",
+        0x7a3 => "0x7a3",
+        0x7a4 => "0x7a4",
+        0x7a5 => "0x7a5",
+        0x7a6 => "0x7a6",
+        0x7a7 => "0x7a7",
+        0x7a8 => "0x7a8",
+        0x7a9 => "0x7a9",
+        0x7aa => "0x7aa",
+        0x7ab => "0x7ab",
+        0x7ac => "0x7ac",
+        0x7ad => "0x7ad",
+        0x7ae => "0x7ae",
+        0x7af => "0x7af",
+        0x7b0 => "0x7b0",
+        0x7b1 => "0x7b1",
+        0x7b2 => "0x7b2",
+        0x7b3 => "0x7b3",
+        0x7b4 => "0x7b4",
+        0x7b5 => "0x7b5",
+        0x7b6 => "0x7b6",
+        0x7b7 => "0x7b7",
+        0x7b8 => "0x7b8",
+        0x7b9 => "0x7b9",
+        0x7ba => "0x7ba",
+        0x7bb => "0x7bb",
+        0x7bc => "0x7bc",
+        0x7bd => "0x7bd",
+        0x7be => "0x7be",
+        0x7bf => "0x7bf",
+        0x7c0 => "0x7c0",
+        0x7c1 => "0x7c1",
+        0x7c2 => "0x7c2",
+        0x7c3 => "0x7c3",
+        0x7c4 => "0x7c4",
+        0x7c5 => "0x7c5",
+        0x7c6 => "0x7c6",
+        0x7c7 => "0x7c7",
+        0x7c8 => "0x7c8",
+        0x7c9 => "0x7c9",
+        0x7ca => "0x7ca",
+        0x7cb => "0x7cb",
+        0x7cc => "0x7cc",
+        0x7cd => "0x7cd",
+        0x7ce => "0x7ce",
+        0x7cf => "0x7cf",
+        0x7d0 => "0x7d0",
+        0x7d1 => "0x7d1",
+        0x7d2 => "0x7d2",
+        0x7d3 => "0x7d3",
+        0x7d4 => "0x7d4",
+        0x7d5 => "0x7d5",
+        0x7d6 => "0x7d6",
+        0x7d7 => "0x7d7",
+        0x7d8 => "0x7d8",
+        0x7d9 => "0x7d9",
+        0x7da => "0x7da",
+        0x7db => "0x7db",
+        0x7dc => "0x7dc",
+        0x7dd => "0x7dd",
+        0x7de => "0x7de",
+        0x7df => "0x7df",
+        0x7e0 => "0x7e0",
+        0x7e1 => "0x7e1",
+        0x7e2 => "0x7e2",
+        0x7e3 => "0x7e3",
+        0x7e4 => "0x7e4",
+        0x7e5 => "0x7e5",
+        0x7e6 => "0x7e6",
+        0x7e7 => "0x7e7",
+        0x7e8 => "0x7e8",
+        0x7e9 => "0x7e9",
+        0x7ea => "0x7ea",
+        0x7eb => "0x7eb",
+        0x7ec => "0x7ec",
+        0x7ed => "0x7ed",
+        0x7ee => "0x7ee",
+        0x7ef => "0x7ef",
+        0x7f0 => "0x7f0",
+        0x7f1 => "0x7f1",
+        0x7f2 => "0x7f2",
+        0x7f3 => "0x7f3",
+        0x7f4 => "0x7f4",
+        0x7f5 => "0x7f5",
+        0x7f6 => "0x7f6",
+        0x7f7 => "0x7f7",
+        0x7f8 => "0x7f8",
+        0x7f9 => "0x7f9",
+        0x7fa => "0x7fa",
+        0x7fb => "0x7fb",
+        0x7fc => "0x7fc",
+        0x7fd => "0x7fd",
+        0x7fe => "0x7fe",
+        0x7ff => "0x7ff",
+        0x800 => "0x800",
+        0x801 => "0x801",
+        0x802 => "0x802",
+        0x803 => "0x803",
+        0x804 => "0x804",
+        0x805 => "0x805",
+        0x806 => "0x806",
+        0x807 => "0x807",
+        0x808 => "0x808",
+        0x809 => "0x809",
+        0x80a => "0x80a",
+        0x80b => "0x80b",
+        0x80c => "0x80c",
+        0x80d => "0x80d",
+        0x80e => "0x80e",
+        0x80f => "0x80f",
+        0x810 => "0x810",
+        0x811 => "0x811",
+        0x812 => "0x812",
+        0x813 => "0x813",
+        0x814 => "0x814",
+        0x815 => "0x815",
+        0x816 => "0x816",
+        0x817 => "0x817",
+        0x818 => "0x818",
+        0x819 => "0x819",
+        0x81a => "0x81a",
+        0x81b => "0x81b",
+        0x81c => "0x81c",
+        0x81d => "0x81d",
+        0x81e => "0x81e",
+        0x81f => "0x81f",
+        0x820 => "0x820",
+        0x821 => "0x821",
+        0x822 => "0x822",
+        0x823 => "0x823",
+        0x824 => "0x824",
+        0x825 => "0x825",
+        0x826 => "0x826",
+        0x827 => "0x827",
+        0x828 => "0x828",
+        0x829 => "0x829",
+        0x82a => "0x82a",
+        0x82b => "0x82b",
+        0x82c => "0x82c",
+        0x82d => "0x82d",
+        0x82e => "0x82e",
+        0x82f => "0x82f",
+        0x830 => "0x830",
+        0x831 => "0x831",
+        0x832 => "0x832",
+        0x833 => "0x833",
+        0x834 => "0x834",
+        0x835 => "0x835",
+        0x836 => "0x836",
+        0x837 => "0x837",
+        0x838 => "0x838",
+        0x839 => "0x839",
+        0x83a => "0x83a",
+        0x83b => "0x83b",
+        0x83c => "0x83c",
+        0x83d => "0x83d",
+        0x83e => "0x83e",
+        0x83f => "0x83f",
+        0x840 => "0x840",
+        0x841 => "0x841",
+        0x842 => "0x842",
+        0x843 => "0x843",
+        0x844 => "0x844",
+        0x845 => "0x845",
+        0x846 => "0x846",
+        0x847 => "0x847",
+        0x848 => "0x848",
+        0x849 => "0x849",
+        0x84a => "0x84a",
+        0x84b => "0x84b",
+        0x84c => "0x84c",
+        0x84d => "0x84d",
+        0x84e => "0x84e",
+        0x84f => "0x84f",
+        0x850 => "0x850",
+        0x851 => "0x851",
+        0x852 => "0x852",
+        0x853 => "0x853",
+        0x854 => "0x854",
+        0x855 => "0x855",
+        0x856 => "0x856",
+        0x857 => "0x857",
+        0x858 => "0x858",
+        0x859 => "0x859",
+        0x85a => "0x85a",
+        0x85b => "0x85b",
+        0x85c => "0x85c",
+        0x85d => "0x85d",
+        0x85e => "0x85e",
+        0x85f => "0x85f",
+        0x860 => "0x860",
+        0x861 => "0x861",
+        0x862 => "0x862",
+        0x863 => "0x863",
+        0x864 => "0x864",
+        0x865 => "0x865",
+        0x866 => "0x866",
+        0x867 => "0x867",
+        0x868 => "0x868",
+        0x869 => "0x869",
+        0x86a => "0x86a",
+        0x86b => "0x86b",
+        0x86c => "0x86c",
+        0x86d => "0x86d",
+        0x86e => "0x86e",
+        0x86f => "0x86f",
+        0x870 => "0x870",
+        0x871 => "0x871",
+        0x872 => "0x872",
+        0x873 => "0x873",
+        0x874 => "0x874",
+        0x875 => "0x875",
+        0x876 => "0x876",
+        0x877 => "0x877",
+        0x878 => "0x878",
+        0x879 => "0x879",
+        0x87a => "0x87a",
+        0x87b => "0x87b",
+        0x87c => "0x87c",
+        0x87d => "0x87d",
+        0x87e => "0x87e",
+        0x87f => "0x87f",
+        0x880 => "0x880",
+        0x881 => "0x881",
+        0x882 => "0x882",
+        0x883 => "0x883",
+        0x884 => "0x884",
+        0x885 => "0x885",
+        0x886 => "0x886",
+        0x887 => "0x887",
+        0x888 => "0x888",
+        0x889 => "0x889",
+        0x88a => "0x88a",
+        0x88b => "0x88b",
+        0x88c => "0x88c",
+        0x88d => "0x88d",
+        0x88e => "0x88e",
+        0x88f => "0x88f",
+        0x890 => "0x890",
+        0x891 => "0x891",
+        0x892 => "0x892",
+        0x893 => "0x893",
+        0x894 => "0x894",
+        0x895 => "0x895",
+        0x896 => "0x896",
+        0x897 => "0x897",
+        0x898 => "0x898",
+        0x899 => "0x899",
+        0x89a => "0x89a",
+        0x89b => "0x89b",
+        0x89c => "0x89c",
+        0x89d => "0x89d",
+        0x89e => "0x89e",
+        0x89f => "0x89f",
+        0x8a0 => "0x8a0",
+        0x8a1 => "0x8a1",
+        0x8a2 => "0x8a2",
+        0x8a3 => "0x8a3",
+        0x8a4 => "0x8a4",
+        0x8a5 => "0x8a5",
+        0x8a6 => "0x8a6",
+        0x8a7 => "0x8a7",
+        0x8a8 => "0x8a8",
+        0x8a9 => "0x8a9",
+        0x8aa => "0x8aa",
+        0x8ab => "0x8ab",
+        0x8ac => "0x8ac",
+        0x8ad => "0x8ad",
+        0x8ae => "0x8ae",
+        0x8af => "0x8af",
+        0x8b0 => "0x8b0",
+        0x8b1 => "0x8b1",
+        0x8b2 => "0x8b2",
+        0x8b3 => "0x8b3",
+        0x8b4 => "0x8b4",
+        0x8b5 => "0x8b5",
+        0x8b6 => "0x8b6",
+        0x8b7 => "0x8b7",
+        0x8b8 => "0x8b8",
+        0x8b9 => "0x8b9",
+        0x8ba => "0x8ba",
+        0x8bb => "0x8bb",
+        0x8bc => "0x8bc",
+        0x8bd => "0x8bd",
+        0x8be => "0x8be",
+        0x8bf => "0x8bf",
+        0x8c0 => "0x8c0",
+        0x8c1 => "0x8c1",
+        0x8c2 => "0x8c2",
+        0x8c3 => "0x8c3",
+        0x8c4 => "0x8c4",
+        0x8c5 => "0x8c5",
+        0x8c6 => "0x8c6",
+        0x8c7 => "0x8c7",
+        0x8c8 => "0x8c8",
+        0x8c9 => "0x8c9",
+        0x8ca => "0x8ca",
+        0x8cb => "0x8cb",
+        0x8cc => "0x8cc",
+        0x8cd => "0x8cd",
+        0x8ce => "0x8ce",
+        0x8cf => "0x8cf",
+        0x8d0 => "0x8d0",
+        0x8d1 => "0x8d1",
+        0x8d2 => "0x8d2",
+        0x8d3 => "0x8d3",
+        0x8d4 => "0x8d4",
+        0x8d5 => "0x8d5",
+        0x8d6 => "0x8d6",
+        0x8d7 => "0x8d7",
+        0x8d8 => "0x8d8",
+        0x8d9 => "0x8d9",
+        0x8da => "0x8da",
+        0x8db => "0x8db",
+        0x8dc => "0x8dc",
+        0x8dd => "0x8dd",
+        0x8de => "0x8de",
+        0x8df => "0x8df",
+        0x8e0 => "0x8e0",
+        0x8e1 => "0x8e1",
+        0x8e2 => "0x8e2",
+        0x8e3 => "0x8e3",
+        0x8e4 => "0x8e4",
+        0x8e5 => "0x8e5",
+        0x8e6 => "0x8e6",
+        0x8e7 => "0x8e7",
+        0x8e8 => "0x8e8",
+        0x8e9 => "0x8e9",
+        0x8ea => "0x8ea",
+        0x8eb => "0x8eb",
+        0x8ec => "0x8ec",
+        0x8ed => "0x8ed",
+        0x8ee => "0x8ee",
+        0x8ef => "0x8ef",
+        0x8f0 => "0x8f0",
+        0x8f1 => "0x8f1",
+        0x8f2 => "0x8f2",
+        0x8f3 => "0x8f3",
+        0x8f4 => "0x8f4",
+        0x8f5 => "0x8f5",
+        0x8f6 => "0x8f6",
+        0x8f7 => "0x8f7",
+        0x8f8 => "0x8f8",
+        0x8f9 => "0x8f9",
+        0x8fa => "0x8fa",
+        0x8fb => "0x8fb",
+        0x8fc => "0x8fc",
+        0x8fd => "0x8fd",
+        0x8fe => "0x8fe",
+        0x8ff => "0x8ff",
+        0x900 => "0x900",
+        0x901 => "0x901",
+        0x902 => "0x902",
+        0x903 => "0x903",
+        0x904 => "0x904",
+        0x905 => "0x905",
+        0x906 => "0x906",
+        0x907 => "0x907",
+        0x908 => "0x908",
+        0x909 => "0x909",
+        0x90a => "0x90a",
+        0x90b => "0x90b",
+        0x90c => "0x90c",
+        0x90d => "0x90d",
+        0x90e => "0x90e",
+        0x90f => "0x90f",
+        0x910 => "0x910",
+        0x911 => "0x911",
+        0x912 => "0x912",
+        0x913 => "0x913",
+        0x914 => "0x914",
+        0x915 => "0x915",
+        0x916 => "0x916",
+        0x917 => "0x917",
+        0x918 => "0x918",
+        0x919 => "0x919",
+        0x91a => "0x91a",
+        0x91b => "0x91b",
+        0x91c => "0x91c",
+        0x91d => "0x91d",
+        0x91e => "0x91e",
+        0x91f => "0x91f",
+        0x920 => "0x920",
+        0x921 => "0x921",
+        0x922 => "0x922",
+        0x923 => "0x923",
+        0x924 => "0x924",
+        0x925 => "0x925",
+        0x926 => "0x926",
+        0x927 => "0x927",
+        0x928 => "0x928",
+        0x929 => "0x929",
+        0x92a => "0x92a",
+        0x92b => "0x92b",
+        0x92c => "0x92c",
+        0x92d => "0x92d",
+        0x92e => "0x92e",
+        0x92f => "0x92f",
+        0x930 => "0x930",
+        0x931 => "0x931",
+        0x932 => "0x932",
+        0x933 => "0x933",
+        0x934 => "0x934",
+        0x935 => "0x935",
+        0x936 => "0x936",
+        0x937 => "0x937",
+        0x938 => "0x938",
+        0x939 => "0x939",
+        0x93a => "0x93a",
+        0x93b => "0x93b",
+        0x93c => "0x93c",
+        0x93d => "0x93d",
+        0x93e => "0x93e",
+        0x93f => "0x93f",
+        0x940 => "0x940",
+        0x941 => "0x941",
+        0x942 => "0x942",
+        0x943 => "0x943",
+        0x944 => "0x944",
+        0x945 => "0x945",
+        0x946 => "0x946",
+        0x947 => "0x947",
+        0x948 => "0x948",
+        0x949 => "0x949",
+        0x94a => "0x94a",
+        0x94b => "0x94b",
+        0x94c => "0x94c",
+        0x94d => "0x94d",
+        0x94e => "0x94e",
+        0x94f => "0x94f",
+        0x950 => "0x950",
+        0x951 => "0x951",
+        0x952 => "0x952",
+        0x953 => "0x953",
+        0x954 => "0x954",
+        0x955 => "0x955",
+        0x956 => "0x956",
+        0x957 => "0x957",
+        0x958 => "0x958",
+        0x959 => "0x959",
+        0x95a => "0x95a",
+        0x95b => "0x95b",
+        0x95c => "0x95c",
+        0x95d => "0x95d",
+        0x95e => "0x95e",
+        0x95f => "0x95f",
+        0x960 => "0x960",
+        0x961 => "0x961",
+        0x962 => "0x962",
+        0x963 => "0x963",
+        0x964 => "0x964",
+        0x965 => "0x965",
+        0x966 => "0x966",
+        0x967 => "0x967",
+        0x968 => "0x968",
+        0x969 => "0x969",
+        0x96a => "0x96a",
+        0x96b => "0x96b",
+        0x96c => "0x96c",
+        0x96d => "0x96d",
+        0x96e => "0x96e",
+        0x96f => "0x96f",
+        0x970 => "0x970",
+        0x971 => "0x971",
+        0x972 => "0x972",
+        0x973 => "0x973",
+        0x974 => "0x974",
+        0x975 => "0x975",
+        0x976 => "0x976",
+        0x977 => "0x977",
+        0x978 => "0x978",
+        0x979 => "0x979",
+        0x97a => "0x97a",
+        0x97b => "0x97b",
+        0x97c => "0x97c",
+        0x97d => "0x97d",
+        0x97e => "0x97e",
+        0x97f => "0x97f",
+        0x980 => "0x980",
+        0x981 => "0x981",
+        0x982 => "0x982",
+        0x983 => "0x983",
+        0x984 => "0x984",
+        0x985 => "0x985",
+        0x986 => "0x986",
+        0x987 => "0x987",
+        0x988 => "0x988",
+        0x989 => "0x989",
+        0x98a => "0x98a",
+        0x98b => "0x98b",
+        0x98c => "0x98c",
+        0x98d => "0x98d",
+        0x98e => "0x98e",
+        0x98f => "0x98f",
+        0x990 => "0x990",
+        0x991 => "0x991",
+        0x992 => "0x992",
+        0x993 => "0x993",
+        0x994 => "0x994",
+        0x995 => "0x995",
+        0x996 => "0x996",
+        0x997 => "0x997",
+        0x998 => "0x998",
+        0x999 => "0x999",
+        0x99a => "0x99a",
+        0x99b => "0x99b",
+        0x99c => "0x99c",
+        0x99d => "0x99d",
+        0x99e => "0x99e",
+        0x99f => "0x99f",
+        0x9a0 => "0x9a0",
+        0x9a1 => "0x9a1",
+        0x9a2 => "0x9a2",
+        0x9a3 => "0x9a3",
+        0x9a4 => "0x9a4",
+        0x9a5 => "0x9a5",
+        0x9a6 => "0x9a6",
+        0x9a7 => "0x9a7",
+        0x9a8 => "0x9a8",
+        0x9a9 => "0x9a9",
+        0x9aa => "0x9aa",
+        0x9ab => "0x9ab",
+        0x9ac => "0x9ac",
+        0x9ad => "0x9ad",
+        0x9ae => "0x9ae",
+        0x9af => "0x9af",
+        0x9b0 => "0x9b0",
+        0x9b1 => "0x9b1",
+        0x9b2 => "0x9b2",
+        0x9b3 => "0x9b3",
+        0x9b4 => "0x9b4",
+        0x9b5 => "0x9b5",
+        0x9b6 => "0x9b6",
+        0x9b7 => "0x9b7",
+        0x9b8 => "0x9b8",
+        0x9b9 => "0x9b9",
+        0x9ba => "0x9ba",
+        0x9bb => "0x9bb",
+        0x9bc => "0x9bc",
+        0x9bd => "0x9bd",
+        0x9be => "0x9be",
+        0x9bf => "0x9bf",
+        0x9c0 => "0x9c0",
+        0x9c1 => "0x9c1",
+        0x9c2 => "0x9c2",
+        0x9c3 => "0x9c3",
+        0x9c4 => "0x9c4",
+        0x9c5 => "0x9c5",
+        0x9c6 => "0x9c6",
+        0x9c7 => "0x9c7",
+        0x9c8 => "0x9c8",
+        0x9c9 => "0x9c9",
+        0x9ca => "0x9ca",
+        0x9cb => "0x9cb",
+        0x9cc => "0x9cc",
+        0x9cd => "0x9cd",
+        0x9ce => "0x9ce",
+        0x9cf => "0x9cf",
+        0x9d0 => "0x9d0",
+        0x9d1 => "0x9d1",
+        0x9d2 => "0x9d2",
+        0x9d3 => "0x9d3",
+        0x9d4 => "0x9d4",
+        0x9d5 => "0x9d5",
+        0x9d6 => "0x9d6",
+        0x9d7 => "0x9d7",
+        0x9d8 => "0x9d8",
+        0x9d9 => "0x9d9",
+        0x9da => "0x9da",
+        0x9db => "0x9db",
+        0x9dc => "0x9dc",
+        0x9dd => "0x9dd",
+        0x9de => "0x9de",
+        0x9df => "0x9df",
+        0x9e0 => "0x9e0",
+        0x9e1 => "0x9e1",
+        0x9e2 => "0x9e2",
+        0x9e3 => "0x9e3",
+        0x9e4 => "0x9e4",
+        0x9e5 => "0x9e5",
+        0x9e6 => "0x9e6",
+        0x9e7 => "0x9e7",
+        0x9e8 => "0x9e8",
+        0x9e9 => "0x9e9",
+        0x9ea => "0x9ea",
+        0x9eb => "0x9eb",
+        0x9ec => "0x9ec",
+        0x9ed => "0x9ed",
+        0x9ee => "0x9ee",
+        0x9ef => "0x9ef",
+        0x9f0 => "0x9f0",
+        0x9f1 => "0x9f1",
+        0x9f2 => "0x9f2",
+        0x9f3 => "0x9f3",
+        0x9f4 => "0x9f4",
+        0x9f5 => "0x9f5",
+        0x9f6 => "0x9f6",
+        0x9f7 => "0x9f7",
+        0x9f8 => "0x9f8",
+        0x9f9 => "0x9f9",
+        0x9fa => "0x9fa",
+        0x9fb => "0x9fb",
+        0x9fc => "0x9fc",
+        0x9fd => "0x9fd",
+        0x9fe => "0x9fe",
+        0x9ff => "0x9ff",
+        0xa00 => "0xa00",
+        0xa01 => "0xa01",
+        0xa02 => "0xa02",
+        0xa03 => "0xa03",
+        0xa04 => "0xa04",
+        0xa05 => "0xa05",
+        0xa06 => "0xa06",
+        0xa07 => "0xa07",
+        0xa08 => "0xa08",
+        0xa09 => "0xa09",
+        0xa0a => "0xa0a",
+        0xa0b => "0xa0b",
+        0xa0c => "0xa0c",
+        0xa0d => "0xa0d",
+        0xa0e => "0xa0e",
+        0xa0f => "0xa0f",
+        0xa10 => "0xa10",
+        0xa11 => "0xa11",
+        0xa12 => "0xa12",
+        0xa13 => "0xa13",
+        0xa14 => "0xa14",
+        0xa15 => "0xa15",
+        0xa16 => "0xa16",
+        0xa17 => "0xa17",
+        0xa18 => "0xa18",
+        0xa19 => "0xa19",
+        0xa1a => "0xa1a",
+        0xa1b => "0xa1b",
+        0xa1c => "0xa1c",
+        0xa1d => "0xa1d",
+        0xa1e => "0xa1e",
+        0xa1f => "0xa1f",
+        0xa20 => "0xa20",
+        0xa21 => "0xa21",
+        0xa22 => "0xa22",
+        0xa23 => "0xa23",
+        0xa24 => "0xa24",
+        0xa25 => "0xa25",
+        0xa26 => "0xa26",
+        0xa27 => "0xa27",
+        0xa28 => "0xa28",
+        0xa29 => "0xa29",
+        0xa2a => "0xa2a",
+        0xa2b => "0xa2b",
+        0xa2c => "0xa2c",
+        0xa2d => "0xa2d",
+        0xa2e => "0xa2e",
+        0xa2f => "0xa2f",
+        0xa30 => "0xa30",
+        0xa31 => "0xa31",
+        0xa32 => "0xa32",
+        0xa33 => "0xa33",
+        0xa34 => "0xa34",
+        0xa35 => "0xa35",
+        0xa36 => "0xa36",
+        0xa37 => "0xa37",
+        0xa38 => "0xa38",
+        0xa39 => "0xa39",
+        0xa3a => "0xa3a",
+        0xa3b => "0xa3b",
+        0xa3c => "0xa3c",
+        0xa3d => "0xa3d",
+        0xa3e => "0xa3e",
+        0xa3f => "0xa3f",
+        0xa40 => "0xa40",
+        0xa41 => "0xa41",
+        0xa42 => "0xa42",
+        0xa43 => "0xa43",
+        0xa44 => "0xa44",
+        0xa45 => "0xa45",
+        0xa46 => "0xa46",
+        0xa47 => "0xa47",
+        0xa48 => "0xa48",
+        0xa49 => "0xa49",
+        0xa4a => "0xa4a",
+        0xa4b => "0xa4b",
+        0xa4c => "0xa4c",
+        0xa4d => "0xa4d",
+        0xa4e => "0xa4e",
+        0xa4f => "0xa4f",
+        0xa50 => "0xa50",
+        0xa51 => "0xa51",
+        0xa52 => "0xa52",
+        0xa53 => "0xa53",
+        0xa54 => "0xa54",
+        0xa55 => "0xa55",
+        0xa56 => "0xa56",
+        0xa57 => "0xa57",
+        0xa58 => "0xa58",
+        0xa59 => "0xa59",
+        0xa5a => "0xa5a",
+        0xa5b => "0xa5b",
+        0xa5c => "0xa5c",
+        0xa5d => "0xa5d",
+        0xa5e => "0xa5e",
+        0xa5f => "0xa5f",
+        0xa60 => "0xa60",
+        0xa61 => "0xa61",
+        0xa62 => "0xa62",
+        0xa63 => "0xa63",
+        0xa64 => "0xa64",
+        0xa65 => "0xa65",
+        0xa66 => "0xa66",
+        0xa67 => "0xa67",
+        0xa68 => "0xa68",
+        0xa69 => "0xa69",
+        0xa6a => "0xa6a",
+        0xa6b => "0xa6b",
+        0xa6c => "0xa6c",
+        0xa6d => "0xa6d",
+        0xa6e => "0xa6e",
+        0xa6f => "0xa6f",
+        0xa70 => "0xa70",
+        0xa71 => "0xa71",
+        0xa72 => "0xa72",
+        0xa73 => "0xa73",
+        0xa74 => "0xa74",
+        0xa75 => "0xa75",
+        0xa76 => "0xa76",
+        0xa77 => "0xa77",
+        0xa78 => "0xa78",
+        0xa79 => "0xa79",
+        0xa7a => "0xa7a",
+        0xa7b => "0xa7b",
+        0xa7c => "0xa7c",
+        0xa7d => "0xa7d",
+        0xa7e => "0xa7e",
+        0xa7f => "0xa7f",
+        0xa80 => "0xa80",
+        0xa81 => "0xa81",
+        0xa82 => "0xa82",
+        0xa83 => "0xa83",
+        0xa84 => "0xa84",
+        0xa85 => "0xa85",
+        0xa86 => "0xa86",
+        0xa87 => "0xa87",
+        0xa88 => "0xa88",
+        0xa89 => "0xa89",
+        0xa8a => "0xa8a",
+        0xa8b => "0xa8b",
+        0xa8c => "0xa8c",
+        0xa8d => "0xa8d",
+        0xa8e => "0xa8e",
+        0xa8f => "0xa8f",
+        0xa90 => "0xa90",
+        0xa91 => "0xa91",
+        0xa92 => "0xa92",
+        0xa93 => "0xa93",
+        0xa94 => "0xa94",
+        0xa95 => "0xa95",
+        0xa96 => "0xa96",
+        0xa97 => "0xa97",
+        0xa98 => "0xa98",
+        0xa99 => "0xa99",
+        0xa9a => "0xa9a",
+        0xa9b => "0xa9b",
+        0xa9c => "0xa9c",
+        0xa9d => "0xa9d",
+        0xa9e => "0xa9e",
+        0xa9f => "0xa9f",
+        0xaa0 => "0xaa0",
+        0xaa1 => "0xaa1",
+        0xaa2 => "0xaa2",
+        0xaa3 => "0xaa3",
+        0xaa4 => "0xaa4",
+        0xaa5 => "0xaa5",
+        0xaa6 => "0xaa6",
+        0xaa7 => "0xaa7",
+        0xaa8 => "0xaa8",
+        0xaa9 => "0xaa9",
+        0xaaa => "0xaaa",
+        0xaab => "0xaab",
+        0xaac => "0xaac",
+        0xaad => "0xaad",
+        0xaae => "0xaae",
+        0xaaf => "0xaaf",
+        0xab0 => "0xab0",
+        0xab1 => "0xab1",
+        0xab2 => "0xab2",
+        0xab3 => "0xab3",
+        0xab4 => "0xab4",
+        0xab5 => "0xab5",
+        0xab6 => "0xab6",
+        0xab7 => "0xab7",
+        0xab8 => "0xab8",
+        0xab9 => "0xab9",
+        0xaba => "0xaba",
+        0xabb => "0xabb",
+        0xabc => "0xabc",
+        0xabd => "0xabd",
+        0xabe => "0xabe",
+        0xabf => "0xabf",
+        0xac0 => "0xac0",
+        0xac1 => "0xac1",
+        0xac2 => "0xac2",
+        0xac3 => "0xac3",
+        0xac4 => "0xac4",
+        0xac5 => "0xac5",
+        0xac6 => "0xac6",
+        0xac7 => "0xac7",
+        0xac8 => "0xac8",
+        0xac9 => "0xac9",
+        0xaca => "0xaca",
+        0xacb => "0xacb",
+        0xacc => "0xacc",
+        0xacd => "0xacd",
+        0xace => "0xace",
+        0xacf => "0xacf",
+        0xad0 => "0xad0",
+        0xad1 => "0xad1",
+        0xad2 => "0xad2",
+        0xad3 => "0xad3",
+        0xad4 => "0xad4",
+        0xad5 => "0xad5",
+        0xad6 => "0xad6",
+        0xad7 => "0xad7",
+        0xad8 => "0xad8",
+        0xad9 => "0xad9",
+        0xada => "0xada",
+        0xadb => "0xadb",
+        0xadc => "0xadc",
+        0xadd => "0xadd",
+        0xade => "0xade",
+        0xadf => "0xadf",
+        0xae0 => "0xae0",
+        0xae1 => "0xae1",
+        0xae2 => "0xae2",
+        0xae3 => "0xae3",
+        0xae4 => "0xae4",
+        0xae5 => "0xae5",
+        0xae6 => "0xae6",
+        0xae7 => "0xae7",
+        0xae8 => "0xae8",
+        0xae9 => "0xae9",
+        0xaea => "0xaea",
+        0xaeb => "0xaeb",
+        0xaec => "0xaec",
+        0xaed => "0xaed",
+        0xaee => "0xaee",
+        0xaef => "0xaef",
+        0xaf0 => "0xaf0",
+        0xaf1 => "0xaf1",
+        0xaf2 => "0xaf2",
+        0xaf3 => "0xaf3",
+        0xaf4 => "0xaf4",
+        0xaf5 => "0xaf5",
+        0xaf6 => "0xaf6",
+        0xaf7 => "0xaf7",
+        0xaf8 => "0xaf8",
+        0xaf9 => "0xaf9",
+        0xafa => "0xafa",
+        0xafb => "0xafb",
+        0xafc => "0xafc",
+        0xafd => "0xafd",
+        0xafe => "0xafe",
+        0xaff => "0xaff",
+        0xb00 => "0xb00",
+        0xb01 => "0xb01",
+        0xb02 => "0xb02",
+        0xb03 => "0xb03",
+        0xb04 => "0xb04",
+        0xb05 => "0xb05",
+        0xb06 => "0xb06",
+        0xb07 => "0xb07",
+        0xb08 => "0xb08",
+        0xb09 => "0xb09",
+        0xb0a => "0xb0a",
+        0xb0b => "0xb0b",
+        0xb0c => "0xb0c",
+        0xb0d => "0xb0d",
+        0xb0e => "0xb0e",
+        0xb0f => "0xb0f",
+        0xb10 => "0xb10",
+        0xb11 => "0xb11",
+        0xb12 => "0xb12",
+        0xb13 => "0xb13",
+        0xb14 => "0xb14",
+        0xb15 => "0xb15",
+        0xb16 => "0xb16",
+        0xb17 => "0xb17",
+        0xb18 => "0xb18",
+        0xb19 => "0xb19",
+        0xb1a => "0xb1a",
+        0xb1b => "0xb1b",
+        0xb1c => "0xb1c",
+        0xb1d => "0xb1d",
+        0xb1e => "0xb1e",
+        0xb1f => "0xb1f",
+        0xb20 => "0xb20",
+        0xb21 => "0xb21",
+        0xb22 => "0xb22",
+        0xb23 => "0xb23",
+        0xb24 => "0xb24",
+        0xb25 => "0xb25",
+        0xb26 => "0xb26",
+        0xb27 => "0xb27",
+        0xb28 => "0xb28",
+        0xb29 => "0xb29",
+        0xb2a => "0xb2a",
+        0xb2b => "0xb2b",
+        0xb2c => "0xb2c",
+        0xb2d => "0xb2d",
+        0xb2e => "0xb2e",
+        0xb2f => "0xb2f",
+        0xb30 => "0xb30",
+        0xb31 => "0xb31",
+        0xb32 => "0xb32",
+        0xb33 => "0xb33",
+        0xb34 => "0xb34",
+        0xb35 => "0xb35",
+        0xb36 => "0xb36",
+        0xb37 => "0xb37",
+        0xb38 => "0xb38",
+        0xb39 => "0xb39",
+        0xb3a => "0xb3a",
+        0xb3b => "0xb3b",
+        0xb3c => "0xb3c",
+        0xb3d => "0xb3d",
+        0xb3e => "0xb3e",
+        0xb3f => "0xb3f",
+        0xb40 => "0xb40",
+        0xb41 => "0xb41",
+        0xb42 => "0xb42",
+        0xb43 => "0xb43",
+        0xb44 => "0xb44",
+        0xb45 => "0xb45",
+        0xb46 => "0xb46",
+        0xb47 => "0xb47",
+        0xb48 => "0xb48",
+        0xb49 => "0xb49",
+        0xb4a => "0xb4a",
+        0xb4b => "0xb4b",
+        0xb4c => "0xb4c",
+        0xb4d => "0xb4d",
+        0xb4e => "0xb4e",
+        0xb4f => "0xb4f",
+        0xb50 => "0xb50",
+        0xb51 => "0xb51",
+        0xb52 => "0xb52",
+        0xb53 => "0xb53",
+        0xb54 => "0xb54",
+        0xb55 => "0xb55",
+        0xb56 => "0xb56",
+        0xb57 => "0xb57",
+        0xb58 => "0xb58",
+        0xb59 => "0xb59",
+        0xb5a => "0xb5a",
+        0xb5b => "0xb5b",
+        0xb5c => "0xb5c",
+        0xb5d => "0xb5d",
+        0xb5e => "0xb5e",
+        0xb5f => "0xb5f",
+        0xb60 => "0xb60",
+        0xb61 => "0xb61",
+        0xb62 => "0xb62",
+        0xb63 => "0xb63",
+        0xb64 => "0xb64",
+        0xb65 => "0xb65",
+        0xb66 => "0xb66",
+        0xb67 => "0xb67",
+        0xb68 => "0xb68",
+        0xb69 => "0xb69",
+        0xb6a => "0xb6a",
+        0xb6b => "0xb6b",
+        0xb6c => "0xb6c",
+        0xb6d => "0xb6d",
+        0xb6e => "0xb6e",
+        0xb6f => "0xb6f",
+        0xb70 => "0xb70",
+        0xb71 => "0xb71",
+        0xb72 => "0xb72",
+        0xb73 => "0xb73",
+        0xb74 => "0xb74",
+        0xb75 => "0xb75",
+        0xb76 => "0xb76",
+        0xb77 => "0xb77",
+        0xb78 => "0xb78",
+        0xb79 => "0xb79",
+        0xb7a => "0xb7a",
+        0xb7b => "0xb7b",
+        0xb7c => "0xb7c",
+        0xb7d => "0xb7d",
+        0xb7e => "0xb7e",
+        0xb7f => "0xb7f",
+        0xb80 => "0xb80",
+        0xb81 => "0xb81",
+        0xb82 => "0xb82",
+        0xb83 => "0xb83",
+        0xb84 => "0xb84",
+        0xb85 => "0xb85",
+        0xb86 => "0xb86",
+        0xb87 => "0xb87",
+        0xb88 => "0xb88",
+        0xb89 => "0xb89",
+        0xb8a => "0xb8a",
+        0xb8b => "0xb8b",
+        0xb8c => "0xb8c",
+        0xb8d => "0xb8d",
+        0xb8e => "0xb8e",
+        0xb8f => "0xb8f",
+        0xb90 => "0xb90",
+        0xb91 => "0xb91",
+        0xb92 => "0xb92",
+        0xb93 => "0xb93",
+        0xb94 => "0xb94",
+        0xb95 => "0xb95",
+        0xb96 => "0xb96",
+        0xb97 => "0xb97",
+        0xb98 => "0xb98",
+        0xb99 => "0xb99",
+        0xb9a => "0xb9a",
+        0xb9b => "0xb9b",
+        0xb9c => "0xb9c",
+        0xb9d => "0xb9d",
+        0xb9e => "0xb9e",
+        0xb9f => "0xb9f",
+        0xba0 => "0xba0",
+        0xba1 => "0xba1",
+        0xba2 => "0xba2",
+        0xba3 => "0xba3",
+        0xba4 => "0xba4",
+        0xba5 => "0xba5",
+        0xba6 => "0xba6",
+        0xba7 => "0xba7",
+        0xba8 => "0xba8",
+        0xba9 => "0xba9",
+        0xbaa => "0xbaa",
+        0xbab => "0xbab",
+        0xbac => "0xbac",
+        0xbad => "0xbad",
+        0xbae => "0xbae",
+        0xbaf => "0xbaf",
+        0xbb0 => "0xbb0",
+        0xbb1 => "0xbb1",
+        0xbb2 => "0xbb2",
+        0xbb3 => "0xbb3",
+        0xbb4 => "0xbb4",
+        0xbb5 => "0xbb5",
+        0xbb6 => "0xbb6",
+        0xbb7 => "0xbb7",
+        0xbb8 => "0xbb8",
+        0xbb9 => "0xbb9",
+        0xbba => "0xbba",
+        0xbbb => "0xbbb",
+        0xbbc => "0xbbc",
+        0xbbd => "0xbbd",
+        0xbbe => "0xbbe",
+        0xbbf => "0xbbf",
+        0xbc0 => "0xbc0",
+        0xbc1 => "0xbc1",
+        0xbc2 => "0xbc2",
+        0xbc3 => "0xbc3",
+        0xbc4 => "0xbc4",
+        0xbc5 => "0xbc5",
+        0xbc6 => "0xbc6",
+        0xbc7 => "0xbc7",
+        0xbc8 => "0xbc8",
+        0xbc9 => "0xbc9",
+        0xbca => "0xbca",
+        0xbcb => "0xbcb",
+        0xbcc => "0xbcc",
+        0xbcd => "0xbcd",
+        0xbce => "0xbce",
+        0xbcf => "0xbcf",
+        0xbd0 => "0xbd0",
+        0xbd1 => "0xbd1",
+        0xbd2 => "0xbd2",
+        0xbd3 => "0xbd3",
+        0xbd4 => "0xbd4",
+        0xbd5 => "0xbd5",
+        0xbd6 => "0xbd6",
+        0xbd7 => "0xbd7",
+        0xbd8 => "0xbd8",
+        0xbd9 => "0xbd9",
+        0xbda => "0xbda",
+        0xbdb => "0xbdb",
+        0xbdc => "0xbdc",
+        0xbdd => "0xbdd",
+        0xbde => "0xbde",
+        0xbdf => "0xbdf",
+        0xbe0 => "0xbe0",
+        0xbe1 => "0xbe1",
+        0xbe2 => "0xbe2",
+        0xbe3 => "0xbe3",
+        0xbe4 => "0xbe4",
+        0xbe5 => "0xbe5",
+        0xbe6 => "0xbe6",
+        0xbe7 => "0xbe7",
+        0xbe8 => "0xbe8",
+        0xbe9 => "0xbe9",
+        0xbea => "0xbea",
+        0xbeb => "0xbeb",
+        0xbec => "0xbec",
+        0xbed => "0xbed",
+        0xbee => "0xbee",
+        0xbef => "0xbef",
+        0xbf0 => "0xbf0",
+        0xbf1 => "0xbf1",
+        0xbf2 => "0xbf2",
+        0xbf3 => "0xbf3",
+        0xbf4 => "0xbf4",
+        0xbf5 => "0xbf5",
+        0xbf6 => "0xbf6",
+        0xbf7 => "0xbf7",
+        0xbf8 => "0xbf8",
+        0xbf9 => "0xbf9",
+        0xbfa => "0xbfa",
+        0xbfb => "0xbfb",
+        0xbfc => "0xbfc",
+        0xbfd => "0xbfd",
+        0xbfe => "0xbfe",
+        0xbff => "0xbff",
+        0xc00 => "0xc00",
+        0xc01 => "0xc01",
+        0xc02 => "0xc02",
+        0xc03 => "0xc03",
+        0xc04 => "0xc04",
+        0xc05 => "0xc05",
+        0xc06 => "0xc06",
+        0xc07 => "0xc07",
+        0xc08 => "0xc08",
+        0xc09 => "0xc09",
+        0xc0a => "0xc0a",
+        0xc0b => "0xc0b",
+        0xc0c => "0xc0c",
+        0xc0d => "0xc0d",
+        0xc0e => "0xc0e",
+        0xc0f => "0xc0f",
+        0xc10 => "0xc10",
+        0xc11 => "0xc11",
+        0xc12 => "0xc12",
+        0xc13 => "0xc13",
+        0xc14 => "0xc14",
+        0xc15 => "0xc15",
+        0xc16 => "0xc16",
+        0xc17 => "0xc17",
+        0xc18 => "0xc18",
+        0xc19 => "0xc19",
+        0xc1a => "0xc1a",
+        0xc1b => "0xc1b",
+        0xc1c => "0xc1c",
+        0xc1d => "0xc1d",
+        0xc1e => "0xc1e",
+        0xc1f => "0xc1f",
+        0xc20 => "0xc20",
+        0xc21 => "0xc21",
+        0xc22 => "0xc22",
+        0xc23 => "0xc23",
+        0xc24 => "0xc24",
+        0xc25 => "0xc25",
+        0xc26 => "0xc26",
+        0xc27 => "0xc27",
+        0xc28 => "0xc28",
+        0xc29 => "0xc29",
+        0xc2a => "0xc2a",
+        0xc2b => "0xc2b",
+        0xc2c => "0xc2c",
+        0xc2d => "0xc2d",
+        0xc2e => "0xc2e",
+        0xc2f => "0xc2f",
+        0xc30 => "0xc30",
+        0xc31 => "0xc31",
+        0xc32 => "0xc32",
+        0xc33 => "0xc33",
+        0xc34 => "0xc34",
+        0xc35 => "0xc35",
+        0xc36 => "0xc36",
+        0xc37 => "0xc37",
+        0xc38 => "0xc38",
+        0xc39 => "0xc39",
+        0xc3a => "0xc3a",
+        0xc3b => "0xc3b",
+        0xc3c => "0xc3c",
+        0xc3d => "0xc3d",
+        0xc3e => "0xc3e",
+        0xc3f => "0xc3f",
+        0xc40 => "0xc40",
+        0xc41 => "0xc41",
+        0xc42 => "0xc42",
+        0xc43 => "0xc43",
+        0xc44 => "0xc44",
+        0xc45 => "0xc45",
+        0xc46 => "0xc46",
+        0xc47 => "0xc47",
+        0xc48 => "0xc48",
+        0xc49 => "0xc49",
+        0xc4a => "0xc4a",
+        0xc4b => "0xc4b",
+        0xc4c => "0xc4c",
+        0xc4d => "0xc4d",
+        0xc4e => "0xc4e",
+        0xc4f => "0xc4f",
+        0xc50 => "0xc50",
+        0xc51 => "0xc51",
+        0xc52 => "0xc52",
+        0xc53 => "0xc53",
+        0xc54 => "0xc54",
+        0xc55 => "0xc55",
+        0xc56 => "0xc56",
+        0xc57 => "0xc57",
+        0xc58 => "0xc58",
+        0xc59 => "0xc59",
+        0xc5a => "0xc5a",
+        0xc5b => "0xc5b",
+        0xc5c => "0xc5c",
+        0xc5d => "0xc5d",
+        0xc5e => "0xc5e",
+        0xc5f => "0xc5f",
+        0xc60 => "0xc60",
+        0xc61 => "0xc61",
+        0xc62 => "0xc62",
+        0xc63 => "0xc63",
+        0xc64 => "0xc64",
+        0xc65 => "0xc65",
+        0xc66 => "0xc66",
+        0xc67 => "0xc67",
+        0xc68 => "0xc68",
+        0xc69 => "0xc69",
+        0xc6a => "0xc6a",
+        0xc6b => "0xc6b",
+        0xc6c => "0xc6c",
+        0xc6d => "0xc6d",
+        0xc6e => "0xc6e",
+        0xc6f => "0xc6f",
+        0xc70 => "0xc70",
+        0xc71 => "0xc71",
+        0xc72 => "0xc72",
+        0xc73 => "0xc73",
+        0xc74 => "0xc74",
+        0xc75 => "0xc75",
+        0xc76 => "0xc76",
+        0xc77 => "0xc77",
+        0xc78 => "0xc78",
+        0xc79 => "0xc79",
+        0xc7a => "0xc7a",
+        0xc7b => "0xc7b",
+        0xc7c => "0xc7c",
+        0xc7d => "0xc7d",
+        0xc7e => "0xc7e",
+        0xc7f => "0xc7f",
+        0xc80 => "0xc80",
+        0xc81 => "0xc81",
+        0xc82 => "0xc82",
+        0xc83 => "0xc83",
+        0xc84 => "0xc84",
+        0xc85 => "0xc85",
+        0xc86 => "0xc86",
+        0xc87 => "0xc87",
+        0xc88 => "0xc88",
+        0xc89 => "0xc89",
+        0xc8a => "0xc8a",
+        0xc8b => "0xc8b",
+        0xc8c => "0xc8c",
+        0xc8d => "0xc8d",
+        0xc8e => "0xc8e",
+        0xc8f => "0xc8f",
+        0xc90 => "0xc90",
+        0xc91 => "0xc91",
+        0xc92 => "0xc92",
+        0xc93 => "0xc93",
+        0xc94 => "0xc94",
+        0xc95 => "0xc95",
+        0xc96 => "0xc96",
+        0xc97 => "0xc97",
+        0xc98 => "0xc98",
+        0xc99 => "0xc99",
+        0xc9a => "0xc9a",
+        0xc9b => "0xc9b",
+        0xc9c => "0xc9c",
+        0xc9d => "0xc9d",
+        0xc9e => "0xc9e",
+        0xc9f => "0xc9f",
+        0xca0 => "0xca0",
+        0xca1 => "0xca1",
+        0xca2 => "0xca2",
+        0xca3 => "0xca3",
+        0xca4 => "0xca4",
+        0xca5 => "0xca5",
+        0xca6 => "0xca6",
+        0xca7 => "0xca7",
+        0xca8 => "0xca8",
+        0xca9 => "0xca9",
+        0xcaa => "0xcaa",
+        0xcab => "0xcab",
+        0xcac => "0xcac",
+        0xcad => "0xcad",
+        0xcae => "0xcae",
+        0xcaf => "0xcaf",
+        0xcb0 => "0xcb0",
+        0xcb1 => "0xcb1",
+        0xcb2 => "0xcb2",
+        0xcb3 => "0xcb3",
+        0xcb4 => "0xcb4",
+        0xcb5 => "0xcb5",
+        0xcb6 => "0xcb6",
+        0xcb7 => "0xcb7",
+        0xcb8 => "0xcb8",
+        0xcb9 => "0xcb9",
+        0xcba => "0xcba",
+        0xcbb => "0xcbb",
+        0xcbc => "0xcbc",
+        0xcbd => "0xcbd",
+        0xcbe => "0xcbe",
+        0xcbf => "0xcbf",
+        0xcc0 => "0xcc0",
+        0xcc1 => "0xcc1",
+        0xcc2 => "0xcc2",
+        0xcc3 => "0xcc3",
+        0xcc4 => "0xcc4",
+        0xcc5 => "0xcc5",
+        0xcc6 => "0xcc6",
+        0xcc7 => "0xcc7",
+        0xcc8 => "0xcc8",
+        0xcc9 => "0xcc9",
+        0xcca => "0xcca",
+        0xccb => "0xccb",
+        0xccc => "0xccc",
+        0xccd => "0xccd",
+        0xcce => "0xcce",
+        0xccf => "0xccf",
+        0xcd0 => "0xcd0",
+        0xcd1 => "0xcd1",
+        0xcd2 => "0xcd2",
+        0xcd3 => "0xcd3",
+        0xcd4 => "0xcd4",
+        0xcd5 => "0xcd5",
+        0xcd6 => "0xcd6",
+        0xcd7 => "0xcd7",
+        0xcd8 => "0xcd8",
+        0xcd9 => "0xcd9",
+        0xcda => "0xcda",
+        0xcdb => "0xcdb",
+        0xcdc => "0xcdc",
+        0xcdd => "0xcdd",
+        0xcde => "0xcde",
+        0xcdf => "0xcdf",
+        0xce0 => "0xce0",
+        0xce1 => "0xce1",
+        0xce2 => "0xce2",
+        0xce3 => "0xce3",
+        0xce4 => "0xce4",
+        0xce5 => "0xce5",
+        0xce6 => "0xce6",
+        0xce7 => "0xce7",
+        0xce8 => "0xce8",
+        0xce9 => "0xce9",
+        0xcea => "0xcea",
+        0xceb => "0xceb",
+        0xcec => "0xcec",
+        0xced => "0xced",
+        0xcee => "0xcee",
+        0xcef => "0xcef",
+        0xcf0 => "0xcf0",
+        0xcf1 => "0xcf1",
+        0xcf2 => "0xcf2",
+        0xcf3 => "0xcf3",
+        0xcf4 => "0xcf4",
+        0xcf5 => "0xcf5",
+        0xcf6 => "0xcf6",
+        0xcf7 => "0xcf7",
+        0xcf8 => "0xcf8",
+        0xcf9 => "0xcf9",
+        0xcfa => "0xcfa",
+        0xcfb => "0xcfb",
+        0xcfc => "0xcfc",
+        0xcfd => "0xcfd",
+        0xcfe => "0xcfe",
+        0xcff => "0xcff",
+        0xd00 => "0xd00",
+        0xd01 => "0xd01",
+        0xd02 => "0xd02",
+        0xd03 => "0xd03",
+        0xd04 => "0xd04",
+        0xd05 => "0xd05",
+        0xd06 => "0xd06",
+        0xd07 => "0xd07",
+        0xd08 => "0xd08",
+        0xd09 => "0xd09",
+        0xd0a => "0xd0a",
+        0xd0b => "0xd0b",
+        0xd0c => "0xd0c",
+        0xd0d => "0xd0d",
+        0xd0e => "0xd0e",
+        0xd0f => "0xd0f",
+        0xd10 => "0xd10",
+        0xd11 => "0xd11",
+        0xd12 => "0xd12",
+        0xd13 => "0xd13",
+        0xd14 => "0xd14",
+        0xd15 => "0xd15",
+        0xd16 => "0xd16",
+        0xd17 => "0xd17",
+        0xd18 => "0xd18",
+        0xd19 => "0xd19",
+        0xd1a => "0xd1a",
+        0xd1b => "0xd1b",
+        0xd1c => "0xd1c",
+        0xd1d => "0xd1d",
+        0xd1e => "0xd1e",
+        0xd1f => "0xd1f",
+        0xd20 => "0xd20",
+        0xd21 => "0xd21",
+        0xd22 => "0xd22",
+        0xd23 => "0xd23",
+        0xd24 => "0xd24",
+        0xd25 => "0xd25",
+        0xd26 => "0xd26",
+        0xd27 => "0xd27",
+        0xd28 => "0xd28",
+        0xd29 => "0xd29",
+        0xd2a => "0xd2a",
+        0xd2b => "0xd2b",
+        0xd2c => "0xd2c",
+        0xd2d => "0xd2d",
+        0xd2e => "0xd2e",
+        0xd2f => "0xd2f",
+        0xd30 => "0xd30",
+        0xd31 => "0xd31",
+        0xd32 => "0xd32",
+        0xd33 => "0xd33",
+        0xd34 => "0xd34",
+        0xd35 => "0xd35",
+        0xd36 => "0xd36",
+        0xd37 => "0xd37",
+        0xd38 => "0xd38",
+        0xd39 => "0xd39",
+        0xd3a => "0xd3a",
+        0xd3b => "0xd3b",
+        0xd3c => "0xd3c",
+        0xd3d => "0xd3d",
+        0xd3e => "0xd3e",
+        0xd3f => "0xd3f",
+        0xd40 => "0xd40",
+        0xd41 => "0xd41",
+        0xd42 => "0xd42",
+        0xd43 => "0xd43",
+        0xd44 => "0xd44",
+        0xd45 => "0xd45",
+        0xd46 => "0xd46",
+        0xd47 => "0xd47",
+        0xd48 => "0xd48",
+        0xd49 => "0xd49",
+        0xd4a => "0xd4a",
+        0xd4b => "0xd4b",
+        0xd4c => "0xd4c",
+        0xd4d => "0xd4d",
+        0xd4e => "0xd4e",
+        0xd4f => "0xd4f",
+        0xd50 => "0xd50",
+        0xd51 => "0xd51",
+        0xd52 => "0xd52",
+        0xd53 => "0xd53",
+        0xd54 => "0xd54",
+        0xd55 => "0xd55",
+        0xd56 => "0xd56",
+        0xd57 => "0xd57",
+        0xd58 => "0xd58",
+        0xd59 => "0xd59",
+        0xd5a => "0xd5a",
+        0xd5b => "0xd5b",
+        0xd5c => "0xd5c",
+        0xd5d => "0xd5d",
+        0xd5e => "0xd5e",
+        0xd5f => "0xd5f",
+        0xd60 => "0xd60",
+        0xd61 => "0xd61",
+        0xd62 => "0xd62",
+        0xd63 => "0xd63",
+        0xd64 => "0xd64",
+        0xd65 => "0xd65",
+        0xd66 => "0xd66",
+        0xd67 => "0xd67",
+        0xd68 => "0xd68",
+        0xd69 => "0xd69",
+        0xd6a => "0xd6a",
+        0xd6b => "0xd6b",
+        0xd6c => "0xd6c",
+        0xd6d => "0xd6d",
+        0xd6e => "0xd6e",
+        0xd6f => "0xd6f",
+        0xd70 => "0xd70",
+        0xd71 => "0xd71",
+        0xd72 => "0xd72",
+        0xd73 => "0xd73",
+        0xd74 => "0xd74",
+        0xd75 => "0xd75",
+        0xd76 => "0xd76",
+        0xd77 => "0xd77",
+        0xd78 => "0xd78",
+        0xd79 => "0xd79",
+        0xd7a => "0xd7a",
+        0xd7b => "0xd7b",
+        0xd7c => "0xd7c",
+        0xd7d => "0xd7d",
+        0xd7e => "0xd7e",
+        0xd7f => "0xd7f",
+        0xd80 => "0xd80",
+        0xd81 => "0xd81",
+        0xd82 => "0xd82",
+        0xd83 => "0xd83",
+        0xd84 => "0xd84",
+        0xd85 => "0xd85",
+        0xd86 => "0xd86",
+        0xd87 => "0xd87",
+        0xd88 => "0xd88",
+        0xd89 => "0xd89",
+        0xd8a => "0xd8a",
+        0xd8b => "0xd8b",
+        0xd8c => "0xd8c",
+        0xd8d => "0xd8d",
+        0xd8e => "0xd8e",
+        0xd8f => "0xd8f",
+        0xd90 => "0xd90",
+        0xd91 => "0xd91",
+        0xd92 => "0xd92",
+        0xd93 => "0xd93",
+        0xd94 => "0xd94",
+        0xd95 => "0xd95",
+        0xd96 => "0xd96",
+        0xd97 => "0xd97",
+        0xd98 => "0xd98",
+        0xd99 => "0xd99",
+        0xd9a => "0xd9a",
+        0xd9b => "0xd9b",
+        0xd9c => "0xd9c",
+        0xd9d => "0xd9d",
+        0xd9e => "0xd9e",
+        0xd9f => "0xd9f",
+        0xda0 => "0xda0",
+        0xda1 => "0xda1",
+        0xda2 => "0xda2",
+        0xda3 => "0xda3",
+        0xda4 => "0xda4",
+        0xda5 => "0xda5",
+        0xda6 => "0xda6",
+        0xda7 => "0xda7",
+        0xda8 => "0xda8",
+        0xda9 => "0xda9",
+        0xdaa => "0xdaa",
+        0xdab => "0xdab",
+        0xdac => "0xdac",
+        0xdad => "0xdad",
+        0xdae => "0xdae",
+        0xdaf => "0xdaf",
+        0xdb0 => "0xdb0",
+        0xdb1 => "0xdb1",
+        0xdb2 => "0xdb2",
+        0xdb3 => "0xdb3",
+        0xdb4 => "0xdb4",
+        0xdb5 => "0xdb5",
+        0xdb6 => "0xdb6",
+        0xdb7 => "0xdb7",
+        0xdb8 => "0xdb8",
+        0xdb9 => "0xdb9",
+        0xdba => "0xdba",
+        0xdbb => "0xdbb",
+        0xdbc => "0xdbc",
+        0xdbd => "0xdbd",
+        0xdbe => "0xdbe",
+        0xdbf => "0xdbf",
+        0xdc0 => "0xdc0",
+        0xdc1 => "0xdc1",
+        0xdc2 => "0xdc2",
+        0xdc3 => "0xdc3",
+        0xdc4 => "0xdc4",
+        0xdc5 => "0xdc5",
+        0xdc6 => "0xdc6",
+        0xdc7 => "0xdc7",
+        0xdc8 => "0xdc8",
+        0xdc9 => "0xdc9",
+        0xdca => "0xdca",
+        0xdcb => "0xdcb",
+        0xdcc => "0xdcc",
+        0xdcd => "0xdcd",
+        0xdce => "0xdce",
+        0xdcf => "0xdcf",
+        0xdd0 => "0xdd0",
+        0xdd1 => "0xdd1",
+        0xdd2 => "0xdd2",
+        0xdd3 => "0xdd3",
+        0xdd4 => "0xdd4",
+        0xdd5 => "0xdd5",
+        0xdd6 => "0xdd6",
+        0xdd7 => "0xdd7",
+        0xdd8 => "0xdd8",
+        0xdd9 => "0xdd9",
+        0xdda => "0xdda",
+        0xddb => "0xddb",
+        0xddc => "0xddc",
+        0xddd => "0xddd",
+        0xdde => "0xdde",
+        0xddf => "0xddf",
+        0xde0 => "0xde0",
+        0xde1 => "0xde1",
+        0xde2 => "0xde2",
+        0xde3 => "0xde3",
+        0xde4 => "0xde4",
+        0xde5 => "0xde5",
+        0xde6 => "0xde6",
+        0xde7 => "0xde7",
+        0xde8 => "0xde8",
+        0xde9 => "0xde9",
+        0xdea => "0xdea",
+        0xdeb => "0xdeb",
+        0xdec => "0xdec",
+        0xded => "0xded",
+        0xdee => "0xdee",
+        0xdef => "0xdef",
+        0xdf0 => "0xdf0",
+        0xdf1 => "0xdf1",
+        0xdf2 => "0xdf2",
+        0xdf3 => "0xdf3",
+        0xdf4 => "0xdf4",
+        0xdf5 => "0xdf5",
+        0xdf6 => "0xdf6",
+        0xdf7 => "0xdf7",
+        0xdf8 => "0xdf8",
+        0xdf9 => "0xdf9",
+        0xdfa => "0xdfa",
+        0xdfb => "0xdfb",
+        0xdfc => "0xdfc",
+        0xdfd => "0xdfd",
+        0xdfe => "0xdfe",
+        0xdff => "0xdff",
+        0xe00 => "0xe00",
+        0xe01 => "0xe01",
+        0xe02 => "0xe02",
+        0xe03 => "0xe03",
+        0xe04 => "0xe04",
+        0xe05 => "0xe05",
+        0xe06 => "0xe06",
+        0xe07 => "0xe07",
+        0xe08 => "0xe08",
+        0xe09 => "0xe09",
+        0xe0a => "0xe0a",
+        0xe0b => "0xe0b",
+        0xe0c => "0xe0c",
+        0xe0d => "0xe0d",
+        0xe0e => "0xe0e",
+        0xe0f => "0xe0f",
+        0xe10 => "0xe10",
+        0xe11 => "0xe11",
+        0xe12 => "0xe12",
+        0xe13 => "0xe13",
+        0xe14 => "0xe14",
+        0xe15 => "0xe15",
+        0xe16 => "0xe16",
+        0xe17 => "0xe17",
+        0xe18 => "0xe18",
+        0xe19 => "0xe19",
+        0xe1a => "0xe1a",
+        0xe1b => "0xe1b",
+        0xe1c => "0xe1c",
+        0xe1d => "0xe1d",
+        0xe1e => "0xe1e",
+        0xe1f => "0xe1f",
+        0xe20 => "0xe20",
+        0xe21 => "0xe21",
+        0xe22 => "0xe22",
+        0xe23 => "0xe23",
+        0xe24 => "0xe24",
+        0xe25 => "0xe25",
+        0xe26 => "0xe26",
+        0xe27 => "0xe27",
+        0xe28 => "0xe28",
+        0xe29 => "0xe29",
+        0xe2a => "0xe2a",
+        0xe2b => "0xe2b",
+        0xe2c => "0xe2c",
+        0xe2d => "0xe2d",
+        0xe2e => "0xe2e",
+        0xe2f => "0xe2f",
+        0xe30 => "0xe30",
+        0xe31 => "0xe31",
+        0xe32 => "0xe32",
+        0xe33 => "0xe33",
+        0xe34 => "0xe34",
+        0xe35 => "0xe35",
+        0xe36 => "0xe36",
+        0xe37 => "0xe37",
+        0xe38 => "0xe38",
+        0xe39 => "0xe39",
+        0xe3a => "0xe3a",
+        0xe3b => "0xe3b",
+        0xe3c => "0xe3c",
+        0xe3d => "0xe3d",
+        0xe3e => "0xe3e",
+        0xe3f => "0xe3f",
+        0xe40 => "0xe40",
+        0xe41 => "0xe41",
+        0xe42 => "0xe42",
+        0xe43 => "0xe43",
+        0xe44 => "0xe44",
+        0xe45 => "0xe45",
+        0xe46 => "0xe46",
+        0xe47 => "0xe47",
+        0xe48 => "0xe48",
+        0xe49 => "0xe49",
+        0xe4a => "0xe4a",
+        0xe4b => "0xe4b",
+        0xe4c => "0xe4c",
+        0xe4d => "0xe4d",
+        0xe4e => "0xe4e",
+        0xe4f => "0xe4f",
+        0xe50 => "0xe50",
+        0xe51 => "0xe51",
+        0xe52 => "0xe52",
+        0xe53 => "0xe53",
+        0xe54 => "0xe54",
+        0xe55 => "0xe55",
+        0xe56 => "0xe56",
+        0xe57 => "0xe57",
+        0xe58 => "0xe58",
+        0xe59 => "0xe59",
+        0xe5a => "0xe5a",
+        0xe5b => "0xe5b",
+        0xe5c => "0xe5c",
+        0xe5d => "0xe5d",
+        0xe5e => "0xe5e",
+        0xe5f => "0xe5f",
+        0xe60 => "0xe60",
+        0xe61 => "0xe61",
+        0xe62 => "0xe62",
+        0xe63 => "0xe63",
+        0xe64 => "0xe64",
+        0xe65 => "0xe65",
+        0xe66 => "0xe66",
+        0xe67 => "0xe67",
+        0xe68 => "0xe68",
+        0xe69 => "0xe69",
+        0xe6a => "0xe6a",
+        0xe6b => "0xe6b",
+        0xe6c => "0xe6c",
+        0xe6d => "0xe6d",
+        0xe6e => "0xe6e",
+        0xe6f => "0xe6f",
+        0xe70 => "0xe70",
+        0xe71 => "0xe71",
+        0xe72 => "0xe72",
+        0xe73 => "0xe73",
+        0xe74 => "0xe74",
+        0xe75 => "0xe75",
+        0xe76 => "0xe76",
+        0xe77 => "0xe77",
+        0xe78 => "0xe78",
+        0xe79 => "0xe79",
+        0xe7a => "0xe7a",
+        0xe7b => "0xe7b",
+        0xe7c => "0xe7c",
+        0xe7d => "0xe7d",
+        0xe7e => "0xe7e",
+        0xe7f => "0xe7f",
+        0xe80 => "0xe80",
+        0xe81 => "0xe81",
+        0xe82 => "0xe82",
+        0xe83 => "0xe83",
+        0xe84 => "0xe84",
+        0xe85 => "0xe85",
+        0xe86 => "0xe86",
+        0xe87 => "0xe87",
+        0xe88 => "0xe88",
+        0xe89 => "0xe89",
+        0xe8a => "0xe8a",
+        0xe8b => "0xe8b",
+        0xe8c => "0xe8c",
+        0xe8d => "0xe8d",
+        0xe8e => "0xe8e",
+        0xe8f => "0xe8f",
+        0xe90 => "0xe90",
+        0xe91 => "0xe91",
+        0xe92 => "0xe92",
+        0xe93 => "0xe93",
+        0xe94 => "0xe94",
+        0xe95 => "0xe95",
+        0xe96 => "0xe96",
+        0xe97 => "0xe97",
+        0xe98 => "0xe98",
+        0xe99 => "0xe99",
+        0xe9a => "0xe9a",
+        0xe9b => "0xe9b",
+        0xe9c => "0xe9c",
+        0xe9d => "0xe9d",
+        0xe9e => "0xe9e",
+        0xe9f => "0xe9f",
+        0xea0 => "0xea0",
+        0xea1 => "0xea1",
+        0xea2 => "0xea2",
+        0xea3 => "0xea3",
+        0xea4 => "0xea4",
+        0xea5 => "0xea5",
+        0xea6 => "0xea6",
+        0xea7 => "0xea7",
+        0xea8 => "0xea8",
+        0xea9 => "0xea9",
+        0xeaa => "0xeaa",
+        0xeab => "0xeab",
+        0xeac => "0xeac",
+        0xead => "0xead",
+        0xeae => "0xeae",
+        0xeaf => "0xeaf",
+        0xeb0 => "0xeb0",
+        0xeb1 => "0xeb1",
+        0xeb2 => "0xeb2",
+        0xeb3 => "0xeb3",
+        0xeb4 => "0xeb4",
+        0xeb5 => "0xeb5",
+        0xeb6 => "0xeb6",
+        0xeb7 => "0xeb7",
+        0xeb8 => "0xeb8",
+        0xeb9 => "0xeb9",
+        0xeba => "0xeba",
+        0xebb => "0xebb",
+        0xebc => "0xebc",
+        0xebd => "0xebd",
+        0xebe => "0xebe",
+        0xebf => "0xebf",
+        0xec0 => "0xec0",
+        0xec1 => "0xec1",
+        0xec2 => "0xec2",
+        0xec3 => "0xec3",
+        0xec4 => "0xec4",
+        0xec5 => "0xec5",
+        0xec6 => "0xec6",
+        0xec7 => "0xec7",
+        0xec8 => "0xec8",
+        0xec9 => "0xec9",
+        0xeca => "0xeca",
+        0xecb => "0xecb",
+        0xecc => "0xecc",
+        0xecd => "0xecd",
+        0xece => "0xece",
+        0xecf => "0xecf",
+        0xed0 => "0xed0",
+        0xed1 => "0xed1",
+        0xed2 => "0xed2",
+        0xed3 => "0xed3",
+        0xed4 => "0xed4",
+        0xed5 => "0xed5",
+        0xed6 => "0xed6",
+        0xed7 => "0xed7",
+        0xed8 => "0xed8",
+        0xed9 => "0xed9",
+        0xeda => "0xeda",
+        0xedb => "0xedb",
+        0xedc => "0xedc",
+        0xedd => "0xedd",
+        0xede => "0xede",
+        0xedf => "0xedf",
+        0xee0 => "0xee0",
+        0xee1 => "0xee1",
+        0xee2 => "0xee2",
+        0xee3 => "0xee3",
+        0xee4 => "0xee4",
+        0xee5 => "0xee5",
+        0xee6 => "0xee6",
+        0xee7 => "0xee7",
+        0xee8 => "0xee8",
+        0xee9 => "0xee9",
+        0xeea => "0xeea",
+        0xeeb => "0xeeb",
+        0xeec => "0xeec",
+        0xeed => "0xeed",
+        0xeee => "0xeee",
+        0xeef => "0xeef",
+        0xef0 => "0xef0",
+        0xef1 => "0xef1",
+        0xef2 => "0xef2",
+        0xef3 => "0xef3",
+        0xef4 => "0xef4",
+        0xef5 => "0xef5",
+        0xef6 => "0xef6",
+        0xef7 => "0xef7",
+        0xef8 => "0xef8",
+        0xef9 => "0xef9",
+        0xefa => "0xefa",
+        0xefb => "0xefb",
+        0xefc => "0xefc",
+        0xefd => "0xefd",
+        0xefe => "0xefe",
+        0xeff => "0xeff",
+        0xf00 => "0xf00",
+        0xf01 => "0xf01",
+        0xf02 => "0xf02",
+        0xf03 => "0xf03",
+        0xf04 => "0xf04",
+        0xf05 => "0xf05",
+        0xf06 => "0xf06",
+        0xf07 => "0xf07",
+        0xf08 => "0xf08",
+        0xf09 => "0xf09",
+        0xf0a => "0xf0a",
+        0xf0b => "0xf0b",
+        0xf0c => "0xf0c",
+        0xf0d => "0xf0d",
+        0xf0e => "0xf0e",
+        0xf0f => "0xf0f",
+        0xf10 => "0xf10",
+        0xf11 => "0xf11",
+        0xf12 => "0xf12",
+        0xf13 => "0xf13",
+        0xf14 => "0xf14",
+        0xf15 => "0xf15",
+        0xf16 => "0xf16",
+        0xf17 => "0xf17",
+        0xf18 => "0xf18",
+        0xf19 => "0xf19",
+        0xf1a => "0xf1a",
+        0xf1b => "0xf1b",
+        0xf1c => "0xf1c",
+        0xf1d => "0xf1d",
+        0xf1e => "0xf1e",
+        0xf1f => "0xf1f",
+        0xf20 => "0xf20",
+        0xf21 => "0xf21",
+        0xf22 => "0xf22",
+        0xf23 => "0xf23",
+        0xf24 => "0xf24",
+        0xf25 => "0xf25",
+        0xf26 => "0xf26",
+        0xf27 => "0xf27",
+        0xf28 => "0xf28",
+        0xf29 => "0xf29",
+        0xf2a => "0xf2a",
+        0xf2b => "0xf2b",
+        0xf2c => "0xf2c",
+        0xf2d => "0xf2d",
+        0xf2e => "0xf2e",
+        0xf2f => "0xf2f",
+        0xf30 => "0xf30",
+        0xf31 => "0xf31",
+        0xf32 => "0xf32",
+        0xf33 => "0xf33",
+        0xf34 => "0xf34",
+        0xf35 => "0xf35",
+        0xf36 => "0xf36",
+        0xf37 => "0xf37",
+        0xf38 => "0xf38",
+        0xf39 => "0xf39",
+        0xf3a => "0xf3a",
+        0xf3b => "0xf3b",
+        0xf3c => "0xf3c",
+        0xf3d => "0xf3d",
+        0xf3e => "0xf3e",
+        0xf3f => "0xf3f",
+        0xf40 => "0xf40",
+        0xf41 => "0xf41",
+        0xf42 => "0xf42",
+        0xf43 => "0xf43",
+        0xf44 => "0xf44",
+        0xf45 => "0xf45",
+        0xf46 => "0xf46",
+        0xf47 => "0xf47",
+        0xf48 => "0xf48",
+        0xf49 => "0xf49",
+        0xf4a => "0xf4a",
+        0xf4b => "0xf4b",
+        0xf4c => "0xf4c",
+        0xf4d => "0xf4d",
+        0xf4e => "0xf4e",
+        0xf4f => "0xf4f",
+        0xf50 => "0xf50",
+        0xf51 => "0xf51",
+        0xf52 => "0xf52",
+        0xf53 => "0xf53",
+        0xf54 => "0xf54",
+        0xf55 => "0xf55",
+        0xf56 => "0xf56",
+        0xf57 => "0xf57",
+        0xf58 => "0xf58",
+        0xf59 => "0xf59",
+        0xf5a => "0xf5a",
+        0xf5b => "0xf5b",
+        0xf5c => "0xf5c",
+        0xf5d => "0xf5d",
+        0xf5e => "0xf5e",
+        0xf5f => "0xf5f",
+        0xf60 => "0xf60",
+        0xf61 => "0xf61",
+        0xf62 => "0xf62",
+        0xf63 => "0xf63",
+        0xf64 => "0xf64",
+        0xf65 => "0xf65",
+        0xf66 => "0xf66",
+        0xf67 => "0xf67",
+        0xf68 => "0xf68",
+        0xf69 => "0xf69",
+        0xf6a => "0xf6a",
+        0xf6b => "0xf6b",
+        0xf6c => "0xf6c",
+        0xf6d => "0xf6d",
+        0xf6e => "0xf6e",
+        0xf6f => "0xf6f",
+        0xf70 => "0xf70",
+        0xf71 => "0xf71",
+        0xf72 => "0xf72",
+        0xf73 => "0xf73",
+        0xf74 => "0xf74",
+        0xf75 => "0xf75",
+        0xf76 => "0xf76",
+        0xf77 => "0xf77",
+        0xf78 => "0xf78",
+        0xf79 => "0xf79",
+        0xf7a => "0xf7a",
+        0xf7b => "0xf7b",
+        0xf7c => "0xf7c",
+        0xf7d => "0xf7d",
+        0xf7e => "0xf7e",
+        0xf7f => "0xf7f",
+        0xf80 => "0xf80",
+        0xf81 => "0xf81",
+        0xf82 => "0xf82",
+        0xf83 => "0xf83",
+        0xf84 => "0xf84",
+        0xf85 => "0xf85",
+        0xf86 => "0xf86",
+        0xf87 => "0xf87",
+        0xf88 => "0xf88",
+        0xf89 => "0xf89",
+        0xf8a => "0xf8a",
+        0xf8b => "0xf8b",
+        0xf8c => "0xf8c",
+        0xf8d => "0xf8d",
+        0xf8e => "0xf8e",
+        0xf8f => "0xf8f",
+        0xf90 => "0xf90",
+        0xf91 => "0xf91",
+        0xf92 => "0xf92",
+        0xf93 => "0xf93",
+        0xf94 => "0xf94",
+        0xf95 => "0xf95",
+        0xf96 => "0xf96",
+        0xf97 => "0xf97",
+        0xf98 => "0xf98",
+        0xf99 => "0xf99",
+        0xf9a => "0xf9a",
+        0xf9b => "0xf9b",
+        0xf9c => "0xf9c",
+        0xf9d => "0xf9d",
+        0xf9e => "0xf9e",
+        0xf9f => "0xf9f",
+        0xfa0 => "0xfa0",
+        0xfa1 => "0xfa1",
+        0xfa2 => "0xfa2",
+        0xfa3 => "0xfa3",
+        0xfa4 => "0xfa4",
+        0xfa5 => "0xfa5",
+        0xfa6 => "0xfa6",
+        0xfa7 => "0xfa7",
+        0xfa8 => "0xfa8",
+        0xfa9 => "0xfa9",
+        0xfaa => "0xfaa",
+        0xfab => "0xfab",
+        0xfac => "0xfac",
+        0xfad => "0xfad",
+        0xfae => "0xfae",
+        0xfaf => "0xfaf",
+        0xfb0 => "0xfb0",
+        0xfb1 => "0xfb1",
+        0xfb2 => "0xfb2",
+        0xfb3 => "0xfb3",
+        0xfb4 => "0xfb4",
+        0xfb5 => "0xfb5",
+        0xfb6 => "0xfb6",
+        0xfb7 => "0xfb7",
+        0xfb8 => "0xfb8",
+        0xfb9 => "0xfb9",
+        0xfba => "0xfba",
+        0xfbb => "0xfbb",
+        0xfbc => "0xfbc",
+        0xfbd => "0xfbd",
+        0xfbe => "0xfbe",
+        0xfbf => "0xfbf",
+        0xfc0 => "0xfc0",
+        0xfc1 => "0xfc1",
+        0xfc2 => "0xfc2",
+        0xfc3 => "0xfc3",
+        0xfc4 => "0xfc4",
+        0xfc5 => "0xfc5",
+        0xfc6 => "0xfc6",
+        0xfc7 => "0xfc7",
+        0xfc8 => "0xfc8",
+        0xfc9 => "0xfc9",
+        0xfca => "0xfca",
+        0xfcb => "0xfcb",
+        0xfcc => "0xfcc",
+        0xfcd => "0xfcd",
+        0xfce => "0xfce",
+        0xfcf => "0xfcf",
+        0xfd0 => "0xfd0",
+        0xfd1 => "0xfd1",
+        0xfd2 => "0xfd2",
+        0xfd3 => "0xfd3",
+        0xfd4 => "0xfd4",
+        0xfd5 => "T0CON",
+        0xfd6 => "TMR0L",
+        0xfd7 => "TMR0H",
+        0xfd8 => "STATUS",
+        0xfd9 => "FSR2L",
+        0xfda => "FSR2H",
+        0xfdb => "PLUSW2",
+        0xfdc => "PREINC2",
+        0xfdd => "POSTDEC2",
+        0xfde => "POSTINC2",
+        0xfdf => "INDF2",
+        0xfe0 => "BSR",
+        0xfe1 => "FSR1L",
+        0xfe2 => "FSR1H",
+        0xfe3 => "PLUSW1",
+        0xfe4 => "PREINC1",
+        0xfe5 => "POSTDEC1",
+        0xfe6 => "POSTINC1",
+        0xfe7 => "INDF1",
+        0xfe8 => "WREG",
+        0xfe9 => "FSR0L",
+        0xfea => "FSR0H",
+        0xfeb => "PLUSW0",
+        0xfec => "PREINC0",
+        0xfed => "POSTDEC0",
+        0xfee => "POSTINC0",
+        0xfef => "INDF0",
+        0xff0 => "INTCON3",
+        0xff1 => "INTCON2",
+        0xff2 => "INTCON",
+        0xff3 => "PRODL",
+        0xff4 => "PRODH",
+        0xff5 => "TABLAT",
+        0xff6 => "TBLPTRL",
+        0xff7 => "TBLPTRH",
+        0xff8 => "TBLPTRU",
+        0xff9 => "PCL",
+        0xffa => "PCLATH",
+        0xffb => "PCLATU",
+        0xffc => "STKPTR",
+        0xffd => "TOSL",
+        0xffe => "TOSH",
+        0xfff => "TOSU",
+        _ => { unreachable!() }
+    }
+}
diff --git a/src/display.rs b/src/display.rs
new file mode 100644
index 0000000..80b9b70
--- /dev/null
+++ b/src/display.rs
@@ -0,0 +1,166 @@
+use crate::{Instruction, Opcode, Operand};
+use crate::consts;
+
+use std;
+use std::fmt::{Display, Formatter};
+impl Display for Instruction {
+    fn fmt(&self, f: &mut Formatter) -> Result<(), std::fmt::Error> {
+        write!(f, "{}", self.opcode)?;
+        match self.operands[0] {
+            Operand::Nothing => return Ok(()),
+            x @ _ => {
+                write!(f, " {}", x)?;
+            }
+        };
+        match self.operands[1] {
+            Operand::Nothing => return Ok(()),
+            x @ _ => {
+                write!(f, ", {}", x)?;
+            }
+        };
+        Ok(())
+    }
+}
+
+impl Display for Opcode {
+    fn fmt(&self, f: &mut Formatter) -> Result<(), std::fmt::Error> {
+        match self {
+            Opcode::Invalid(a, b) => { write!(f, "invalid({:02x}{:02x})", a, b) },
+            Opcode::NOP => { write!(f, "nop") },
+            Opcode::MOVFF => { write!(f, "movff") },
+            Opcode::MOVSF => { write!(f, "movsf") },
+            Opcode::MOVSD => { write!(f, "movsd") },
+            Opcode::CALL => { write!(f, "call") },
+            Opcode::LFSR => { write!(f, "lfsr") },
+            Opcode::GOTO => { write!(f, "goto") },
+            Opcode::CALLW => { write!(f, "callw") },
+            Opcode::CLRWDT => { write!(f, "clrwdt") },
+            Opcode::DAW => { write!(f, "daw") },
+            Opcode::POP => { write!(f, "pop") },
+            Opcode::PUSH => { write!(f, "push") },
+            Opcode::RESET => { write!(f, "reset") },
+            Opcode::RETFIE => { write!(f, "retfie") },
+            Opcode::RETFIE_FAST => { write!(f, "retfie_fast") },
+            Opcode::RETURN => { write!(f, "return") },
+            Opcode::RETURN_FAST => { write!(f, "return_fast") },
+            Opcode::SLEEP => { write!(f, "sleep") },
+            Opcode::TBLRD_I_S => { write!(f, "tblrd_i_s") },
+            Opcode::TBLRD_S => { write!(f, "tblrd_s") },
+            Opcode::TBLRD_S_D => { write!(f, "tblrd_s_d") },
+            Opcode::TBLRD_S_I => { write!(f, "tblrd_s_i") },
+            Opcode::TBLWT_I_S => { write!(f, "tblwt_i_s") },
+            Opcode::TBLWT_S => { write!(f, "tblwt_s") },
+            Opcode::TBLWT_S_D => { write!(f, "tblwt_s_d") },
+            Opcode::TBLWT_S_I => { write!(f, "tblwt_s_i") },
+            Opcode::MOVLB => { write!(f, "movlb") },
+            Opcode::ADDLW => { write!(f, "addlw") },
+            Opcode::MOVLW => { write!(f, "movlw") },
+            Opcode::MULLW => { write!(f, "mullw") },
+            Opcode::RETLW => { write!(f, "retlw") },
+            Opcode::ANDLW => { write!(f, "andlw") },
+            Opcode::XORLW => { write!(f, "xorlw") },
+            Opcode::IORLW => { write!(f, "iorlw") },
+            Opcode::SUBLW => { write!(f, "sublw") },
+            Opcode::IORWF => { write!(f, "iorwf") },
+            Opcode::ANDWF => { write!(f, "andwf") },
+            Opcode::XORWF => { write!(f, "xorwf") },
+            Opcode::COMF => { write!(f, "comf") },
+            Opcode::MULWF => { write!(f, "mulwf") },
+            Opcode::ADDWFC => { write!(f, "addwfc") },
+            Opcode::ADDWF => { write!(f, "addwf") },
+            Opcode::INCF => { write!(f, "incf") },
+            Opcode::DECF => { write!(f, "decf") },
+            Opcode::DECFSZ => { write!(f, "decfsz") },
+            Opcode::RRCF => { write!(f, "rrcf") },
+            Opcode::RLCF => { write!(f, "rlcf") },
+            Opcode::SWAPF => { write!(f, "swapf") },
+            Opcode::INCFSZ => { write!(f, "incfsz") },
+            Opcode::RRNCF => { write!(f, "rrncf") },
+            Opcode::RLNCF => { write!(f, "rlncf") },
+            Opcode::INFSNZ => { write!(f, "infsnz") },
+            Opcode::DCFSNZ => { write!(f, "dcfsnz") },
+            Opcode::MOVF => { write!(f, "movf") },
+            Opcode::SUBFWB => { write!(f, "subfwb") },
+            Opcode::SUBWFB => { write!(f, "subwfb") },
+            Opcode::SUBWF => { write!(f, "subwf") },
+            Opcode::CPFSLT => { write!(f, "cpfslt") },
+            Opcode::CPFSEQ => { write!(f, "cpfseq") },
+            Opcode::CPFSGT => { write!(f, "cpfsgt") },
+            Opcode::TSTFSZ => { write!(f, "tstfsz") },
+            Opcode::SETF => { write!(f, "setf") },
+            Opcode::CLRF => { write!(f, "clrf") },
+            Opcode::NEGF => { write!(f, "negf") },
+            Opcode::MOVWF => { write!(f, "movwf") },
+            Opcode::BTG => { write!(f, "btg") },
+            Opcode::BSF => { write!(f, "bsf") },
+            Opcode::BCF => { write!(f, "bcf") },
+            Opcode::BTFSS => { write!(f, "btfss") },
+            Opcode::BTFSC => { write!(f, "btfsc") },
+            Opcode::BZ => { write!(f, "bz") },
+            Opcode::BNZ => { write!(f, "bnz") },
+            Opcode::BC => { write!(f, "bc") },
+            Opcode::BNC => { write!(f, "bnc") },
+            Opcode::BOV => { write!(f, "bov") },
+            Opcode::BNOV => { write!(f, "bnov") },
+            Opcode::BN => { write!(f, "bn") },
+            Opcode::BNN => { write!(f, "bnn") },
+            Opcode::BRA => { write!(f, "bra") },
+            Opcode::RCALL => { write!(f, "rcall") }
+        }
+    }
+}
+
+impl Display for Operand {
+    fn fmt(&self, f: &mut Formatter) -> Result<(), std::fmt::Error> {
+        match self {
+            Operand::ImmediateU8(imm) => {
+                write!(f, "#0x{:x}", imm)
+            },
+            Operand::ImmediateU32(imm) => {
+                write!(f, "#0x{:x}", imm)
+            },
+            Operand::FileFSR(fsr) => {
+                write!(f, "[FSR{}]", fsr)
+            },
+            Operand::File(file, banked) => {
+                if *banked {
+                    write!(f, "[banked 0x{:x}]", file)
+                } else {
+                    write!(f, "[{}]", consts::named_file(
+                        if *file < 0x80 {
+                            (*file as u16)
+                        } else {
+                            (*file as u16) | 0xf00u16
+                        })
+                    )
+                }
+            },
+            Operand::AbsoluteFile(file) => {
+                write!(f, "[{}]", consts::named_file(*file))
+            },
+            Operand::RedirectableFile(file, banked, direction) => {
+                if *direction {
+                    write!(f, "[todo -> F] ")?
+                } else {
+                    write!(f, "[todo -> W] ")?
+                };
+
+                if *banked {
+                    write!(f, "[banked 0x{:x}]", file)
+                } else {
+                    write!(f, "[{}]", consts::named_file(
+                        if *file < 0x80 {
+                            (*file as u16)
+                        } else {
+                            (*file as u16) | 0xf00u16
+                        })
+                    )
+                }
+            },
+            Operand::Nothing => {
+                write!(f, "<No Operand>")
+            }
+        }
+    }
+}
+
diff --git a/src/lib.rs b/src/lib.rs
new file mode 100644
index 0000000..e2391a0
--- /dev/null
+++ b/src/lib.rs
@@ -0,0 +1,467 @@
+extern crate yaxpeax_arch;
+
+use yaxpeax_arch::{Arch, Decodable, LengthedInstruction};
+
+pub mod consts;
+pub mod display;
+
+pub struct PIC18;
+impl Arch for PIC18 {
+    type Address = u32;
+    type Instruction = Instruction;
+    type Operand = Operand;
+}
+
+#[derive(Debug, Copy, Clone)]
+pub struct Instruction {
+    pub opcode: Opcode,
+    pub operands: [Operand; 2]
+}
+
+impl LengthedInstruction for Instruction {
+    type Unit = <PIC18 as Arch>::Address;
+    fn len(&self) -> Self::Unit {
+        match self.opcode {
+            Opcode::MOVFF
+                | Opcode::MOVSF
+                | Opcode::MOVSD
+                | Opcode::CALL
+                | Opcode::LFSR
+                | Opcode::GOTO => {
+                4
+            },
+            _ => 2
+        }
+    }
+}
+
+impl Instruction {
+    pub fn blank() -> Instruction {
+        Instruction {
+            opcode: Opcode::NOP,
+            operands: [Operand::Nothing, Operand::Nothing]
+        }
+    }
+}
+
+#[allow(non_camel_case_types)]
+#[derive(Debug, Copy, Clone)]
+pub enum Opcode {
+    Invalid(u8, u8),
+    NOP,
+    MOVFF,
+    MOVSF,
+    MOVSD,
+    CALL,
+    LFSR,
+    GOTO,
+    CALLW,
+    CLRWDT,
+    DAW,
+    POP,
+    PUSH,
+    RESET,
+    RETFIE,
+    RETFIE_FAST,
+    RETURN,
+    RETURN_FAST,
+    SLEEP,
+    TBLRD_I_S,
+    TBLRD_S,
+    TBLRD_S_D,
+    TBLRD_S_I,
+    TBLWT_I_S,
+    TBLWT_S,
+    TBLWT_S_D,
+    TBLWT_S_I,
+    MOVLB,
+    ADDLW,
+    MOVLW,
+    MULLW,
+    RETLW,
+    ANDLW,
+    XORLW,
+    IORLW,
+    SUBLW,
+    IORWF,
+    ANDWF,
+    XORWF,
+    COMF,
+    MULWF,
+    ADDWFC,
+    ADDWF,
+    INCF,
+    DECF,
+    DECFSZ,
+    RRCF,
+    RLCF,
+    SWAPF,
+    INCFSZ,
+    RRNCF,
+    RLNCF,
+    INFSNZ,
+    DCFSNZ,
+    MOVF,
+    SUBFWB,
+    SUBWFB,
+    SUBWF,
+    CPFSLT,
+    CPFSEQ,
+    CPFSGT,
+    TSTFSZ,
+    SETF,
+    CLRF,
+    NEGF,
+    MOVWF,
+    BTG,
+    BSF,
+    BCF,
+    BTFSS,
+    BTFSC,
+    BZ,
+    BNZ,
+    BC,
+    BNC,
+    BOV,
+    BNOV,
+    BN,
+    BNN,
+    BRA,
+    RCALL
+}
+
+#[derive(Debug, Copy, Clone)]
+pub enum Operand {
+    ImmediateU8(u8),
+    ImmediateU32(u32),
+    FileFSR(u8),
+    File(u8, bool), // a == banked
+    AbsoluteFile(u16),
+    RedirectableFile(u8, bool, bool), // a == banked, d == direction
+    Nothing
+}
+
+impl Decodable for Instruction {
+    fn decode<'a, T: IntoIterator<Item=&'a u8>>(bytes: T) -> Option<Self> {
+        let mut blank = Instruction::blank();
+        match blank.decode_into(bytes) {
+            Some(_) => Some(blank),
+            None => None
+        }
+    }
+    fn decode_into<'a, T: IntoIterator<Item=&'a u8>>(&mut self, bytes: T) -> Option<()> {
+        let mut bytes_iter = bytes.into_iter();
+        let word: Vec<&'a u8> = bytes_iter.by_ref().take(2).collect();
+        if word.len() != 2 {
+            return None;
+        }
+
+//            println!("Decoding {:x?}", word);
+        match *word[1] {
+            0x00 => {
+                match *word[0] {
+                    0x00 => {
+                        self.opcode = Opcode::NOP;
+                        Some(())
+                    },
+                    0b00000011 => {
+                        self.opcode = Opcode::SLEEP;
+                        Some(())
+                    },
+                    0b00000100 => {
+                        self.opcode = Opcode::CLRWDT;
+                        Some(())
+                    },
+                    0b00000101 => {
+                        self.opcode = Opcode::PUSH;
+                        Some(())
+                    },
+                    0b00000110 => {
+                        self.opcode = Opcode::POP;
+                        Some(())
+                    },
+                    0b00000111 => {
+                        self.opcode = Opcode::DAW;
+                        Some(())
+                    },
+                    0b00001000 => {
+                        self.opcode = Opcode::TBLRD_S;
+                        Some(())
+                    },
+                    0b00001001 => {
+                        self.opcode = Opcode::TBLRD_S_I;
+                        Some(())
+                    },
+                    0b00001010 => {
+                        self.opcode = Opcode::TBLRD_S_D;
+                        Some(())
+                    },
+                    0b00001011 => {
+                        self.opcode = Opcode::TBLRD_I_S;
+                        Some(())
+                    },
+                    0b00001100 => {
+                        self.opcode = Opcode::TBLWT_S;
+                        Some(())
+                    },
+                    0b00001101 => {
+                        self.opcode = Opcode::TBLWT_S_I;
+                        Some(())
+                    },
+                    0b00001110 => {
+                        self.opcode = Opcode::TBLWT_S_D;
+                        Some(())
+                    },
+                    0b00001111 => {
+                        self.opcode = Opcode::TBLWT_I_S;
+                        Some(())
+                    },
+                    0b00010000 => {
+                        self.opcode = Opcode::RETFIE;
+                        Some(())
+                    },
+                    0b00010001 => {
+                        self.opcode = Opcode::RETFIE_FAST;
+                        Some(())
+                    },
+                    0b00010010 => {
+                        self.opcode = Opcode::RETURN;
+                        Some(())
+                    },
+                    0b00010011 => {
+                        self.opcode = Opcode::RETURN_FAST;
+                        Some(())
+                    },
+                    0b00010100 => {
+                        self.opcode = Opcode::CALLW;
+                        Some(())
+                    },
+                    0b11111111 => {
+                        self.opcode = Opcode::RESET;
+                        Some(())
+                    },
+                    _ => {
+                        self.opcode = Opcode::Invalid(*word[0], *word[1]);
+                        None
+                    }
+                }
+            },
+            0x01 => {
+                self.opcode = Opcode::MOVLB;
+                // this ignores high nibble of low word. ok by isa, but...
+                self.operands[0] = Operand::ImmediateU8(*word[0] & 0x0f);
+                Some(())
+            },
+            0x02 | 0x03 => {
+                self.opcode = Opcode::MULWF;
+                let a = (word[1] & 0x01) == 1;
+                self.operands[0] = Operand::File(*word[0], a);
+                Some(())
+            },
+            0x04 | 0x05 | 0x06 | 0x07 => {
+                self.opcode = Opcode::DECF;
+                let d = ((word[1] >> 1) & 0x01u8) == 1u8;
+                let a = (word[1] & 0x01) == 1;
+                self.operands[0] = Operand::RedirectableFile(*word[0], a, d);
+                Some(())
+            },
+            0x08 => {
+                self.opcode = Opcode::SUBLW;
+                self.operands[0] = Operand::ImmediateU8(*word[0]);
+                Some(())
+            },
+            0x09 => {
+                self.opcode = Opcode::IORLW;
+                self.operands[0] = Operand::ImmediateU8(*word[0]);
+                Some(())
+            },
+            0x0a => {
+                self.opcode = Opcode::XORLW;
+                self.operands[0] = Operand::ImmediateU8(*word[0]);
+                Some(())
+            },
+            0x0b => {
+                self.opcode = Opcode::ANDLW;
+                self.operands[0] = Operand::ImmediateU8(*word[0]);
+                Some(())
+            },
+            0x0c => {
+                self.opcode = Opcode::RETLW;
+                self.operands[0] = Operand::ImmediateU8(*word[0]);
+                Some(())
+            },
+            0x0d => {
+                self.opcode = Opcode::MULLW;
+                self.operands[0] = Operand::ImmediateU8(*word[0]);
+                Some(())
+            },
+            0x0e => {
+                self.opcode = Opcode::MOVLW;
+                self.operands[0] = Operand::ImmediateU8(*word[0]);
+                Some(())
+            },
+            0x0f => {
+                self.opcode = Opcode::ADDLW;
+                self.operands[0] = Operand::ImmediateU8(*word[0]);
+                Some(())
+            },
+            x if x >= 0x10 && x < 0b01100000 => {
+                let da = x & 0b0011;
+                let opc = (x >> 2) - 4;
+                self.opcode = [
+                    Opcode::IORWF,
+                    Opcode::ANDWF,
+                    Opcode::XORWF,
+                    Opcode::COMF,
+                    Opcode::ADDWFC,
+                    Opcode::ADDWF,
+                    Opcode::INCF,
+                    Opcode::DECFSZ,
+                    Opcode::RRCF,
+                    Opcode::RLCF,
+                    Opcode::SWAPF,
+                    Opcode::INCFSZ,
+                    Opcode::RRNCF,
+                    Opcode::RLNCF,
+                    Opcode::INFSNZ,
+                    Opcode::DCFSNZ,
+                    Opcode::MOVF,
+                    Opcode::SUBFWB,
+                    Opcode::SUBWFB,
+                    Opcode::SUBWF
+                ][opc as usize];
+                self.operands[0] = Operand::RedirectableFile(*word[0], (da & 0x01) == 0x01, (da & 0x02) == 0x02);
+                Some(())
+            },
+            x if x >= 0b01100000 && x < 0b01110000 => {
+                let a = x & 1;
+                let opc = (x >> 1) & 0b0000111;
+                self.opcode = [
+                    Opcode::CPFSLT,
+                    Opcode::CPFSEQ,
+                    Opcode::CPFSGT,
+                    Opcode::TSTFSZ,
+                    Opcode::SETF,
+                    Opcode::CLRF,
+                    Opcode::NEGF,
+                    Opcode::MOVWF
+                ][opc as usize];
+                self.operands[0] = Operand::File(*word[0], a == 1);
+                Some(())
+            },
+            x if x >= 0b01110000 && x < 0b11000000 => {
+                let a = x & 1;
+                let opc = ((x >> 4) & 0b00001111) - 0b111;
+                self.opcode = [
+                    Opcode::BTG,
+                    Opcode::BSF,
+                    Opcode::BCF,
+                    Opcode::BTFSS,
+                    Opcode::BTFSC
+                ][opc as usize];
+                let bit = (x >> 1) & 0b0000111;
+                self.operands[0] = Operand::File(*word[0], a == 1);
+                self.operands[1] = Operand::ImmediateU8(bit);
+                Some(())
+            },
+            x if x >= 0b11000000 && x < 0b11010000 => {
+                self.opcode = Opcode::MOVFF;
+                let word2: Vec<&'a u8> = bytes_iter.take(2).collect();
+                if word2.len() != 2 {
+                    return None;
+                }
+                if word2[1] & 0xf0 != 0xf0 {
+                    return None;
+                }
+
+                let src = (*word[0] as u16) | ((*word[1] as u16 & 0x0f) << 8);
+                let dest = (*word2[0] as u16) | ((*word2[1] as u16 & 0x0f) << 8);
+                self.operands[0] = Operand::AbsoluteFile(src);
+                self.operands[1] = Operand::AbsoluteFile(dest);
+                Some(())
+            },
+            x if x >= 0b11010000 && x < 0b11100000 => {
+                self.opcode = [
+                    Opcode::BRA,
+                    Opcode::RCALL
+                ][((x >> 3) & 1) as usize];
+                self.operands[0] = Operand::ImmediateU32((((x & 0b111) as u32) << 8) | *word[0] as u32);
+                Some(())
+            },
+            x if x >= 0b11100000 && x < 0b11101000 => {
+                let opc = x & 0b00000111;
+                self.opcode = [
+                    Opcode::BZ,
+                    Opcode::BNZ,
+                    Opcode::BC,
+                    Opcode::BNC,
+                    Opcode::BOV,
+                    Opcode::BNOV,
+                    Opcode::BN,
+                    Opcode::BNN
+                ][opc as usize];
+                self.operands[0] = Operand::ImmediateU8(*word[0]);
+                Some(())
+            },
+            0xee => {
+                let f_k_msb = *word[0];
+                let word2: Vec<&'a u8> = bytes_iter.take(2).collect();
+                if word2.len() != 2 {
+                    return None;
+                }
+
+                if (word2[1] & 0xf0) != 0xf0 {
+                    return None; // invalid instruction
+                }
+
+                self.opcode = Opcode::LFSR;
+
+                let f = (f_k_msb >> 4) & 0b0011;
+                let k_msb = f_k_msb & 0b1111;
+                let k_lsb = word2[0];
+
+                self.operands[0] = Operand::FileFSR(f);
+                self.operands[1] = Operand::ImmediateU32(((k_msb as u32) << 8) | (*k_lsb as u32));
+                Some(())
+            }
+            /* ... */
+            0xeb | 0xec => {
+                // TODO: respect s bit
+                let k_lsb = *word[0];
+                let word2: Vec<&'a u8> = bytes_iter.take(2).collect();
+                if word2.len() != 2 {
+                    return None;
+                }
+
+                if (word2[1] & 0xf0) != 0xf0 {
+                    return None; // invalid instruction
+                }
+
+                let k_msb = (((*word2[1] & 0xf) as u32) << 8) | *word2[0] as u32;
+
+                self.opcode = Opcode::CALL;
+                self.operands[0] = Operand::ImmediateU32(((k_msb << 8) | k_lsb as u32) << 1);
+                Some(())
+            }
+            0xef => {
+                let k_lsb = *word[0];
+                let word2: Vec<&'a u8> = bytes_iter.take(2).collect();
+                if word2.len() != 2 {
+                    return None;
+                }
+
+                if (word2[1] & 0xf0) != 0xf0 {
+                    return None; // invalid instruction
+                }
+
+                let k_msb = (((*word2[1] & 0xf) as u32) << 8) | *word2[0] as u32;
+
+                self.opcode = Opcode::GOTO;
+                self.operands[0] = Operand::ImmediateU32(((k_msb << 8) | k_lsb as u32) << 1);
+                Some(())
+            }
+            _ => None
+        }
+    }
+}
+
-- 
cgit v1.1