/*
 * Huffman decoding and encoding for HPACK (RFC7541)
 *
 * Copyright (C) 2014-2017 Willy Tarreau <willy@haproxy.org>
 * Copyright (C) 2017 HAProxy Technologies
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 */

#include <stdio.h>
#include <inttypes.h>
#include <string.h>

#include <common/config.h>
#include <common/hpack-huff.h>

struct huff {
	uint32_t c; /* code point */
	int b;      /* bits */
};

struct rht {
	uint8_t c; // code or 0 if length > 8 + position*8
	uint8_t l; // length in bits
};

/* huffman table as per RFC7541 appendix B */
static const struct huff ht[257] = {
	[  0] = { .c = 0x00001ff8, .b = 13 },
	[  1] = { .c = 0x007fffd8, .b = 23 },
	[  2] = { .c = 0x0fffffe2, .b = 28 },
	[  3] = { .c = 0x0fffffe3, .b = 28 },
	[  4] = { .c = 0x0fffffe4, .b = 28 },
	[  5] = { .c = 0x0fffffe5, .b = 28 },
	[  6] = { .c = 0x0fffffe6, .b = 28 },
	[  7] = { .c = 0x0fffffe7, .b = 28 },
	[  8] = { .c = 0x0fffffe8, .b = 28 },
	[  9] = { .c = 0x00ffffea, .b = 24 },
	[ 10] = { .c = 0x3ffffffc, .b = 30 },
	[ 11] = { .c = 0x0fffffe9, .b = 28 },
	[ 12] = { .c = 0x0fffffea, .b = 28 },
	[ 13] = { .c = 0x3ffffffd, .b = 30 },
	[ 14] = { .c = 0x0fffffeb, .b = 28 },
	[ 15] = { .c = 0x0fffffec, .b = 28 },
	[ 16] = { .c = 0x0fffffed, .b = 28 },
	[ 17] = { .c = 0x0fffffee, .b = 28 },
	[ 18] = { .c = 0x0fffffef, .b = 28 },
	[ 19] = { .c = 0x0ffffff0, .b = 28 },
	[ 20] = { .c = 0x0ffffff1, .b = 28 },
	[ 21] = { .c = 0x0ffffff2, .b = 28 },
	[ 22] = { .c = 0x3ffffffe, .b = 30 },
	[ 23] = { .c = 0x0ffffff3, .b = 28 },
	[ 24] = { .c = 0x0ffffff4, .b = 28 },
	[ 25] = { .c = 0x0ffffff5, .b = 28 },
	[ 26] = { .c = 0x0ffffff6, .b = 28 },
	[ 27] = { .c = 0x0ffffff7, .b = 28 },
	[ 28] = { .c = 0x0ffffff8, .b = 28 },
	[ 29] = { .c = 0x0ffffff9, .b = 28 },
	[ 30] = { .c = 0x0ffffffa, .b = 28 },
	[ 31] = { .c = 0x0ffffffb, .b = 28 },
	[ 32] = { .c = 0x00000014, .b =  6 },
	[ 33] = { .c = 0x000003f8, .b = 10 },
	[ 34] = { .c = 0x000003f9, .b = 10 },
	[ 35] = { .c = 0x00000ffa, .b = 12 },
	[ 36] = { .c = 0x00001ff9, .b = 13 },
	[ 37] = { .c = 0x00000015, .b =  6 },
	[ 38] = { .c = 0x000000f8, .b =  8 },
	[ 39] = { .c = 0x000007fa, .b = 11 },
	[ 40] = { .c = 0x000003fa, .b = 10 },
	[ 41] = { .c = 0x000003fb, .b = 10 },
	[ 42] = { .c = 0x000000f9, .b =  8 },
	[ 43] = { .c = 0x000007fb, .b = 11 },
	[ 44] = { .c = 0x000000fa, .b =  8 },
	[ 45] = { .c = 0x00000016, .b =  6 },
	[ 46] = { .c = 0x00000017, .b =  6 },
	[ 47] = { .c = 0x00000018, .b =  6 },
	[ 48] = { .c = 0x00000000, .b =  5 },
	[ 49] = { .c = 0x00000001, .b =  5 },
	[ 50] = { .c = 0x00000002, .b =  5 },
	[ 51] = { .c = 0x00000019, .b =  6 },
	[ 52] = { .c = 0x0000001a, .b =  6 },
	[ 53] = { .c = 0x0000001b, .b =  6 },
	[ 54] = { .c = 0x0000001c, .b =  6 },
	[ 55] = { .c = 0x0000001d, .b =  6 },
	[ 56] = { .c = 0x0000001e, .b =  6 },
	[ 57] = { .c = 0x0000001f, .b =  6 },
	[ 58] = { .c = 0x0000005c, .b =  7 },
	[ 59] = { .c = 0x000000fb, .b =  8 },
	[ 60] = { .c = 0x00007ffc, .b = 15 },
	[ 61] = { .c = 0x00000020, .b =  6 },
	[ 62] = { .c = 0x00000ffb, .b = 12 },
	[ 63] = { .c = 0x000003fc, .b = 10 },
	[ 64] = { .c = 0x00001ffa, .b = 13 },
	[ 65] = { .c = 0x00000021, .b =  6 },
	[ 66] = { .c = 0x0000005d, .b =  7 },
	[ 67] = { .c = 0x0000005e, .b =  7 },
	[ 68] = { .c = 0x0000005f, .b =  7 },
	[ 69] = { .c = 0x00000060, .b =  7 },
	[ 70] = { .c = 0x00000061, .b =  7 },
	[ 71] = { .c = 0x00000062, .b =  7 },
	[ 72] = { .c = 0x00000063, .b =  7 },
	[ 73] = { .c = 0x00000064, .b =  7 },
	[ 74] = { .c = 0x00000065, .b =  7 },
	[ 75] = { .c = 0x00000066, .b =  7 },
	[ 76] = { .c = 0x00000067, .b =  7 },
	[ 77] = { .c = 0x00000068, .b =  7 },
	[ 78] = { .c = 0x00000069, .b =  7 },
	[ 79] = { .c = 0x0000006a, .b =  7 },
	[ 80] = { .c = 0x0000006b, .b =  7 },
	[ 81] = { .c = 0x0000006c, .b =  7 },
	[ 82] = { .c = 0x0000006d, .b =  7 },
	[ 83] = { .c = 0x0000006e, .b =  7 },
	[ 84] = { .c = 0x0000006f, .b =  7 },
	[ 85] = { .c = 0x00000070, .b =  7 },
	[ 86] = { .c = 0x00000071, .b =  7 },
	[ 87] = { .c = 0x00000072, .b =  7 },
	[ 88] = { .c = 0x000000fc, .b =  8 },
	[ 89] = { .c = 0x00000073, .b =  7 },
	[ 90] = { .c = 0x000000fd, .b =  8 },
	[ 91] = { .c = 0x00001ffb, .b = 13 },
	[ 92] = { .c = 0x0007fff0, .b = 19 },
	[ 93] = { .c = 0x00001ffc, .b = 13 },
	[ 94] = { .c = 0x00003ffc, .b = 14 },
	[ 95] = { .c = 0x00000022, .b =  6 },
	[ 96] = { .c = 0x00007ffd, .b = 15 },
	[ 97] = { .c = 0x00000003, .b =  5 },
	[ 98] = { .c = 0x00000023, .b =  6 },
	[ 99] = { .c = 0x00000004, .b =  5 },
	[100] = { .c = 0x00000024, .b =  6 },
	[101] = { .c = 0x00000005, .b =  5 },
	[102] = { .c = 0x00000025, .b =  6 },
	[103] = { .c = 0x00000026, .b =  6 },
	[104] = { .c = 0x00000027, .b =  6 },
	[105] = { .c = 0x00000006, .b =  5 },
	[106] = { .c = 0x00000074, .b =  7 },
	[107] = { .c = 0x00000075, .b =  7 },
	[108] = { .c = 0x00000028, .b =  6 },
	[109] = { .c = 0x00000029, .b =  6 },
	[110] = { .c = 0x0000002a, .b =  6 },
	[111] = { .c = 0x00000007, .b =  5 },
	[112] = { .c = 0x0000002b, .b =  6 },
	[113] = { .c = 0x00000076, .b =  7 },
	[114] = { .c = 0x0000002c, .b =  6 },
	[115] = { .c = 0x00000008, .b =  5 },
	[116] = { .c = 0x00000009, .b =  5 },
	[117] = { .c = 0x0000002d, .b =  6 },
	[118] = { .c = 0x00000077, .b =  7 },
	[119] = { .c = 0x00000078, .b =  7 },
	[120] = { .c = 0x00000079, .b =  7 },
	[121] = { .c = 0x0000007a, .b =  7 },
	[122] = { .c = 0x0000007b, .b =  7 },
	[123] = { .c = 0x00007ffe, .b = 15 },
	[124] = { .c = 0x000007fc, .b = 11 },
	[125] = { .c = 0x00003ffd, .b = 14 },
	[126] = { .c = 0x00001ffd, .b = 13 },
	[127] = { .c = 0x0ffffffc, .b = 28 },
	[128] = { .c = 0x000fffe6, .b = 20 },
	[129] = { .c = 0x003fffd2, .b = 22 },
	[130] = { .c = 0x000fffe7, .b = 20 },
	[131] = { .c = 0x000fffe8, .b = 20 },
	[132] = { .c = 0x003fffd3, .b = 22 },
	[133] = { .c = 0x003fffd4, .b = 22 },
	[134] = { .c = 0x003fffd5, .b = 22 },
	[135] = { .c = 0x007fffd9, .b = 23 },
	[136] = { .c = 0x003fffd6, .b = 22 },
	[137] = { .c = 0x007fffda, .b = 23 },
	[138] = { .c = 0x007fffdb, .b = 23 },
	[139] = { .c = 0x007fffdc, .b = 23 },
	[140] = { .c = 0x007fffdd, .b = 23 },
	[141] = { .c = 0x007fffde, .b = 23 },
	[142] = { .c = 0x00ffffeb, .b = 24 },
	[143] = { .c = 0x007fffdf, .b = 23 },
	[144] = { .c = 0x00ffffec, .b = 24 },
	[145] = { .c = 0x00ffffed, .b = 24 },
	[146] = { .c = 0x003fffd7, .b = 22 },
	[147] = { .c = 0x007fffe0, .b = 23 },
	[148] = { .c = 0x00ffffee, .b = 24 },
	[149] = { .c = 0x007fffe1, .b = 23 },
	[150] = { .c = 0x007fffe2, .b = 23 },
	[151] = { .c = 0x007fffe3, .b = 23 },
	[152] = { .c = 0x007fffe4, .b = 23 },
	[153] = { .c = 0x001fffdc, .b = 21 },
	[154] = { .c = 0x003fffd8, .b = 22 },
	[155] = { .c = 0x007fffe5, .b = 23 },
	[156] = { .c = 0x003fffd9, .b = 22 },
	[157] = { .c = 0x007fffe6, .b = 23 },
	[158] = { .c = 0x007fffe7, .b = 23 },
	[159] = { .c = 0x00ffffef, .b = 24 },
	[160] = { .c = 0x003fffda, .b = 22 },
	[161] = { .c = 0x001fffdd, .b = 21 },
	[162] = { .c = 0x000fffe9, .b = 20 },
	[163] = { .c = 0x003fffdb, .b = 22 },
	[164] = { .c = 0x003fffdc, .b = 22 },
	[165] = { .c = 0x007fffe8, .b = 23 },
	[166] = { .c = 0x007fffe9, .b = 23 },
	[167] = { .c = 0x001fffde, .b = 21 },
	[168] = { .c = 0x007fffea, .b = 23 },
	[169] = { .c = 0x003fffdd, .b = 22 },
	[170] = { .c = 0x003fffde, .b = 22 },
	[171] = { .c = 0x00fffff0, .b = 24 },
	[172] = { .c = 0x001fffdf, .b = 21 },
	[173] = { .c = 0x003fffdf, .b = 22 },
	[174] = { .c = 0x007fffeb, .b = 23 },
	[175] = { .c = 0x007fffec, .b = 23 },
	[176] = { .c = 0x001fffe0, .b = 21 },
	[177] = { .c = 0x001fffe1, .b = 21 },
	[178] = { .c = 0x003fffe0, .b = 22 },
	[179] = { .c = 0x001fffe2, .b = 21 },
	[180] = { .c = 0x007fffed, .b = 23 },
	[181] = { .c = 0x003fffe1, .b = 22 },
	[182] = { .c = 0x007fffee, .b = 23 },
	[183] = { .c = 0x007fffef, .b = 23 },
	[184] = { .c = 0x000fffea, .b = 20 },
	[185] = { .c = 0x003fffe2, .b = 22 },
	[186] = { .c = 0x003fffe3, .b = 22 },
	[187] = { .c = 0x003fffe4, .b = 22 },
	[188] = { .c = 0x007ffff0, .b = 23 },
	[189] = { .c = 0x003fffe5, .b = 22 },
	[190] = { .c = 0x003fffe6, .b = 22 },
	[191] = { .c = 0x007ffff1, .b = 23 },
	[192] = { .c = 0x03ffffe0, .b = 26 },
	[193] = { .c = 0x03ffffe1, .b = 26 },
	[194] = { .c = 0x000fffeb, .b = 20 },
	[195] = { .c = 0x0007fff1, .b = 19 },
	[196] = { .c = 0x003fffe7, .b = 22 },
	[197] = { .c = 0x007ffff2, .b = 23 },
	[198] = { .c = 0x003fffe8, .b = 22 },
	[199] = { .c = 0x01ffffec, .b = 25 },
	[200] = { .c = 0x03ffffe2, .b = 26 },
	[201] = { .c = 0x03ffffe3, .b = 26 },
	[202] = { .c = 0x03ffffe4, .b = 26 },
	[203] = { .c = 0x07ffffde, .b = 27 },
	[204] = { .c = 0x07ffffdf, .b = 27 },
	[205] = { .c = 0x03ffffe5, .b = 26 },
	[206] = { .c = 0x00fffff1, .b = 24 },
	[207] = { .c = 0x01ffffed, .b = 25 },
	[208] = { .c = 0x0007fff2, .b = 19 },
	[209] = { .c = 0x001fffe3, .b = 21 },
	[210] = { .c = 0x03ffffe6, .b = 26 },
	[211] = { .c = 0x07ffffe0, .b = 27 },
	[212] = { .c = 0x07ffffe1, .b = 27 },
	[213] = { .c = 0x03ffffe7, .b = 26 },
	[214] = { .c = 0x07ffffe2, .b = 27 },
	[215] = { .c = 0x00fffff2, .b = 24 },
	[216] = { .c = 0x001fffe4, .b = 21 },
	[217] = { .c = 0x001fffe5, .b = 21 },
	[218] = { .c = 0x03ffffe8, .b = 26 },
	[219] = { .c = 0x03ffffe9, .b = 26 },
	[220] = { .c = 0x0ffffffd, .b = 28 },
	[221] = { .c = 0x07ffffe3, .b = 27 },
	[222] = { .c = 0x07ffffe4, .b = 27 },
	[223] = { .c = 0x07ffffe5, .b = 27 },
	[224] = { .c = 0x000fffec, .b = 20 },
	[225] = { .c = 0x00fffff3, .b = 24 },
	[226] = { .c = 0x000fffed, .b = 20 },
	[227] = { .c = 0x001fffe6, .b = 21 },
	[228] = { .c = 0x003fffe9, .b = 22 },
	[229] = { .c = 0x001fffe7, .b = 21 },
	[230] = { .c = 0x001fffe8, .b = 21 },
	[231] = { .c = 0x007ffff3, .b = 23 },
	[232] = { .c = 0x003fffea, .b = 22 },
	[233] = { .c = 0x003fffeb, .b = 22 },
	[234] = { .c = 0x01ffffee, .b = 25 },
	[235] = { .c = 0x01ffffef, .b = 25 },
	[236] = { .c = 0x00fffff4, .b = 24 },
	[237] = { .c = 0x00fffff5, .b = 24 },
	[238] = { .c = 0x03ffffea, .b = 26 },
	[239] = { .c = 0x007ffff4, .b = 23 },
	[240] = { .c = 0x03ffffeb, .b = 26 },
	[241] = { .c = 0x07ffffe6, .b = 27 },
	[242] = { .c = 0x03ffffec, .b = 26 },
	[243] = { .c = 0x03ffffed, .b = 26 },
	[244] = { .c = 0x07ffffe7, .b = 27 },
	[245] = { .c = 0x07ffffe8, .b = 27 },
	[246] = { .c = 0x07ffffe9, .b = 27 },
	[247] = { .c = 0x07ffffea, .b = 27 },
	[248] = { .c = 0x07ffffeb, .b = 27 },
	[249] = { .c = 0x0ffffffe, .b = 28 },
	[250] = { .c = 0x07ffffec, .b = 27 },
	[251] = { .c = 0x07ffffed, .b = 27 },
	[252] = { .c = 0x07ffffee, .b = 27 },
	[253] = { .c = 0x07ffffef, .b = 27 },
	[254] = { .c = 0x07fffff0, .b = 27 },
	[255] = { .c = 0x03ffffee, .b = 26 },
	[256] = { .c = 0x3fffffff, .b = 30 }, /* EOS */
};


/* Reversed huffman codes, generated by contrib/h2/gen-rht.c from the table
 * above.
 *
 * The codes are aligned on the MSB since that's how they appear in the stream.
 *
 * Quick summary below of the way the tables work. They're based on how the
 * prefixes are organized, starting from the MSB.
 *
 * These codes fit in a single octet (5 to 8 bits) :
 *   00/5 08/5 10/5 18/5  20/5 28/5 30/5 38/5
 *   40/5 48/5
 *
 *   50/6 54/6 58/6 5c/6  60/6 64/6 68/6 6c/6
 *   70/6 74/6 78/6 7c/6  80/6 84/6 88/6 8c/6
 *   90/6 94/6 98/6 9c/6  a0/6 a4/6 a8/6 ac/6
 *   b0/6 b4/6
 *
 *   b8/7 ba/7 bc/7 be/7  c0/7 c2/7 c4/7 c6/7
 *   c8/7 ca/7 cc/7 ce/7  d0/7 d2/7 d4/7 d6/7
 *   d8/7 da/7 dc/7 de/7  e0/7 e2/7 e4/7 e6/7
 *   e8/7 ea/7 ec/7 ee/7  f0/7 f2/7 f4/7 f6/7
 *
 *   f8/8 f9/8 fa/8 fb/8  fc/8 fd/8
 *
 * ==> a single 256-symbol table based on the full byte provides a direct
 *     access and the bit count
 *
 * These codes fit in two octets (10 to 15 bits, neither 9 nor 16 bits code) :
 *
 * fe + 2 bits:
 *   00/2 40/2 80/2 c0/2
 *
 * ff + 2..7 bits :
 *   00/2
 *   40/3 60/3 80/3
 *   a0/4 b0/4
 *   c0/5 c8/5 d0/5 d8/5  e0/5 e8/5
 *   f0/6 f4/6
 *   f8/7 fa/7 fc/7
 *
 *  ==> a single 256-symbol table made of b0.0 and b1.7-1 provides a direct
 *      access and the bit count after a miss on the first one above.
 *
 * These ones fit in three octets :
 * ff fe + 3..5 bits :
 *   00/3 20/3 40/3 60/4  70/4 80/4 90/4 a0/4
 *   b0/4 c0/4 d0/4
 *   e0/5 e8/5 f0/5 f8/5
 *
 * ff ff + 5..8 bits :
 *   00/5 08/5 10/5 18/5  20/5 28/5 30/5 38/5
 *   40/5
 *   48/6 4c/6 50/6 54/6  58/6 5c/6 60/6 64/6
 *   68/6 6c/6 70/6 74/6  78/6 7c/6 80/6 84/6
 *   88/6 8c/6 90/6 94/6  98/6 9c/6 a0/6 a4/6
 *   a8/6 ac/6
 *   b0/7 b2/7 b4/7 b6/7  b8/7 ba/7 bc/7 be/7
 *   c0/7 c2/7 c4/7 c6/7  c8/7 ca/7 cc/7 ce/7
 *   d0/7 d2/7 d4/7 d6/7  d8/7 da/7 dc/7 de/7
 *   e0/7 e2/7 e4/7 e6/7  e8/7
 *   ea/8 eb/8 ec/8 ed/8  ee/8 ef/8 f0/8 f1/8
 *   f2/8 f3/8 f4/8 f5/8
 *
 * ==> a 32-symbol table has to be applied to 0xfffe
 * ==> a 256-symbol table has to be applied to 0xffff
 *
 * The other ones fit in four octets with 1 to 6 bits in the last one :
 * ff ff f6 :  00/1 80/1
 * ff ff f7 :  00/1 80/1
 * ff ff f8 :  00/2 40/2 80/2 c0/2
 * ff ff f9 :  00/2 40/2 80/2 c0/2
 * ff ff fa :  00/2 40/2 80/2 c0/2
 * ff ff fb :  00/2 40/2 80/2
 * ff ff fb :  c0/3 e0/3
 * ff ff fc :  00/3 20/3 40/3 60/3 80/3 a0/3 c0/3 e0/3
 * ff ff fd :  00/3 20/3 40/3 60/3 80/3 a0/3 c0/3 e0/3
 * ff ff fe :  00/3
 * ff ff fe :  20/4 30/4 40/4 50/4 60/4 70/4 80/4 90/4 a0/4 b0/4 c0/4 d0/4 e0/4 f0/4
 * ff ff ff :  00/4 10/4 20/4 30/4 40/4 50/4 60/4 70/4 80/4 90/4 a0/4 b0/4 c0/4 d0/4 e0/4
 * ff ff ff :  f0/6 f4/6 f8/6 fc/6
 *
 * ==> a 256-symbol table with b2.0-3,b3.7-4 gives all of them except the
 *     distinction between ffffff{f0,f4,f8,fc} which is rare enough
 *     and can be done by hand when bit count == 30.
 *
 *
 * Code lengths :
 *   5..8 : 0x00..0xfe
 *   10..15 : 0xfe
 *            0xff 0x00..0xfe
 *   19..20 : 0xff 0xfe 0x00..0xdf
 *   21     : 0xff 0xfe 0xe0..0xff
 *   21     : 0xff 0xff 0x00..0x40
 *   22..24 : 0xff 0xff 0x00..0xf5
 *   24..28 : 0xff 0xff 0xf5..0xff
 *   30     : 0xff 0xff 0xff 0xf0..0xff
 *
 *
 * if b0  < 0xfe ==> 5..8 bits (74 codes)
 * if b0 == 0xfe or 0xff : 10..15
 *    => if b0 == 0xfe || b1 < 0xfe : lookup (b0:0|b1:7..1)  (21 codes)
 *
 * -- b0 = 0xff --
 * if b1 == 0xfe : 19..21 bits
 *    => lookup b2:7..3 (15 codes)
 *
 * -- b0 = 0xff, b1 = 0xff : 147 codes --
 * if b2  < 0xf6 : 21..24 bits (76 codes)
 * if b2 >= 0xf6 : 25..30 bits (71 codes)
 *
 * Algorithm:
 *   - if > 24 and < 32, read missing bits.
 *   - if less than 24 bits, read 1 byte. If past end, insert 0xff instead.
 *   - if b0 < 0xfe lookup b0 in table0[0..255]
 *   - else if b0 == 0xfe, manual lookup
 *   - else if b0 == 0xff, lookup b1 in table1[0..255]
 * ...
 */

struct rht rht_bit31_24[256] = {
	[0x00] = { .c = 0x30, .l = 5 },
	[0x01] = { .c = 0x30, .l = 5 },
	[0x02] = { .c = 0x30, .l = 5 },
	[0x03] = { .c = 0x30, .l = 5 },
	[0x04] = { .c = 0x30, .l = 5 },
	[0x05] = { .c = 0x30, .l = 5 },
	[0x06] = { .c = 0x30, .l = 5 },
	[0x07] = { .c = 0x30, .l = 5 },
	[0x08] = { .c = 0x31, .l = 5 },
	[0x09] = { .c = 0x31, .l = 5 },
	[0x0a] = { .c = 0x31, .l = 5 },
	[0x0b] = { .c = 0x31, .l = 5 },
	[0x0c] = { .c = 0x31, .l = 5 },
	[0x0d] = { .c = 0x31, .l = 5 },
	[0x0e] = { .c = 0x31, .l = 5 },
	[0x0f] = { .c = 0x31, .l = 5 },
	[0x10] = { .c = 0x32, .l = 5 },
	[0x11] = { .c = 0x32, .l = 5 },
	[0x12] = { .c = 0x32, .l = 5 },
	[0x13] = { .c = 0x32, .l = 5 },
	[0x14] = { .c = 0x32, .l = 5 },
	[0x15] = { .c = 0x32, .l = 5 },
	[0x16] = { .c = 0x32, .l = 5 },
	[0x17] = { .c = 0x32, .l = 5 },
	[0x18] = { .c = 0x61, .l = 5 },
	[0x19] = { .c = 0x61, .l = 5 },
	[0x1a] = { .c = 0x61, .l = 5 },
	[0x1b] = { .c = 0x61, .l = 5 },
	[0x1c] = { .c = 0x61, .l = 5 },
	[0x1d] = { .c = 0x61, .l = 5 },
	[0x1e] = { .c = 0x61, .l = 5 },
	[0x1f] = { .c = 0x61, .l = 5 },
	[0x20] = { .c = 0x63, .l = 5 },
	[0x21] = { .c = 0x63, .l = 5 },
	[0x22] = { .c = 0x63, .l = 5 },
	[0x23] = { .c = 0x63, .l = 5 },
	[0x24] = { .c = 0x63, .l = 5 },
	[0x25] = { .c = 0x63, .l = 5 },
	[0x26] = { .c = 0x63, .l = 5 },
	[0x27] = { .c = 0x63, .l = 5 },
	[0x28] = { .c = 0x65, .l = 5 },
	[0x29] = { .c = 0x65, .l = 5 },
	[0x2a] = { .c = 0x65, .l = 5 },
	[0x2b] = { .c = 0x65, .l = 5 },
	[0x2c] = { .c = 0x65, .l = 5 },
	[0x2d] = { .c = 0x65, .l = 5 },
	[0x2e] = { .c = 0x65, .l = 5 },
	[0x2f] = { .c = 0x65, .l = 5 },
	[0x30] = { .c = 0x69, .l = 5 },
	[0x31] = { .c = 0x69, .l = 5 },
	[0x32] = { .c = 0x69, .l = 5 },
	[0x33] = { .c = 0x69, .l = 5 },
	[0x34] = { .c = 0x69, .l = 5 },
	[0x35] = { .c = 0x69, .l = 5 },
	[0x36] = { .c = 0x69, .l = 5 },
	[0x37] = { .c = 0x69, .l = 5 },
	[0x38] = { .c = 0x6f, .l = 5 },
	[0x39] = { .c = 0x6f, .l = 5 },
	[0x3a] = { .c = 0x6f, .l = 5 },
	[0x3b] = { .c = 0x6f, .l = 5 },
	[0x3c] = { .c = 0x6f, .l = 5 },
	[0x3d] = { .c = 0x6f, .l = 5 },
	[0x3e] = { .c = 0x6f, .l = 5 },
	[0x3f] = { .c = 0x6f, .l = 5 },
	[0x40] = { .c = 0x73, .l = 5 },
	[0x41] = { .c = 0x73, .l = 5 },
	[0x42] = { .c = 0x73, .l = 5 },
	[0x43] = { .c = 0x73, .l = 5 },
	[0x44] = { .c = 0x73, .l = 5 },
	[0x45] = { .c = 0x73, .l = 5 },
	[0x46] = { .c = 0x73, .l = 5 },
	[0x47] = { .c = 0x73, .l = 5 },
	[0x48] = { .c = 0x74, .l = 5 },
	[0x49] = { .c = 0x74, .l = 5 },
	[0x4a] = { .c = 0x74, .l = 5 },
	[0x4b] = { .c = 0x74, .l = 5 },
	[0x4c] = { .c = 0x74, .l = 5 },
	[0x4d] = { .c = 0x74, .l = 5 },
	[0x4e] = { .c = 0x74, .l = 5 },
	[0x4f] = { .c = 0x74, .l = 5 },
	[0x50] = { .c = 0x20, .l = 6 },
	[0x51] = { .c = 0x20, .l = 6 },
	[0x52] = { .c = 0x20, .l = 6 },
	[0x53] = { .c = 0x20, .l = 6 },
	[0x54] = { .c = 0x25, .l = 6 },
	[0x55] = { .c = 0x25, .l = 6 },
	[0x56] = { .c = 0x25, .l = 6 },
	[0x57] = { .c = 0x25, .l = 6 },
	[0x58] = { .c = 0x2d, .l = 6 },
	[0x59] = { .c = 0x2d, .l = 6 },
	[0x5a] = { .c = 0x2d, .l = 6 },
	[0x5b] = { .c = 0x2d, .l = 6 },
	[0x5c] = { .c = 0x2e, .l = 6 },
	[0x5d] = { .c = 0x2e, .l = 6 },
	[0x5e] = { .c = 0x2e, .l = 6 },
	[0x5f] = { .c = 0x2e, .l = 6 },
	[0x60] = { .c = 0x2f, .l = 6 },
	[0x61] = { .c = 0x2f, .l = 6 },
	[0x62] = { .c = 0x2f, .l = 6 },
	[0x63] = { .c = 0x2f, .l = 6 },
	[0x64] = { .c = 0x33, .l = 6 },
	[0x65] = { .c = 0x33, .l = 6 },
	[0x66] = { .c = 0x33, .l = 6 },
	[0x67] = { .c = 0x33, .l = 6 },
	[0x68] = { .c = 0x34, .l = 6 },
	[0x69] = { .c = 0x34, .l = 6 },
	[0x6a] = { .c = 0x34, .l = 6 },
	[0x6b] = { .c = 0x34, .l = 6 },
	[0x6c] = { .c = 0x35, .l = 6 },
	[0x6d] = { .c = 0x35, .l = 6 },
	[0x6e] = { .c = 0x35, .l = 6 },
	[0x6f] = { .c = 0x35, .l = 6 },
	[0x70] = { .c = 0x36, .l = 6 },
	[0x71] = { .c = 0x36, .l = 6 },
	[0x72] = { .c = 0x36, .l = 6 },
	[0x73] = { .c = 0x36, .l = 6 },
	[0x74] = { .c = 0x37, .l = 6 },
	[0x75] = { .c = 0x37, .l = 6 },
	[0x76] = { .c = 0x37, .l = 6 },
	[0x77] = { .c = 0x37, .l = 6 },
	[0x78] = { .c = 0x38, .l = 6 },
	[0x79] = { .c = 0x38, .l = 6 },
	[0x7a] = { .c = 0x38, .l = 6 },
	[0x7b] = { .c = 0x38, .l = 6 },
	[0x7c] = { .c = 0x39, .l = 6 },
	[0x7d] = { .c = 0x39, .l = 6 },
	[0x7e] = { .c = 0x39, .l = 6 },
	[0x7f] = { .c = 0x39, .l = 6 },
	[0x80] = { .c = 0x3d, .l = 6 },
	[0x81] = { .c = 0x3d, .l = 6 },
	[0x82] = { .c = 0x3d, .l = 6 },
	[0x83] = { .c = 0x3d, .l = 6 },
	[0x84] = { .c = 0x41, .l = 6 },
	[0x85] = { .c = 0x41, .l = 6 },
	[0x86] = { .c = 0x41, .l = 6 },
	[0x87] = { .c = 0x41, .l = 6 },
	[0x88] = { .c = 0x5f, .l = 6 },
	[0x89] = { .c = 0x5f, .l = 6 },
	[0x8a] = { .c = 0x5f, .l = 6 },
	[0x8b] = { .c = 0x5f, .l = 6 },
	[0x8c] = { .c = 0x62, .l = 6 },
	[0x8d] = { .c = 0x62, .l = 6 },
	[0x8e] = { .c = 0x62, .l = 6 },
	[0x8f] = { .c = 0x62, .l = 6 },
	[0x90] = { .c = 0x64, .l = 6 },
	[0x91] = { .c = 0x64, .l = 6 },
	[0x92] = { .c = 0x64, .l = 6 },
	[0x93] = { .c = 0x64, .l = 6 },
	[0x94] = { .c = 0x66, .l = 6 },
	[0x95] = { .c = 0x66, .l = 6 },
	[0x96] = { .c = 0x66, .l = 6 },
	[0x97] = { .c = 0x66, .l = 6 },
	[0x98] = { .c = 0x67, .l = 6 },
	[0x99] = { .c = 0x67, .l = 6 },
	[0x9a] = { .c = 0x67, .l = 6 },
	[0x9b] = { .c = 0x67, .l = 6 },
	[0x9c] = { .c = 0x68, .l = 6 },
	[0x9d] = { .c = 0x68, .l = 6 },
	[0x9e] = { .c = 0x68, .l = 6 },
	[0x9f] = { .c = 0x68, .l = 6 },
	[0xa0] = { .c = 0x6c, .l = 6 },
	[0xa1] = { .c = 0x6c, .l = 6 },
	[0xa2] = { .c = 0x6c, .l = 6 },
	[0xa3] = { .c = 0x6c, .l = 6 },
	[0xa4] = { .c = 0x6d, .l = 6 },
	[0xa5] = { .c = 0x6d, .l = 6 },
	[0xa6] = { .c = 0x6d, .l = 6 },
	[0xa7] = { .c = 0x6d, .l = 6 },
	[0xa8] = { .c = 0x6e, .l = 6 },
	[0xa9] = { .c = 0x6e, .l = 6 },
	[0xaa] = { .c = 0x6e, .l = 6 },
	[0xab] = { .c = 0x6e, .l = 6 },
	[0xac] = { .c = 0x70, .l = 6 },
	[0xad] = { .c = 0x70, .l = 6 },
	[0xae] = { .c = 0x70, .l = 6 },
	[0xaf] = { .c = 0x70, .l = 6 },
	[0xb0] = { .c = 0x72, .l = 6 },
	[0xb1] = { .c = 0x72, .l = 6 },
	[0xb2] = { .c = 0x72, .l = 6 },
	[0xb3] = { .c = 0x72, .l = 6 },
	[0xb4] = { .c = 0x75, .l = 6 },
	[0xb5] = { .c = 0x75, .l = 6 },
	[0xb6] = { .c = 0x75, .l = 6 },
	[0xb7] = { .c = 0x75, .l = 6 },
	[0xb8] = { .c = 0x3a, .l = 7 },
	[0xb9] = { .c = 0x3a, .l = 7 },
	[0xba] = { .c = 0x42, .l = 7 },
	[0xbb] = { .c = 0x42, .l = 7 },
	[0xbc] = { .c = 0x43, .l = 7 },
	[0xbd] = { .c = 0x43, .l = 7 },
	[0xbe] = { .c = 0x44, .l = 7 },
	[0xbf] = { .c = 0x44, .l = 7 },
	[0xc0] = { .c = 0x45, .l = 7 },
	[0xc1] = { .c = 0x45, .l = 7 },
	[0xc2] = { .c = 0x46, .l = 7 },
	[0xc3] = { .c = 0x46, .l = 7 },
	[0xc4] = { .c = 0x47, .l = 7 },
	[0xc5] = { .c = 0x47, .l = 7 },
	[0xc6] = { .c = 0x48, .l = 7 },
	[0xc7] = { .c = 0x48, .l = 7 },
	[0xc8] = { .c = 0x49, .l = 7 },
	[0xc9] = { .c = 0x49, .l = 7 },
	[0xca] = { .c = 0x4a, .l = 7 },
	[0xcb] = { .c = 0x4a, .l = 7 },
	[0xcc] = { .c = 0x4b, .l = 7 },
	[0xcd] = { .c = 0x4b, .l = 7 },
	[0xce] = { .c = 0x4c, .l = 7 },
	[0xcf] = { .c = 0x4c, .l = 7 },
	[0xd0] = { .c = 0x4d, .l = 7 },
	[0xd1] = { .c = 0x4d, .l = 7 },
	[0xd2] = { .c = 0x4e, .l = 7 },
	[0xd3] = { .c = 0x4e, .l = 7 },
	[0xd4] = { .c = 0x4f, .l = 7 },
	[0xd5] = { .c = 0x4f, .l = 7 },
	[0xd6] = { .c = 0x50, .l = 7 },
	[0xd7] = { .c = 0x50, .l = 7 },
	[0xd8] = { .c = 0x51, .l = 7 },
	[0xd9] = { .c = 0x51, .l = 7 },
	[0xda] = { .c = 0x52, .l = 7 },
	[0xdb] = { .c = 0x52, .l = 7 },
	[0xdc] = { .c = 0x53, .l = 7 },
	[0xdd] = { .c = 0x53, .l = 7 },
	[0xde] = { .c = 0x54, .l = 7 },
	[0xdf] = { .c = 0x54, .l = 7 },
	[0xe0] = { .c = 0x55, .l = 7 },
	[0xe1] = { .c = 0x55, .l = 7 },
	[0xe2] = { .c = 0x56, .l = 7 },
	[0xe3] = { .c = 0x56, .l = 7 },
	[0xe4] = { .c = 0x57, .l = 7 },
	[0xe5] = { .c = 0x57, .l = 7 },
	[0xe6] = { .c = 0x59, .l = 7 },
	[0xe7] = { .c = 0x59, .l = 7 },
	[0xe8] = { .c = 0x6a, .l = 7 },
	[0xe9] = { .c = 0x6a, .l = 7 },
	[0xea] = { .c = 0x6b, .l = 7 },
	[0xeb] = { .c = 0x6b, .l = 7 },
	[0xec] = { .c = 0x71, .l = 7 },
	[0xed] = { .c = 0x71, .l = 7 },
	[0xee] = { .c = 0x76, .l = 7 },
	[0xef] = { .c = 0x76, .l = 7 },
	[0xf0] = { .c = 0x77, .l = 7 },
	[0xf1] = { .c = 0x77, .l = 7 },
	[0xf2] = { .c = 0x78, .l = 7 },
	[0xf3] = { .c = 0x78, .l = 7 },
	[0xf4] = { .c = 0x79, .l = 7 },
	[0xf5] = { .c = 0x79, .l = 7 },
	[0xf6] = { .c = 0x7a, .l = 7 },
	[0xf7] = { .c = 0x7a, .l = 7 },
	[0xf8] = { .c = 0x26, .l = 8 },
	[0xf9] = { .c = 0x2a, .l = 8 },
	[0xfa] = { .c = 0x2c, .l = 8 },
	[0xfb] = { .c = 0x3b, .l = 8 },
	[0xfc] = { .c = 0x58, .l = 8 },
	[0xfd] = { .c = 0x5a, .l = 8 },
};

struct rht rht_bit24_17[256] = {
	[0x00] = { .c = 0x21, .l = 10 },
	[0x01] = { .c = 0x21, .l = 10 },
	[0x02] = { .c = 0x21, .l = 10 },
	[0x03] = { .c = 0x21, .l = 10 },
	[0x04] = { .c = 0x21, .l = 10 },
	[0x05] = { .c = 0x21, .l = 10 },
	[0x06] = { .c = 0x21, .l = 10 },
	[0x07] = { .c = 0x21, .l = 10 },
	[0x08] = { .c = 0x21, .l = 10 },
	[0x09] = { .c = 0x21, .l = 10 },
	[0x0a] = { .c = 0x21, .l = 10 },
	[0x0b] = { .c = 0x21, .l = 10 },
	[0x0c] = { .c = 0x21, .l = 10 },
	[0x0d] = { .c = 0x21, .l = 10 },
	[0x0e] = { .c = 0x21, .l = 10 },
	[0x0f] = { .c = 0x21, .l = 10 },
	[0x10] = { .c = 0x21, .l = 10 },
	[0x11] = { .c = 0x21, .l = 10 },
	[0x12] = { .c = 0x21, .l = 10 },
	[0x13] = { .c = 0x21, .l = 10 },
	[0x14] = { .c = 0x21, .l = 10 },
	[0x15] = { .c = 0x21, .l = 10 },
	[0x16] = { .c = 0x21, .l = 10 },
	[0x17] = { .c = 0x21, .l = 10 },
	[0x18] = { .c = 0x21, .l = 10 },
	[0x19] = { .c = 0x21, .l = 10 },
	[0x1a] = { .c = 0x21, .l = 10 },
	[0x1b] = { .c = 0x21, .l = 10 },
	[0x1c] = { .c = 0x21, .l = 10 },
	[0x1d] = { .c = 0x21, .l = 10 },
	[0x1e] = { .c = 0x21, .l = 10 },
	[0x1f] = { .c = 0x21, .l = 10 },
	[0x20] = { .c = 0x22, .l = 10 },
	[0x21] = { .c = 0x22, .l = 10 },
	[0x22] = { .c = 0x22, .l = 10 },
	[0x23] = { .c = 0x22, .l = 10 },
	[0x24] = { .c = 0x22, .l = 10 },
	[0x25] = { .c = 0x22, .l = 10 },
	[0x26] = { .c = 0x22, .l = 10 },
	[0x27] = { .c = 0x22, .l = 10 },
	[0x28] = { .c = 0x22, .l = 10 },
	[0x29] = { .c = 0x22, .l = 10 },
	[0x2a] = { .c = 0x22, .l = 10 },
	[0x2b] = { .c = 0x22, .l = 10 },
	[0x2c] = { .c = 0x22, .l = 10 },
	[0x2d] = { .c = 0x22, .l = 10 },
	[0x2e] = { .c = 0x22, .l = 10 },
	[0x2f] = { .c = 0x22, .l = 10 },
	[0x30] = { .c = 0x22, .l = 10 },
	[0x31] = { .c = 0x22, .l = 10 },
	[0x32] = { .c = 0x22, .l = 10 },
	[0x33] = { .c = 0x22, .l = 10 },
	[0x34] = { .c = 0x22, .l = 10 },
	[0x35] = { .c = 0x22, .l = 10 },
	[0x36] = { .c = 0x22, .l = 10 },
	[0x37] = { .c = 0x22, .l = 10 },
	[0x38] = { .c = 0x22, .l = 10 },
	[0x39] = { .c = 0x22, .l = 10 },
	[0x3a] = { .c = 0x22, .l = 10 },
	[0x3b] = { .c = 0x22, .l = 10 },
	[0x3c] = { .c = 0x22, .l = 10 },
	[0x3d] = { .c = 0x22, .l = 10 },
	[0x3e] = { .c = 0x22, .l = 10 },
	[0x3f] = { .c = 0x22, .l = 10 },
	[0x40] = { .c = 0x28, .l = 10 },
	[0x41] = { .c = 0x28, .l = 10 },
	[0x42] = { .c = 0x28, .l = 10 },
	[0x43] = { .c = 0x28, .l = 10 },
	[0x44] = { .c = 0x28, .l = 10 },
	[0x45] = { .c = 0x28, .l = 10 },
	[0x46] = { .c = 0x28, .l = 10 },
	[0x47] = { .c = 0x28, .l = 10 },
	[0x48] = { .c = 0x28, .l = 10 },
	[0x49] = { .c = 0x28, .l = 10 },
	[0x4a] = { .c = 0x28, .l = 10 },
	[0x4b] = { .c = 0x28, .l = 10 },
	[0x4c] = { .c = 0x28, .l = 10 },
	[0x4d] = { .c = 0x28, .l = 10 },
	[0x4e] = { .c = 0x28, .l = 10 },
	[0x4f] = { .c = 0x28, .l = 10 },
	[0x50] = { .c = 0x28, .l = 10 },
	[0x51] = { .c = 0x28, .l = 10 },
	[0x52] = { .c = 0x28, .l = 10 },
	[0x53] = { .c = 0x28, .l = 10 },
	[0x54] = { .c = 0x28, .l = 10 },
	[0x55] = { .c = 0x28, .l = 10 },
	[0x56] = { .c = 0x28, .l = 10 },
	[0x57] = { .c = 0x28, .l = 10 },
	[0x58] = { .c = 0x28, .l = 10 },
	[0x59] = { .c = 0x28, .l = 10 },
	[0x5a] = { .c = 0x28, .l = 10 },
	[0x5b] = { .c = 0x28, .l = 10 },
	[0x5c] = { .c = 0x28, .l = 10 },
	[0x5d] = { .c = 0x28, .l = 10 },
	[0x5e] = { .c = 0x28, .l = 10 },
	[0x5f] = { .c = 0x28, .l = 10 },
	[0x60] = { .c = 0x29, .l = 10 },
	[0x61] = { .c = 0x29, .l = 10 },
	[0x62] = { .c = 0x29, .l = 10 },
	[0x63] = { .c = 0x29, .l = 10 },
	[0x64] = { .c = 0x29, .l = 10 },
	[0x65] = { .c = 0x29, .l = 10 },
	[0x66] = { .c = 0x29, .l = 10 },
	[0x67] = { .c = 0x29, .l = 10 },
	[0x68] = { .c = 0x29, .l = 10 },
	[0x69] = { .c = 0x29, .l = 10 },
	[0x6a] = { .c = 0x29, .l = 10 },
	[0x6b] = { .c = 0x29, .l = 10 },
	[0x6c] = { .c = 0x29, .l = 10 },
	[0x6d] = { .c = 0x29, .l = 10 },
	[0x6e] = { .c = 0x29, .l = 10 },
	[0x6f] = { .c = 0x29, .l = 10 },
	[0x70] = { .c = 0x29, .l = 10 },
	[0x71] = { .c = 0x29, .l = 10 },
	[0x72] = { .c = 0x29, .l = 10 },
	[0x73] = { .c = 0x29, .l = 10 },
	[0x74] = { .c = 0x29, .l = 10 },
	[0x75] = { .c = 0x29, .l = 10 },
	[0x76] = { .c = 0x29, .l = 10 },
	[0x77] = { .c = 0x29, .l = 10 },
	[0x78] = { .c = 0x29, .l = 10 },
	[0x79] = { .c = 0x29, .l = 10 },
	[0x7a] = { .c = 0x29, .l = 10 },
	[0x7b] = { .c = 0x29, .l = 10 },
	[0x7c] = { .c = 0x29, .l = 10 },
	[0x7d] = { .c = 0x29, .l = 10 },
	[0x7e] = { .c = 0x29, .l = 10 },
	[0x7f] = { .c = 0x29, .l = 10 },
	[0x80] = { .c = 0x3f, .l = 10 },
	[0x81] = { .c = 0x3f, .l = 10 },
	[0x82] = { .c = 0x3f, .l = 10 },
	[0x83] = { .c = 0x3f, .l = 10 },
	[0x84] = { .c = 0x3f, .l = 10 },
	[0x85] = { .c = 0x3f, .l = 10 },
	[0x86] = { .c = 0x3f, .l = 10 },
	[0x87] = { .c = 0x3f, .l = 10 },
	[0x88] = { .c = 0x3f, .l = 10 },
	[0x89] = { .c = 0x3f, .l = 10 },
	[0x8a] = { .c = 0x3f, .l = 10 },
	[0x8b] = { .c = 0x3f, .l = 10 },
	[0x8c] = { .c = 0x3f, .l = 10 },
	[0x8d] = { .c = 0x3f, .l = 10 },
	[0x8e] = { .c = 0x3f, .l = 10 },
	[0x8f] = { .c = 0x3f, .l = 10 },
	[0x90] = { .c = 0x3f, .l = 10 },
	[0x91] = { .c = 0x3f, .l = 10 },
	[0x92] = { .c = 0x3f, .l = 10 },
	[0x93] = { .c = 0x3f, .l = 10 },
	[0x94] = { .c = 0x3f, .l = 10 },
	[0x95] = { .c = 0x3f, .l = 10 },
	[0x96] = { .c = 0x3f, .l = 10 },
	[0x97] = { .c = 0x3f, .l = 10 },
	[0x98] = { .c = 0x3f, .l = 10 },
	[0x99] = { .c = 0x3f, .l = 10 },
	[0x9a] = { .c = 0x3f, .l = 10 },
	[0x9b] = { .c = 0x3f, .l = 10 },
	[0x9c] = { .c = 0x3f, .l = 10 },
	[0x9d] = { .c = 0x3f, .l = 10 },
	[0x9e] = { .c = 0x3f, .l = 10 },
	[0x9f] = { .c = 0x3f, .l = 10 },
	[0xa0] = { .c = 0x27, .l = 11 },
	[0xa1] = { .c = 0x27, .l = 11 },
	[0xa2] = { .c = 0x27, .l = 11 },
	[0xa3] = { .c = 0x27, .l = 11 },
	[0xa4] = { .c = 0x27, .l = 11 },
	[0xa5] = { .c = 0x27, .l = 11 },
	[0xa6] = { .c = 0x27, .l = 11 },
	[0xa7] = { .c = 0x27, .l = 11 },
	[0xa8] = { .c = 0x27, .l = 11 },
	[0xa9] = { .c = 0x27, .l = 11 },
	[0xaa] = { .c = 0x27, .l = 11 },
	[0xab] = { .c = 0x27, .l = 11 },
	[0xac] = { .c = 0x27, .l = 11 },
	[0xad] = { .c = 0x27, .l = 11 },
	[0xae] = { .c = 0x27, .l = 11 },
	[0xaf] = { .c = 0x27, .l = 11 },
	[0xb0] = { .c = 0x2b, .l = 11 },
	[0xb1] = { .c = 0x2b, .l = 11 },
	[0xb2] = { .c = 0x2b, .l = 11 },
	[0xb3] = { .c = 0x2b, .l = 11 },
	[0xb4] = { .c = 0x2b, .l = 11 },
	[0xb5] = { .c = 0x2b, .l = 11 },
	[0xb6] = { .c = 0x2b, .l = 11 },
	[0xb7] = { .c = 0x2b, .l = 11 },
	[0xb8] = { .c = 0x2b, .l = 11 },
	[0xb9] = { .c = 0x2b, .l = 11 },
	[0xba] = { .c = 0x2b, .l = 11 },
	[0xbb] = { .c = 0x2b, .l = 11 },
	[0xbc] = { .c = 0x2b, .l = 11 },
	[0xbd] = { .c = 0x2b, .l = 11 },
	[0xbe] = { .c = 0x2b, .l = 11 },
	[0xbf] = { .c = 0x2b, .l = 11 },
	[0xc0] = { .c = 0x7c, .l = 11 },
	[0xc1] = { .c = 0x7c, .l = 11 },
	[0xc2] = { .c = 0x7c, .l = 11 },
	[0xc3] = { .c = 0x7c, .l = 11 },
	[0xc4] = { .c = 0x7c, .l = 11 },
	[0xc5] = { .c = 0x7c, .l = 11 },
	[0xc6] = { .c = 0x7c, .l = 11 },
	[0xc7] = { .c = 0x7c, .l = 11 },
	[0xc8] = { .c = 0x7c, .l = 11 },
	[0xc9] = { .c = 0x7c, .l = 11 },
	[0xca] = { .c = 0x7c, .l = 11 },
	[0xcb] = { .c = 0x7c, .l = 11 },
	[0xcc] = { .c = 0x7c, .l = 11 },
	[0xcd] = { .c = 0x7c, .l = 11 },
	[0xce] = { .c = 0x7c, .l = 11 },
	[0xcf] = { .c = 0x7c, .l = 11 },
	[0xd0] = { .c = 0x23, .l = 12 },
	[0xd1] = { .c = 0x23, .l = 12 },
	[0xd2] = { .c = 0x23, .l = 12 },
	[0xd3] = { .c = 0x23, .l = 12 },
	[0xd4] = { .c = 0x23, .l = 12 },
	[0xd5] = { .c = 0x23, .l = 12 },
	[0xd6] = { .c = 0x23, .l = 12 },
	[0xd7] = { .c = 0x23, .l = 12 },
	[0xd8] = { .c = 0x3e, .l = 12 },
	[0xd9] = { .c = 0x3e, .l = 12 },
	[0xda] = { .c = 0x3e, .l = 12 },
	[0xdb] = { .c = 0x3e, .l = 12 },
	[0xdc] = { .c = 0x3e, .l = 12 },
	[0xdd] = { .c = 0x3e, .l = 12 },
	[0xde] = { .c = 0x3e, .l = 12 },
	[0xdf] = { .c = 0x3e, .l = 12 },
	[0xe0] = { .c = 0x00, .l = 13 },
	[0xe1] = { .c = 0x00, .l = 13 },
	[0xe2] = { .c = 0x00, .l = 13 },
	[0xe3] = { .c = 0x00, .l = 13 },
	[0xe4] = { .c = 0x24, .l = 13 },
	[0xe5] = { .c = 0x24, .l = 13 },
	[0xe6] = { .c = 0x24, .l = 13 },
	[0xe7] = { .c = 0x24, .l = 13 },
	[0xe8] = { .c = 0x40, .l = 13 },
	[0xe9] = { .c = 0x40, .l = 13 },
	[0xea] = { .c = 0x40, .l = 13 },
	[0xeb] = { .c = 0x40, .l = 13 },
	[0xec] = { .c = 0x5b, .l = 13 },
	[0xed] = { .c = 0x5b, .l = 13 },
	[0xee] = { .c = 0x5b, .l = 13 },
	[0xef] = { .c = 0x5b, .l = 13 },
	[0xf0] = { .c = 0x5d, .l = 13 },
	[0xf1] = { .c = 0x5d, .l = 13 },
	[0xf2] = { .c = 0x5d, .l = 13 },
	[0xf3] = { .c = 0x5d, .l = 13 },
	[0xf4] = { .c = 0x7e, .l = 13 },
	[0xf5] = { .c = 0x7e, .l = 13 },
	[0xf6] = { .c = 0x7e, .l = 13 },
	[0xf7] = { .c = 0x7e, .l = 13 },
	[0xf8] = { .c = 0x5e, .l = 14 },
	[0xf9] = { .c = 0x5e, .l = 14 },
	[0xfa] = { .c = 0x7d, .l = 14 },
	[0xfb] = { .c = 0x7d, .l = 14 },
	[0xfc] = { .c = 0x3c, .l = 15 },
	[0xfd] = { .c = 0x60, .l = 15 },
	[0xfe] = { .c = 0x7b, .l = 15 },
};

struct rht rht_bit15_11_fe[32] = {
	[0x00] = { .c = 0x5c, .l = 19 },
	[0x01] = { .c = 0x5c, .l = 19 },
	[0x02] = { .c = 0x5c, .l = 19 },
	[0x03] = { .c = 0x5c, .l = 19 },
	[0x04] = { .c = 0xc3, .l = 19 },
	[0x05] = { .c = 0xc3, .l = 19 },
	[0x06] = { .c = 0xc3, .l = 19 },
	[0x07] = { .c = 0xc3, .l = 19 },
	[0x08] = { .c = 0xd0, .l = 19 },
	[0x09] = { .c = 0xd0, .l = 19 },
	[0x0a] = { .c = 0xd0, .l = 19 },
	[0x0b] = { .c = 0xd0, .l = 19 },
	[0x0c] = { .c = 0x80, .l = 20 },
	[0x0d] = { .c = 0x80, .l = 20 },
	[0x0e] = { .c = 0x82, .l = 20 },
	[0x0f] = { .c = 0x82, .l = 20 },
	[0x10] = { .c = 0x83, .l = 20 },
	[0x11] = { .c = 0x83, .l = 20 },
	[0x12] = { .c = 0xa2, .l = 20 },
	[0x13] = { .c = 0xa2, .l = 20 },
	[0x14] = { .c = 0xb8, .l = 20 },
	[0x15] = { .c = 0xb8, .l = 20 },
	[0x16] = { .c = 0xc2, .l = 20 },
	[0x17] = { .c = 0xc2, .l = 20 },
	[0x18] = { .c = 0xe0, .l = 20 },
	[0x19] = { .c = 0xe0, .l = 20 },
	[0x1a] = { .c = 0xe2, .l = 20 },
	[0x1b] = { .c = 0xe2, .l = 20 },
	[0x1c] = { .c = 0x99, .l = 21 },
	[0x1d] = { .c = 0xa1, .l = 21 },
	[0x1e] = { .c = 0xa7, .l = 21 },
	[0x1f] = { .c = 0xac, .l = 21 },
};

struct rht rht_bit15_8[256] = {
	[0x00] = { .c = 0xb0, .l = 21 },
	[0x01] = { .c = 0xb0, .l = 21 },
	[0x02] = { .c = 0xb0, .l = 21 },
	[0x03] = { .c = 0xb0, .l = 21 },
	[0x04] = { .c = 0xb0, .l = 21 },
	[0x05] = { .c = 0xb0, .l = 21 },
	[0x06] = { .c = 0xb0, .l = 21 },
	[0x07] = { .c = 0xb0, .l = 21 },
	[0x08] = { .c = 0xb1, .l = 21 },
	[0x09] = { .c = 0xb1, .l = 21 },
	[0x0a] = { .c = 0xb1, .l = 21 },
	[0x0b] = { .c = 0xb1, .l = 21 },
	[0x0c] = { .c = 0xb1, .l = 21 },
	[0x0d] = { .c = 0xb1, .l = 21 },
	[0x0e] = { .c = 0xb1, .l = 21 },
	[0x0f] = { .c = 0xb1, .l = 21 },
	[0x10] = { .c = 0xb3, .l = 21 },
	[0x11] = { .c = 0xb3, .l = 21 },
	[0x12] = { .c = 0xb3, .l = 21 },
	[0x13] = { .c = 0xb3, .l = 21 },
	[0x14] = { .c = 0xb3, .l = 21 },
	[0x15] = { .c = 0xb3, .l = 21 },
	[0x16] = { .c = 0xb3, .l = 21 },
	[0x17] = { .c = 0xb3, .l = 21 },
	[0x18] = { .c = 0xd1, .l = 21 },
	[0x19] = { .c = 0xd1, .l = 21 },
	[0x1a] = { .c = 0xd1, .l = 21 },
	[0x1b] = { .c = 0xd1, .l = 21 },
	[0x1c] = { .c = 0xd1, .l = 21 },
	[0x1d] = { .c = 0xd1, .l = 21 },
	[0x1e] = { .c = 0xd1, .l = 21 },
	[0x1f] = { .c = 0xd1, .l = 21 },
	[0x20] = { .c = 0xd8, .l = 21 },
	[0x21] = { .c = 0xd8, .l = 21 },
	[0x22] = { .c = 0xd8, .l = 21 },
	[0x23] = { .c = 0xd8, .l = 21 },
	[0x24] = { .c = 0xd8, .l = 21 },
	[0x25] = { .c = 0xd8, .l = 21 },
	[0x26] = { .c = 0xd8, .l = 21 },
	[0x27] = { .c = 0xd8, .l = 21 },
	[0x28] = { .c = 0xd9, .l = 21 },
	[0x29] = { .c = 0xd9, .l = 21 },
	[0x2a] = { .c = 0xd9, .l = 21 },
	[0x2b] = { .c = 0xd9, .l = 21 },
	[0x2c] = { .c = 0xd9, .l = 21 },
	[0x2d] = { .c = 0xd9, .l = 21 },
	[0x2e] = { .c = 0xd9, .l = 21 },
	[0x2f] = { .c = 0xd9, .l = 21 },
	[0x30] = { .c = 0xe3, .l = 21 },
	[0x31] = { .c = 0xe3, .l = 21 },
	[0x32] = { .c = 0xe3, .l = 21 },
	[0x33] = { .c = 0xe3, .l = 21 },
	[0x34] = { .c = 0xe3, .l = 21 },
	[0x35] = { .c = 0xe3, .l = 21 },
	[0x36] = { .c = 0xe3, .l = 21 },
	[0x37] = { .c = 0xe3, .l = 21 },
	[0x38] = { .c = 0xe5, .l = 21 },
	[0x39] = { .c = 0xe5, .l = 21 },
	[0x3a] = { .c = 0xe5, .l = 21 },
	[0x3b] = { .c = 0xe5, .l = 21 },
	[0x3c] = { .c = 0xe5, .l = 21 },
	[0x3d] = { .c = 0xe5, .l = 21 },
	[0x3e] = { .c = 0xe5, .l = 21 },
	[0x3f] = { .c = 0xe5, .l = 21 },
	[0x40] = { .c = 0xe6, .l = 21 },
	[0x41] = { .c = 0xe6, .l = 21 },
	[0x42] = { .c = 0xe6, .l = 21 },
	[0x43] = { .c = 0xe6, .l = 21 },
	[0x44] = { .c = 0xe6, .l = 21 },
	[0x45] = { .c = 0xe6, .l = 21 },
	[0x46] = { .c = 0xe6, .l = 21 },
	[0x47] = { .c = 0xe6, .l = 21 },
	[0x48] = { .c = 0x81, .l = 22 },
	[0x49] = { .c = 0x81, .l = 22 },
	[0x4a] = { .c = 0x81, .l = 22 },
	[0x4b] = { .c = 0x81, .l = 22 },
	[0x4c] = { .c = 0x84, .l = 22 },
	[0x4d] = { .c = 0x84, .l = 22 },
	[0x4e] = { .c = 0x84, .l = 22 },
	[0x4f] = { .c = 0x84, .l = 22 },
	[0x50] = { .c = 0x85, .l = 22 },
	[0x51] = { .c = 0x85, .l = 22 },
	[0x52] = { .c = 0x85, .l = 22 },
	[0x53] = { .c = 0x85, .l = 22 },
	[0x54] = { .c = 0x86, .l = 22 },
	[0x55] = { .c = 0x86, .l = 22 },
	[0x56] = { .c = 0x86, .l = 22 },
	[0x57] = { .c = 0x86, .l = 22 },
	[0x58] = { .c = 0x88, .l = 22 },
	[0x59] = { .c = 0x88, .l = 22 },
	[0x5a] = { .c = 0x88, .l = 22 },
	[0x5b] = { .c = 0x88, .l = 22 },
	[0x5c] = { .c = 0x92, .l = 22 },
	[0x5d] = { .c = 0x92, .l = 22 },
	[0x5e] = { .c = 0x92, .l = 22 },
	[0x5f] = { .c = 0x92, .l = 22 },
	[0x60] = { .c = 0x9a, .l = 22 },
	[0x61] = { .c = 0x9a, .l = 22 },
	[0x62] = { .c = 0x9a, .l = 22 },
	[0x63] = { .c = 0x9a, .l = 22 },
	[0x64] = { .c = 0x9c, .l = 22 },
	[0x65] = { .c = 0x9c, .l = 22 },
	[0x66] = { .c = 0x9c, .l = 22 },
	[0x67] = { .c = 0x9c, .l = 22 },
	[0x68] = { .c = 0xa0, .l = 22 },
	[0x69] = { .c = 0xa0, .l = 22 },
	[0x6a] = { .c = 0xa0, .l = 22 },
	[0x6b] = { .c = 0xa0, .l = 22 },
	[0x6c] = { .c = 0xa3, .l = 22 },
	[0x6d] = { .c = 0xa3, .l = 22 },
	[0x6e] = { .c = 0xa3, .l = 22 },
	[0x6f] = { .c = 0xa3, .l = 22 },
	[0x70] = { .c = 0xa4, .l = 22 },
	[0x71] = { .c = 0xa4, .l = 22 },
	[0x72] = { .c = 0xa4, .l = 22 },
	[0x73] = { .c = 0xa4, .l = 22 },
	[0x74] = { .c = 0xa9, .l = 22 },
	[0x75] = { .c = 0xa9, .l = 22 },
	[0x76] = { .c = 0xa9, .l = 22 },
	[0x77] = { .c = 0xa9, .l = 22 },
	[0x78] = { .c = 0xaa, .l = 22 },
	[0x79] = { .c = 0xaa, .l = 22 },
	[0x7a] = { .c = 0xaa, .l = 22 },
	[0x7b] = { .c = 0xaa, .l = 22 },
	[0x7c] = { .c = 0xad, .l = 22 },
	[0x7d] = { .c = 0xad, .l = 22 },
	[0x7e] = { .c = 0xad, .l = 22 },
	[0x7f] = { .c = 0xad, .l = 22 },
	[0x80] = { .c = 0xb2, .l = 22 },
	[0x81] = { .c = 0xb2, .l = 22 },
	[0x82] = { .c = 0xb2, .l = 22 },
	[0x83] = { .c = 0xb2, .l = 22 },
	[0x84] = { .c = 0xb5, .l = 22 },
	[0x85] = { .c = 0xb5, .l = 22 },
	[0x86] = { .c = 0xb5, .l = 22 },
	[0x87] = { .c = 0xb5, .l = 22 },
	[0x88] = { .c = 0xb9, .l = 22 },
	[0x89] = { .c = 0xb9, .l = 22 },
	[0x8a] = { .c = 0xb9, .l = 22 },
	[0x8b] = { .c = 0xb9, .l = 22 },
	[0x8c] = { .c = 0xba, .l = 22 },
	[0x8d] = { .c = 0xba, .l = 22 },
	[0x8e] = { .c = 0xba, .l = 22 },
	[0x8f] = { .c = 0xba, .l = 22 },
	[0x90] = { .c = 0xbb, .l = 22 },
	[0x91] = { .c = 0xbb, .l = 22 },
	[0x92] = { .c = 0xbb, .l = 22 },
	[0x93] = { .c = 0xbb, .l = 22 },
	[0x94] = { .c = 0xbd, .l = 22 },
	[0x95] = { .c = 0xbd, .l = 22 },
	[0x96] = { .c = 0xbd, .l = 22 },
	[0x97] = { .c = 0xbd, .l = 22 },
	[0x98] = { .c = 0xbe, .l = 22 },
	[0x99] = { .c = 0xbe, .l = 22 },
	[0x9a] = { .c = 0xbe, .l = 22 },
	[0x9b] = { .c = 0xbe, .l = 22 },
	[0x9c] = { .c = 0xc4, .l = 22 },
	[0x9d] = { .c = 0xc4, .l = 22 },
	[0x9e] = { .c = 0xc4, .l = 22 },
	[0x9f] = { .c = 0xc4, .l = 22 },
	[0xa0] = { .c = 0xc6, .l = 22 },
	[0xa1] = { .c = 0xc6, .l = 22 },
	[0xa2] = { .c = 0xc6, .l = 22 },
	[0xa3] = { .c = 0xc6, .l = 22 },
	[0xa4] = { .c = 0xe4, .l = 22 },
	[0xa5] = { .c = 0xe4, .l = 22 },
	[0xa6] = { .c = 0xe4, .l = 22 },
	[0xa7] = { .c = 0xe4, .l = 22 },
	[0xa8] = { .c = 0xe8, .l = 22 },
	[0xa9] = { .c = 0xe8, .l = 22 },
	[0xaa] = { .c = 0xe8, .l = 22 },
	[0xab] = { .c = 0xe8, .l = 22 },
	[0xac] = { .c = 0xe9, .l = 22 },
	[0xad] = { .c = 0xe9, .l = 22 },
	[0xae] = { .c = 0xe9, .l = 22 },
	[0xaf] = { .c = 0xe9, .l = 22 },
	[0xb0] = { .c = 0x01, .l = 23 },
	[0xb1] = { .c = 0x01, .l = 23 },
	[0xb2] = { .c = 0x87, .l = 23 },
	[0xb3] = { .c = 0x87, .l = 23 },
	[0xb4] = { .c = 0x89, .l = 23 },
	[0xb5] = { .c = 0x89, .l = 23 },
	[0xb6] = { .c = 0x8a, .l = 23 },
	[0xb7] = { .c = 0x8a, .l = 23 },
	[0xb8] = { .c = 0x8b, .l = 23 },
	[0xb9] = { .c = 0x8b, .l = 23 },
	[0xba] = { .c = 0x8c, .l = 23 },
	[0xbb] = { .c = 0x8c, .l = 23 },
	[0xbc] = { .c = 0x8d, .l = 23 },
	[0xbd] = { .c = 0x8d, .l = 23 },
	[0xbe] = { .c = 0x8f, .l = 23 },
	[0xbf] = { .c = 0x8f, .l = 23 },
	[0xc0] = { .c = 0x93, .l = 23 },
	[0xc1] = { .c = 0x93, .l = 23 },
	[0xc2] = { .c = 0x95, .l = 23 },
	[0xc3] = { .c = 0x95, .l = 23 },
	[0xc4] = { .c = 0x96, .l = 23 },
	[0xc5] = { .c = 0x96, .l = 23 },
	[0xc6] = { .c = 0x97, .l = 23 },
	[0xc7] = { .c = 0x97, .l = 23 },
	[0xc8] = { .c = 0x98, .l = 23 },
	[0xc9] = { .c = 0x98, .l = 23 },
	[0xca] = { .c = 0x9b, .l = 23 },
	[0xcb] = { .c = 0x9b, .l = 23 },
	[0xcc] = { .c = 0x9d, .l = 23 },
	[0xcd] = { .c = 0x9d, .l = 23 },
	[0xce] = { .c = 0x9e, .l = 23 },
	[0xcf] = { .c = 0x9e, .l = 23 },
	[0xd0] = { .c = 0xa5, .l = 23 },
	[0xd1] = { .c = 0xa5, .l = 23 },
	[0xd2] = { .c = 0xa6, .l = 23 },
	[0xd3] = { .c = 0xa6, .l = 23 },
	[0xd4] = { .c = 0xa8, .l = 23 },
	[0xd5] = { .c = 0xa8, .l = 23 },
	[0xd6] = { .c = 0xae, .l = 23 },
	[0xd7] = { .c = 0xae, .l = 23 },
	[0xd8] = { .c = 0xaf, .l = 23 },
	[0xd9] = { .c = 0xaf, .l = 23 },
	[0xda] = { .c = 0xb4, .l = 23 },
	[0xdb] = { .c = 0xb4, .l = 23 },
	[0xdc] = { .c = 0xb6, .l = 23 },
	[0xdd] = { .c = 0xb6, .l = 23 },
	[0xde] = { .c = 0xb7, .l = 23 },
	[0xdf] = { .c = 0xb7, .l = 23 },
	[0xe0] = { .c = 0xbc, .l = 23 },
	[0xe1] = { .c = 0xbc, .l = 23 },
	[0xe2] = { .c = 0xbf, .l = 23 },
	[0xe3] = { .c = 0xbf, .l = 23 },
	[0xe4] = { .c = 0xc5, .l = 23 },
	[0xe5] = { .c = 0xc5, .l = 23 },
	[0xe6] = { .c = 0xe7, .l = 23 },
	[0xe7] = { .c = 0xe7, .l = 23 },
	[0xe8] = { .c = 0xef, .l = 23 },
	[0xe9] = { .c = 0xef, .l = 23 },
	[0xea] = { .c = 0x09, .l = 24 },
	[0xeb] = { .c = 0x8e, .l = 24 },
	[0xec] = { .c = 0x90, .l = 24 },
	[0xed] = { .c = 0x91, .l = 24 },
	[0xee] = { .c = 0x94, .l = 24 },
	[0xef] = { .c = 0x9f, .l = 24 },
	[0xf0] = { .c = 0xab, .l = 24 },
	[0xf1] = { .c = 0xce, .l = 24 },
	[0xf2] = { .c = 0xd7, .l = 24 },
	[0xf3] = { .c = 0xe1, .l = 24 },
	[0xf4] = { .c = 0xec, .l = 24 },
	[0xf5] = { .c = 0xed, .l = 24 },
};

struct rht rht_bit11_4[256] = {
	[0x60] = { .c = 0xc7, .l = 25 },
	[0x61] = { .c = 0xc7, .l = 25 },
	[0x62] = { .c = 0xc7, .l = 25 },
	[0x63] = { .c = 0xc7, .l = 25 },
	[0x64] = { .c = 0xc7, .l = 25 },
	[0x65] = { .c = 0xc7, .l = 25 },
	[0x66] = { .c = 0xc7, .l = 25 },
	[0x67] = { .c = 0xc7, .l = 25 },
	[0x68] = { .c = 0xcf, .l = 25 },
	[0x69] = { .c = 0xcf, .l = 25 },
	[0x6a] = { .c = 0xcf, .l = 25 },
	[0x6b] = { .c = 0xcf, .l = 25 },
	[0x6c] = { .c = 0xcf, .l = 25 },
	[0x6d] = { .c = 0xcf, .l = 25 },
	[0x6e] = { .c = 0xcf, .l = 25 },
	[0x6f] = { .c = 0xcf, .l = 25 },
	[0x70] = { .c = 0xea, .l = 25 },
	[0x71] = { .c = 0xea, .l = 25 },
	[0x72] = { .c = 0xea, .l = 25 },
	[0x73] = { .c = 0xea, .l = 25 },
	[0x74] = { .c = 0xea, .l = 25 },
	[0x75] = { .c = 0xea, .l = 25 },
	[0x76] = { .c = 0xea, .l = 25 },
	[0x77] = { .c = 0xea, .l = 25 },
	[0x78] = { .c = 0xeb, .l = 25 },
	[0x79] = { .c = 0xeb, .l = 25 },
	[0x7a] = { .c = 0xeb, .l = 25 },
	[0x7b] = { .c = 0xeb, .l = 25 },
	[0x7c] = { .c = 0xeb, .l = 25 },
	[0x7d] = { .c = 0xeb, .l = 25 },
	[0x7e] = { .c = 0xeb, .l = 25 },
	[0x7f] = { .c = 0xeb, .l = 25 },
	[0x80] = { .c = 0xc0, .l = 26 },
	[0x81] = { .c = 0xc0, .l = 26 },
	[0x82] = { .c = 0xc0, .l = 26 },
	[0x83] = { .c = 0xc0, .l = 26 },
	[0x84] = { .c = 0xc1, .l = 26 },
	[0x85] = { .c = 0xc1, .l = 26 },
	[0x86] = { .c = 0xc1, .l = 26 },
	[0x87] = { .c = 0xc1, .l = 26 },
	[0x88] = { .c = 0xc8, .l = 26 },
	[0x89] = { .c = 0xc8, .l = 26 },
	[0x8a] = { .c = 0xc8, .l = 26 },
	[0x8b] = { .c = 0xc8, .l = 26 },
	[0x8c] = { .c = 0xc9, .l = 26 },
	[0x8d] = { .c = 0xc9, .l = 26 },
	[0x8e] = { .c = 0xc9, .l = 26 },
	[0x8f] = { .c = 0xc9, .l = 26 },
	[0x90] = { .c = 0xca, .l = 26 },
	[0x91] = { .c = 0xca, .l = 26 },
	[0x92] = { .c = 0xca, .l = 26 },
	[0x93] = { .c = 0xca, .l = 26 },
	[0x94] = { .c = 0xcd, .l = 26 },
	[0x95] = { .c = 0xcd, .l = 26 },
	[0x96] = { .c = 0xcd, .l = 26 },
	[0x97] = { .c = 0xcd, .l = 26 },
	[0x98] = { .c = 0xd2, .l = 26 },
	[0x99] = { .c = 0xd2, .l = 26 },
	[0x9a] = { .c = 0xd2, .l = 26 },
	[0x9b] = { .c = 0xd2, .l = 26 },
	[0x9c] = { .c = 0xd5, .l = 26 },
	[0x9d] = { .c = 0xd5, .l = 26 },
	[0x9e] = { .c = 0xd5, .l = 26 },
	[0x9f] = { .c = 0xd5, .l = 26 },
	[0xa0] = { .c = 0xda, .l = 26 },
	[0xa1] = { .c = 0xda, .l = 26 },
	[0xa2] = { .c = 0xda, .l = 26 },
	[0xa3] = { .c = 0xda, .l = 26 },
	[0xa4] = { .c = 0xdb, .l = 26 },
	[0xa5] = { .c = 0xdb, .l = 26 },
	[0xa6] = { .c = 0xdb, .l = 26 },
	[0xa7] = { .c = 0xdb, .l = 26 },
	[0xa8] = { .c = 0xee, .l = 26 },
	[0xa9] = { .c = 0xee, .l = 26 },
	[0xaa] = { .c = 0xee, .l = 26 },
	[0xab] = { .c = 0xee, .l = 26 },
	[0xac] = { .c = 0xf0, .l = 26 },
	[0xad] = { .c = 0xf0, .l = 26 },
	[0xae] = { .c = 0xf0, .l = 26 },
	[0xaf] = { .c = 0xf0, .l = 26 },
	[0xb0] = { .c = 0xf2, .l = 26 },
	[0xb1] = { .c = 0xf2, .l = 26 },
	[0xb2] = { .c = 0xf2, .l = 26 },
	[0xb3] = { .c = 0xf2, .l = 26 },
	[0xb4] = { .c = 0xf3, .l = 26 },
	[0xb5] = { .c = 0xf3, .l = 26 },
	[0xb6] = { .c = 0xf3, .l = 26 },
	[0xb7] = { .c = 0xf3, .l = 26 },
	[0xb8] = { .c = 0xff, .l = 26 },
	[0xb9] = { .c = 0xff, .l = 26 },
	[0xba] = { .c = 0xff, .l = 26 },
	[0xbb] = { .c = 0xff, .l = 26 },
	[0xbc] = { .c = 0xcb, .l = 27 },
	[0xbd] = { .c = 0xcb, .l = 27 },
	[0xbe] = { .c = 0xcc, .l = 27 },
	[0xbf] = { .c = 0xcc, .l = 27 },
	[0xc0] = { .c = 0xd3, .l = 27 },
	[0xc1] = { .c = 0xd3, .l = 27 },
	[0xc2] = { .c = 0xd4, .l = 27 },
	[0xc3] = { .c = 0xd4, .l = 27 },
	[0xc4] = { .c = 0xd6, .l = 27 },
	[0xc5] = { .c = 0xd6, .l = 27 },
	[0xc6] = { .c = 0xdd, .l = 27 },
	[0xc7] = { .c = 0xdd, .l = 27 },
	[0xc8] = { .c = 0xde, .l = 27 },
	[0xc9] = { .c = 0xde, .l = 27 },
	[0xca] = { .c = 0xdf, .l = 27 },
	[0xcb] = { .c = 0xdf, .l = 27 },
	[0xcc] = { .c = 0xf1, .l = 27 },
	[0xcd] = { .c = 0xf1, .l = 27 },
	[0xce] = { .c = 0xf4, .l = 27 },
	[0xcf] = { .c = 0xf4, .l = 27 },
	[0xd0] = { .c = 0xf5, .l = 27 },
	[0xd1] = { .c = 0xf5, .l = 27 },
	[0xd2] = { .c = 0xf6, .l = 27 },
	[0xd3] = { .c = 0xf6, .l = 27 },
	[0xd4] = { .c = 0xf7, .l = 27 },
	[0xd5] = { .c = 0xf7, .l = 27 },
	[0xd6] = { .c = 0xf8, .l = 27 },
	[0xd7] = { .c = 0xf8, .l = 27 },
	[0xd8] = { .c = 0xfa, .l = 27 },
	[0xd9] = { .c = 0xfa, .l = 27 },
	[0xda] = { .c = 0xfb, .l = 27 },
	[0xdb] = { .c = 0xfb, .l = 27 },
	[0xdc] = { .c = 0xfc, .l = 27 },
	[0xdd] = { .c = 0xfc, .l = 27 },
	[0xde] = { .c = 0xfd, .l = 27 },
	[0xdf] = { .c = 0xfd, .l = 27 },
	[0xe0] = { .c = 0xfe, .l = 27 },
	[0xe1] = { .c = 0xfe, .l = 27 },
	[0xe2] = { .c = 0x02, .l = 28 },
	[0xe3] = { .c = 0x03, .l = 28 },
	[0xe4] = { .c = 0x04, .l = 28 },
	[0xe5] = { .c = 0x05, .l = 28 },
	[0xe6] = { .c = 0x06, .l = 28 },
	[0xe7] = { .c = 0x07, .l = 28 },
	[0xe8] = { .c = 0x08, .l = 28 },
	[0xe9] = { .c = 0x0b, .l = 28 },
	[0xea] = { .c = 0x0c, .l = 28 },
	[0xeb] = { .c = 0x0e, .l = 28 },
	[0xec] = { .c = 0x0f, .l = 28 },
	[0xed] = { .c = 0x10, .l = 28 },
	[0xee] = { .c = 0x11, .l = 28 },
	[0xef] = { .c = 0x12, .l = 28 },
	[0xf0] = { .c = 0x13, .l = 28 },
	[0xf1] = { .c = 0x14, .l = 28 },
	[0xf2] = { .c = 0x15, .l = 28 },
	[0xf3] = { .c = 0x17, .l = 28 },
	[0xf4] = { .c = 0x18, .l = 28 },
	[0xf5] = { .c = 0x19, .l = 28 },
	[0xf6] = { .c = 0x1a, .l = 28 },
	[0xf7] = { .c = 0x1b, .l = 28 },
	[0xf8] = { .c = 0x1c, .l = 28 },
	[0xf9] = { .c = 0x1d, .l = 28 },
	[0xfa] = { .c = 0x1e, .l = 28 },
	[0xfb] = { .c = 0x1f, .l = 28 },
	[0xfc] = { .c = 0x7f, .l = 28 },
	[0xfd] = { .c = 0xdc, .l = 28 },
	[0xfe] = { .c = 0xf9, .l = 28 },
	[0xff] = { .c = 0x0a, .l = 30 },
	/* Note, when l==30, bits 2..3 give 00:0x0a, 01:0x0d, 10:0x16, 11:EOS */
};

/* huffman-encode string <s> into the huff_tmp buffer and returns the amount
 * of output bytes. The caller must ensure the output is large enough (ie at
 * least 4 times as long as s).
 *
 * FIXME: bits are only counted for now, no code is emitted!
 */
int huff_enc(const char *s, char *out)
{
	int bits = 0;

	while (*s) {
		bits += ht[(uint8_t)*s].b;
		s++;
	}
	bits += 7;

	/*  FIXME: huffman code is not emitted yet. */
	//memset(out, 'H', bits / 8);
	return bits / 8;
}

/* pass a huffman string, it will decode it and return the new output size or
 * -1 in case of error.
 *
 * The principle of the decoder is to lookup full bytes in reverse-huffman
 * tables. Since we may need up to 30 bits and the word positions are not
 * always multiples of 8, we build the code word by shifting the "current"
 * 32-bit word and the "next" one of the appropriate amount of bits. Once
 * the shift goes beyond 32, words are swapped and the "next" one is refilled
 * with new bytes. Shift operations are cheap when done a single time like this.
 * On 64-bit platforms it is possible to further improve this by storing both
 * of them in a single word.
 */
int huff_dec(const uint8_t *huff, int hlen, char *out, int olen)
{
	char *out_start = out;
	char *out_end = out + olen;
	const uint8_t *huff_end = huff + hlen;
	uint32_t curr = 0;
	uint32_t next = 0;
	uint32_t shift;
	uint32_t code; /* The 30-bit code being looked up, MSB-aligned */
	uint8_t sym;
	int bleft; /* bits left */
	int l;

	code = 0;
	shift = 64; // start with an empty buffer
	bleft = hlen << 3;
	while (bleft > 0 && out != out_end) {
		while (shift >= 32) {
			curr = next;

			/* read up to 4 bytes into next. FIXME: this should
			 * later be optimized to perform a single 32-bit big
			 * endian read when unaligned accesses are possible.
			 */
			next = 0;

			if (huff + 4 <= huff_end) {
				next = (huff[0] << 24) + (huff[1] << 16) + (huff[2] <<  8) + huff[3];
				huff += 4;
			}
			else {
				/* note: we append 0 and not 0xff so that we can
				 * distinguish shifted bits from a really inserted
				 * EOS.
				 */
				next =  (((huff + 0 < huff_end) ? huff[0] : 0x00) << 24) +
					(((huff + 1 < huff_end) ? huff[1] : 0x00) << 16) +
					(((huff + 2 < huff_end) ? huff[2] : 0x00) <<  8) +
					((huff + 3 < huff_end) ? huff[3] : 0x00);
				huff = huff_end;
			}

			shift -= 32;
		}

		/* curr:next contain 64 bit of huffman code */
		code = curr;
		if (shift)
			code = (code << shift) + (next >> (32 - shift));

		/* now we necessarily have 32 bits available */
		if ((code >> 24) < 0xfe) {
			/* single byte */
			l = rht_bit31_24[code >> 24].l;
			sym = rht_bit31_24[code >> 24].c;
		}
		else if (((code >> 17) & 0xff) < 0xff) {
			/* two bytes, 0xfe + 2 bits or 0xff + 2..7 bits */
			l = rht_bit24_17[(code >> 17) & 0xff].l;
			sym = rht_bit24_17[(code >> 17) & 0xff].c;
		}
		else if (((code >> 16) & 0xff) < 0xff) { /* 3..5 bits */
			/* 0xff + 0xfe + 3..5 bits or
			 * 0xff + 0xff + 5..8 bits for values till 0xf5
			 */
			l = rht_bit15_11_fe[(code >> 11) & 0x1f].l;
			sym = rht_bit15_11_fe[(code >> 11) & 0x1f].c;
		}
		else if (((code >> 8) & 0xff) < 0xf6) { /* 5..8 bits */
			/* that's 0xff + 0xff */
			l = rht_bit15_8[(code >> 8) & 0xff].l;
			sym = rht_bit15_8[(code >> 8) & 0xff].c;
		}
		else {
			/* 0xff 0xff 0xf6..0xff */
			l = rht_bit11_4[(code >> 4) & 0xff].l;
			if (l < 30)
				sym = rht_bit11_4[(code >> 4) & 0xff].c;
			else if ((code & 0xff) == 0xf0)
				sym = 10;
			else if ((code & 0xff) == 0xf4)
				sym = 13;
			else if ((code & 0xff) == 0xf8)
				sym = 22;
			else { // 0xfc : EOS
				break;
			}
		}

		if (!l || bleft - l < 0)
			break;

		bleft -= l;
		shift += l;
		*out++ = sym;
	}

	if (bleft > 0) {
		/* some bits were not consumed after the last code, they must
		 * match EOS (ie: all ones) and there must be 7 bits or less.
		 * (7541#5.2).
		 */
		if (bleft > 7)
			return -1;

		if ((code & -(1 << (32 - bleft))) != (uint32_t)-(1 << (32 - bleft)))
			return -1;
	}

	if (out < out_end)
		*out = 0; // end of string whenever possible
	return out - out_start;
}
