/*
 * 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 <haproxy/api.h>
#include <haproxy/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;
}
