xref: /aosp_15_r20/external/grpc-grpc/test/cpp/microbenchmarks/huffman_geometries/decode_huff_10_9_11.cc (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1 // Copyright 2023 gRPC authors.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 // This file is autogenerated: see
16 // tools/codegen/core/gen_huffman_decompressor.cc
17 
18 #include "test/cpp/microbenchmarks/huffman_geometries/decode_huff_10_9_11.h"
19 
20 #include <grpc/support/port_platform.h>
21 namespace grpc_core {
22 namespace geometry_10_9_11 {
23 const uint8_t HuffDecoderCommon::table2_0_emit_[10] = {
24     0x30, 0x31, 0x32, 0x61, 0x63, 0x65, 0x69, 0x6f, 0x73, 0x74};
25 const uint8_t HuffDecoderCommon::table2_0_ops_[32] = {
26     0x00, 0x04, 0x08, 0x0c, 0x10, 0x14, 0x18, 0x1c, 0x20, 0x24, 0x01,
27     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
28     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02};
29 const uint8_t HuffDecoderCommon::table3_0_emit_[36] = {
30     0x30, 0x31, 0x32, 0x61, 0x63, 0x65, 0x69, 0x6f, 0x73, 0x74, 0x20, 0x25,
31     0x2d, 0x2e, 0x2f, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3d, 0x41,
32     0x5f, 0x62, 0x64, 0x66, 0x67, 0x68, 0x6c, 0x6d, 0x6e, 0x70, 0x72, 0x75};
33 const uint8_t HuffDecoderCommon::table3_0_ops_[64] = {
34     0x00, 0x01, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00,
35     0x15, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x29, 0x2d,
36     0x31, 0x35, 0x39, 0x3d, 0x41, 0x45, 0x49, 0x4d, 0x51, 0x55, 0x59,
37     0x5d, 0x61, 0x65, 0x69, 0x6d, 0x71, 0x75, 0x79, 0x7d, 0x81, 0x85,
38     0x89, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02};
40 const uint8_t HuffDecoderCommon::table4_0_emit_[22] = {
41     0x30, 0x31, 0x32, 0x61, 0x63, 0x65, 0x69, 0x6f, 0x73, 0x74, 0x20,
42     0x25, 0x2d, 0x2e, 0x2f, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39};
43 const uint8_t HuffDecoderCommon::table4_0_ops_[64] = {
44     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
45     0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00,
46     0x00, 0x15, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1d, 0x00,
47     0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x25, 0x00, 0x29, 0x00, 0x2d,
48     0x00, 0x31, 0x00, 0x35, 0x00, 0x39, 0x00, 0x3d, 0x00, 0x41, 0x00,
49     0x45, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x51, 0x00, 0x55};
50 const uint8_t HuffDecoderCommon::table4_1_emit_[46] = {
51     0x3d, 0x41, 0x5f, 0x62, 0x64, 0x66, 0x67, 0x68, 0x6c, 0x6d, 0x6e, 0x70,
52     0x72, 0x75, 0x3a, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
53     0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
54     0x57, 0x59, 0x6a, 0x6b, 0x71, 0x76, 0x77, 0x78, 0x79, 0x7a};
55 const uint8_t HuffDecoderCommon::table4_1_ops_[64] = {
56     0x00, 0x01, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00,
57     0x15, 0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x00, 0x29,
58     0x00, 0x2d, 0x00, 0x31, 0x00, 0x35, 0x39, 0x3d, 0x41, 0x45, 0x49,
59     0x4d, 0x51, 0x55, 0x59, 0x5d, 0x61, 0x65, 0x69, 0x6d, 0x71, 0x75,
60     0x79, 0x7d, 0x81, 0x85, 0x89, 0x8d, 0x91, 0x95, 0x99, 0x9d, 0xa1,
61     0xa5, 0xa9, 0xad, 0xb1, 0xb5, 0x00, 0x00, 0x00, 0x02};
62 const uint8_t* const HuffDecoderCommon::table4_emit_[2] = {
63     table4_0_emit_,
64     table4_1_emit_,
65 };
66 const uint8_t* const HuffDecoderCommon::table4_ops_[2] = {
67     table4_0_ops_,
68     table4_1_ops_,
69 };
70 const uint8_t HuffDecoderCommon::table5_0_ops_[128] = {
71     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
72     0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
73     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00,
74     0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15,
75     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00,
76     0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
77     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x29,
78     0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x35,
79     0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x41,
80     0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x4d,
81     0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x55};
82 const uint8_t HuffDecoderCommon::table5_1_emit_[52] = {
83     0x3d, 0x41, 0x5f, 0x62, 0x64, 0x66, 0x67, 0x68, 0x6c, 0x6d, 0x6e,
84     0x70, 0x72, 0x75, 0x3a, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
85     0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53,
86     0x54, 0x55, 0x56, 0x57, 0x59, 0x6a, 0x6b, 0x71, 0x76, 0x77, 0x78,
87     0x79, 0x7a, 0x26, 0x2a, 0x2c, 0x3b, 0x58, 0x5a};
88 const uint8_t HuffDecoderCommon::table5_1_ops_[128] = {
89     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09,
90     0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x15,
91     0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21,
92     0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2d,
93     0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x35, 0x00, 0x39, 0x00, 0x3d,
94     0x00, 0x41, 0x00, 0x45, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x51, 0x00, 0x55,
95     0x00, 0x59, 0x00, 0x5d, 0x00, 0x61, 0x00, 0x65, 0x00, 0x69, 0x00, 0x6d,
96     0x00, 0x71, 0x00, 0x75, 0x00, 0x79, 0x00, 0x7d, 0x00, 0x81, 0x00, 0x85,
97     0x00, 0x89, 0x00, 0x8d, 0x00, 0x91, 0x00, 0x95, 0x00, 0x99, 0x00, 0x9d,
98     0x00, 0xa1, 0x00, 0xa5, 0x00, 0xa9, 0x00, 0xad, 0x00, 0xb1, 0x00, 0xb5,
99     0xb9, 0xbd, 0xc1, 0xc5, 0xc9, 0xcd, 0x00, 0x02};
100 const uint8_t* const HuffDecoderCommon::table5_emit_[2] = {
101     table4_0_emit_,
102     table5_1_emit_,
103 };
104 const uint8_t* const HuffDecoderCommon::table5_ops_[2] = {
105     table5_0_ops_,
106     table5_1_ops_,
107 };
108 const uint8_t HuffDecoderCommon::table6_0_emit_[2] = {0x30, 0x31};
109 const uint8_t HuffDecoderCommon::table6_0_ops_[32] = {
110     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
111     0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
112     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05};
113 const uint8_t HuffDecoderCommon::table6_1_emit_[2] = {0x32, 0x61};
114 const uint8_t HuffDecoderCommon::table6_2_emit_[2] = {0x63, 0x65};
115 const uint8_t HuffDecoderCommon::table6_3_emit_[2] = {0x69, 0x6f};
116 const uint8_t HuffDecoderCommon::table6_4_emit_[2] = {0x73, 0x74};
117 const uint8_t HuffDecoderCommon::table6_5_emit_[4] = {0x20, 0x25, 0x2d, 0x2e};
118 const uint8_t HuffDecoderCommon::table6_5_ops_[32] = {
119     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
120     0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121     0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d};
122 const uint8_t HuffDecoderCommon::table6_6_emit_[4] = {0x2f, 0x33, 0x34, 0x35};
123 const uint8_t HuffDecoderCommon::table6_7_emit_[4] = {0x36, 0x37, 0x38, 0x39};
124 const uint8_t HuffDecoderCommon::table6_8_emit_[4] = {0x3d, 0x41, 0x5f, 0x62};
125 const uint8_t HuffDecoderCommon::table6_9_emit_[4] = {0x64, 0x66, 0x67, 0x68};
126 const uint8_t HuffDecoderCommon::table6_10_emit_[4] = {0x6c, 0x6d, 0x6e, 0x70};
127 const uint8_t HuffDecoderCommon::table6_11_emit_[6] = {0x72, 0x75, 0x3a,
128                                                        0x42, 0x43, 0x44};
129 const uint8_t HuffDecoderCommon::table6_11_ops_[32] = {
130     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
131     0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
132     0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x15};
133 const uint8_t HuffDecoderCommon::table6_12_emit_[8] = {0x45, 0x46, 0x47, 0x48,
134                                                        0x49, 0x4a, 0x4b, 0x4c};
135 const uint8_t HuffDecoderCommon::table6_12_ops_[32] = {
136     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
137     0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00,
138     0x00, 0x15, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1d};
139 const uint8_t HuffDecoderCommon::table6_13_emit_[8] = {0x4d, 0x4e, 0x4f, 0x50,
140                                                        0x51, 0x52, 0x53, 0x54};
141 const uint8_t HuffDecoderCommon::table6_14_emit_[8] = {0x55, 0x56, 0x57, 0x59,
142                                                        0x6a, 0x6b, 0x71, 0x76};
143 const uint8_t HuffDecoderCommon::table6_15_emit_[10] = {
144     0x77, 0x78, 0x79, 0x7a, 0x26, 0x2a, 0x2c, 0x3b, 0x58, 0x5a};
145 const uint8_t HuffDecoderCommon::table6_15_ops_[32] = {
146     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
147     0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x15, 0x00, 0x19,
148     0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x00, 0x00, 0x00, 0x02};
149 const uint8_t* const HuffDecoderCommon::table6_emit_[16] = {
150     table6_0_emit_,  table6_1_emit_,  table6_2_emit_,  table6_3_emit_,
151     table6_4_emit_,  table6_5_emit_,  table6_6_emit_,  table6_7_emit_,
152     table6_8_emit_,  table6_9_emit_,  table6_10_emit_, table6_11_emit_,
153     table6_12_emit_, table6_13_emit_, table6_14_emit_, table6_15_emit_,
154 };
155 const uint8_t* const HuffDecoderCommon::table6_ops_[16] = {
156     table6_0_ops_,  table6_0_ops_,  table6_0_ops_,  table6_0_ops_,
157     table6_0_ops_,  table6_5_ops_,  table6_5_ops_,  table6_5_ops_,
158     table6_5_ops_,  table6_5_ops_,  table6_5_ops_,  table6_11_ops_,
159     table6_12_ops_, table6_12_ops_, table6_12_ops_, table6_15_ops_,
160 };
161 const uint8_t HuffDecoderCommon::table1_0_emit_[36] = {
162     0x30, 0x30, 0x31, 0x30, 0x32, 0x30, 0x61, 0x30, 0x63, 0x30, 0x65, 0x30,
163     0x69, 0x30, 0x6f, 0x30, 0x73, 0x30, 0x74, 0x31, 0x31, 0x32, 0x31, 0x61,
164     0x31, 0x63, 0x31, 0x65, 0x31, 0x69, 0x31, 0x6f, 0x31, 0x73, 0x31, 0x74};
165 const uint16_t HuffDecoderCommon::table1_0_inner_[22] = {
166     0x000a, 0x008a, 0x018a, 0x028a, 0x038a, 0x048a, 0x058a, 0x068a,
167     0x078a, 0x088a, 0x0015, 0x010a, 0x098a, 0x0a0a, 0x0b0a, 0x0c0a,
168     0x0d0a, 0x0e0a, 0x0f0a, 0x100a, 0x110a, 0x0115};
169 const uint8_t HuffDecoderCommon::table1_0_outer_[64] = {
170     0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 10, 10, 10, 10, 10,
171     10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
172     11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 21, 21, 21, 21, 21,
173     21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21};
174 const uint8_t HuffDecoderCommon::table1_1_emit_[36] = {
175     0x32, 0x30, 0x32, 0x31, 0x32, 0x32, 0x61, 0x32, 0x63, 0x32, 0x65, 0x32,
176     0x69, 0x32, 0x6f, 0x32, 0x73, 0x32, 0x74, 0x61, 0x30, 0x61, 0x31, 0x61,
177     0x61, 0x63, 0x61, 0x65, 0x61, 0x69, 0x61, 0x6f, 0x61, 0x73, 0x61, 0x74};
178 const uint16_t HuffDecoderCommon::table1_1_inner_[22] = {
179     0x000a, 0x010a, 0x020a, 0x028a, 0x038a, 0x048a, 0x058a, 0x068a,
180     0x078a, 0x088a, 0x0015, 0x098a, 0x0a8a, 0x030a, 0x0b8a, 0x0c0a,
181     0x0d0a, 0x0e0a, 0x0f0a, 0x100a, 0x110a, 0x0315};
182 const uint8_t HuffDecoderCommon::table1_2_emit_[36] = {
183     0x63, 0x30, 0x63, 0x31, 0x63, 0x32, 0x63, 0x61, 0x63, 0x63, 0x65, 0x63,
184     0x69, 0x63, 0x6f, 0x63, 0x73, 0x63, 0x74, 0x65, 0x30, 0x65, 0x31, 0x65,
185     0x32, 0x65, 0x61, 0x65, 0x65, 0x69, 0x65, 0x6f, 0x65, 0x73, 0x65, 0x74};
186 const uint16_t HuffDecoderCommon::table1_2_inner_[22] = {
187     0x000a, 0x010a, 0x020a, 0x030a, 0x040a, 0x048a, 0x058a, 0x068a,
188     0x078a, 0x088a, 0x0015, 0x098a, 0x0a8a, 0x0b8a, 0x0c8a, 0x050a,
189     0x0d8a, 0x0e0a, 0x0f0a, 0x100a, 0x110a, 0x0515};
190 const uint8_t HuffDecoderCommon::table1_3_emit_[36] = {
191     0x69, 0x30, 0x69, 0x31, 0x69, 0x32, 0x69, 0x61, 0x69, 0x63, 0x69, 0x65,
192     0x69, 0x69, 0x6f, 0x69, 0x73, 0x69, 0x74, 0x6f, 0x30, 0x6f, 0x31, 0x6f,
193     0x32, 0x6f, 0x61, 0x6f, 0x63, 0x6f, 0x65, 0x6f, 0x6f, 0x73, 0x6f, 0x74};
194 const uint16_t HuffDecoderCommon::table1_3_inner_[22] = {
195     0x000a, 0x010a, 0x020a, 0x030a, 0x040a, 0x050a, 0x060a, 0x068a,
196     0x078a, 0x088a, 0x0015, 0x098a, 0x0a8a, 0x0b8a, 0x0c8a, 0x0d8a,
197     0x0e8a, 0x070a, 0x0f8a, 0x100a, 0x110a, 0x0715};
198 const uint8_t HuffDecoderCommon::table1_4_emit_[38] = {
199     0x73, 0x30, 0x73, 0x31, 0x73, 0x32, 0x73, 0x61, 0x73, 0x63,
200     0x73, 0x65, 0x73, 0x69, 0x73, 0x6f, 0x73, 0x73, 0x74, 0x30,
201     0x74, 0x31, 0x74, 0x32, 0x74, 0x61, 0x74, 0x63, 0x74, 0x65,
202     0x74, 0x69, 0x74, 0x6f, 0x74, 0x73, 0x74, 0x74};
203 const uint16_t HuffDecoderCommon::table1_4_inner_[22] = {
204     0x000a, 0x010a, 0x020a, 0x030a, 0x040a, 0x050a, 0x060a, 0x070a,
205     0x080a, 0x088a, 0x0015, 0x090a, 0x0a0a, 0x0b0a, 0x0c0a, 0x0d0a,
206     0x0e0a, 0x0f0a, 0x100a, 0x110a, 0x120a, 0x0915};
207 const uint16_t HuffDecoderCommon::table1_5_inner_[4] = {0x0016, 0x0096, 0x0116,
208                                                         0x0196};
209 const uint8_t HuffDecoderCommon::table1_5_outer_[64] = {
210     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
211     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
212     2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3};
213 const uint16_t HuffDecoderCommon::table1_11_inner_[6] = {
214     0x0016, 0x0096, 0x0117, 0x0197, 0x0217, 0x0297};
215 const uint8_t HuffDecoderCommon::table1_11_outer_[64] = {
216     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
217     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3,
218     3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5};
219 const uint16_t HuffDecoderCommon::table1_12_inner_[8] = {
220     0x0017, 0x0097, 0x0117, 0x0197, 0x0217, 0x0297, 0x0317, 0x0397};
221 const uint8_t HuffDecoderCommon::table1_12_outer_[64] = {
222     0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
223     2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5,
224     5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7};
225 const uint8_t HuffDecoderCommon::table1_15_emit_[15] = {
226     0x77, 0x78, 0x79, 0x7a, 0x26, 0x2a, 0x2c, 0x3b,
227     0x58, 0x5a, 0x21, 0x22, 0x28, 0x29, 0x3f};
228 const uint16_t HuffDecoderCommon::table1_15_inner_[18] = {
229     0x0017, 0x0097, 0x0117, 0x0197, 0x0218, 0x0298, 0x0318, 0x0398, 0x0418,
230     0x0498, 0x051a, 0x059a, 0x061a, 0x069a, 0x071a, 0x002a, 0x003a, 0x004a};
231 const uint8_t HuffDecoderCommon::table1_15_outer_[64] = {
232     0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,  1,  1,  1,  2,  2,  2,  2, 2, 2,
233     2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4,  4,  5,  5,  5,  5,  6,  6, 6, 6,
234     7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 11, 12, 13, 14, 15, 16, 17};
235 const uint8_t* const HuffDecoderCommon::table1_emit_[16] = {
236     table1_0_emit_,  table1_1_emit_,  table1_2_emit_,  table1_3_emit_,
237     table1_4_emit_,  table6_5_emit_,  table6_6_emit_,  table6_7_emit_,
238     table6_8_emit_,  table6_9_emit_,  table6_10_emit_, table6_11_emit_,
239     table6_12_emit_, table6_13_emit_, table6_14_emit_, table1_15_emit_,
240 };
241 const uint16_t* const HuffDecoderCommon::table1_inner_[16] = {
242     table1_0_inner_,  table1_1_inner_,  table1_2_inner_,  table1_3_inner_,
243     table1_4_inner_,  table1_5_inner_,  table1_5_inner_,  table1_5_inner_,
244     table1_5_inner_,  table1_5_inner_,  table1_5_inner_,  table1_11_inner_,
245     table1_12_inner_, table1_12_inner_, table1_12_inner_, table1_15_inner_,
246 };
247 const uint8_t* const HuffDecoderCommon::table1_outer_[16] = {
248     table1_0_outer_,  table1_0_outer_,  table1_0_outer_,  table1_0_outer_,
249     table1_0_outer_,  table1_5_outer_,  table1_5_outer_,  table1_5_outer_,
250     table1_5_outer_,  table1_5_outer_,  table1_5_outer_,  table1_11_outer_,
251     table1_12_outer_, table1_12_outer_, table1_12_outer_, table1_15_outer_,
252 };
253 const uint8_t HuffDecoderCommon::table9_0_emit_[6] = {0x00, 0x24, 0x40,
254                                                       0x5b, 0x5d, 0x7e};
255 const uint8_t HuffDecoderCommon::table9_0_inner_[8] = {0x00, 0x04, 0x08, 0x0c,
256                                                        0x10, 0x14, 0x01, 0x02};
257 const uint8_t HuffDecoderCommon::table10_0_emit_[8] = {0x00, 0x24, 0x40, 0x5b,
258                                                        0x5d, 0x7e, 0x5e, 0x7d};
259 const uint8_t HuffDecoderCommon::table10_0_inner_[10] = {
260     0x00, 0x01, 0x05, 0x09, 0x0d, 0x11, 0x15, 0x19, 0x1d, 0x02};
261 const uint8_t HuffDecoderCommon::table10_0_outer_[16] = {
262     0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 7, 8, 0, 9};
263 const uint8_t HuffDecoderCommon::table11_0_emit_[11] = {
264     0x00, 0x24, 0x40, 0x5b, 0x5d, 0x7e, 0x5e, 0x7d, 0x3c, 0x60, 0x7b};
265 const uint8_t HuffDecoderCommon::table11_0_ops_[32] = {
266     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
267     0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00,
268     0x00, 0x15, 0x00, 0x19, 0x00, 0x1d, 0x21, 0x25, 0x29, 0x02};
269 const uint8_t HuffDecoderCommon::table12_0_ops_[64] = {
270     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
271     0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
272     0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00,
273     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00,
274     0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
275     0x1d, 0x00, 0x21, 0x00, 0x25, 0x00, 0x29, 0x00, 0x02};
276 const uint8_t HuffDecoderCommon::table13_0_ops_[128] = {
277     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
278     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
279     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
280     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
281     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
282     0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
283     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00,
284     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15,
285     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00,
286     0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x25,
287     0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x02};
288 const uint8_t HuffDecoderCommon::table14_0_emit_[40] = {
289     0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x61, 0x00, 0x63,
290     0x00, 0x65, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x74,
291     0x24, 0x30, 0x24, 0x31, 0x24, 0x32, 0x24, 0x61, 0x24, 0x63,
292     0x24, 0x65, 0x24, 0x69, 0x24, 0x6f, 0x24, 0x73, 0x24, 0x74};
293 const uint8_t HuffDecoderCommon::table14_0_ops_[64] = {
294     0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x01,
295     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
296     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x50,
297     0x58, 0x60, 0x68, 0x70, 0x78, 0x80, 0x88, 0x90, 0x98, 0x01, 0x01,
298     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
299     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x52};
300 const uint8_t HuffDecoderCommon::table14_1_emit_[40] = {
301     0x40, 0x30, 0x40, 0x31, 0x40, 0x32, 0x40, 0x61, 0x40, 0x63,
302     0x40, 0x65, 0x40, 0x69, 0x40, 0x6f, 0x40, 0x73, 0x40, 0x74,
303     0x5b, 0x30, 0x5b, 0x31, 0x5b, 0x32, 0x5b, 0x61, 0x5b, 0x63,
304     0x5b, 0x65, 0x5b, 0x69, 0x5b, 0x6f, 0x5b, 0x73, 0x5b, 0x74};
305 const uint8_t HuffDecoderCommon::table14_2_emit_[40] = {
306     0x5d, 0x30, 0x5d, 0x31, 0x5d, 0x32, 0x5d, 0x61, 0x5d, 0x63,
307     0x5d, 0x65, 0x5d, 0x69, 0x5d, 0x6f, 0x5d, 0x73, 0x5d, 0x74,
308     0x7e, 0x30, 0x7e, 0x31, 0x7e, 0x32, 0x7e, 0x61, 0x7e, 0x63,
309     0x7e, 0x65, 0x7e, 0x69, 0x7e, 0x6f, 0x7e, 0x73, 0x7e, 0x74};
310 const uint8_t HuffDecoderCommon::table14_3_emit_[5] = {0x5e, 0x7d, 0x3c, 0x60,
311                                                        0x7b};
312 const uint8_t HuffDecoderCommon::table14_3_ops_[64] = {
313     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
314     0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
315     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x01,
316     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0a, 0x01, 0x01, 0x01, 0x01,
317     0x01, 0x01, 0x01, 0x0e, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
318     0x12, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03};
319 const uint8_t* const HuffDecoderCommon::table14_emit_[4] = {
320     table14_0_emit_,
321     table14_1_emit_,
322     table14_2_emit_,
323     table14_3_emit_,
324 };
325 const uint8_t* const HuffDecoderCommon::table14_ops_[4] = {
326     table14_0_ops_,
327     table14_0_ops_,
328     table14_0_ops_,
329     table14_3_ops_,
330 };
331 const uint8_t HuffDecoderCommon::table8_0_emit_[1] = {0x00};
332 const uint16_t HuffDecoderCommon::table8_0_ops_[64] = {
333     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
334     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
335     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
336     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
337     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
338     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
339     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003,
340     0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003, 0x0003};
341 const uint8_t HuffDecoderCommon::table8_1_emit_[1] = {0x24};
342 const uint8_t HuffDecoderCommon::table8_2_emit_[1] = {0x40};
343 const uint8_t HuffDecoderCommon::table8_3_emit_[1] = {0x5b};
344 const uint8_t HuffDecoderCommon::table8_4_emit_[1] = {0x5d};
345 const uint8_t HuffDecoderCommon::table8_5_emit_[1] = {0x7e};
346 const uint8_t HuffDecoderCommon::table8_6_emit_[2] = {0x5e, 0x7d};
347 const uint16_t HuffDecoderCommon::table8_6_ops_[64] = {
348     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
349     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
350     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
351     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
352     0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104,
353     0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104,
354     0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104,
355     0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104, 0x0104};
356 const uint8_t HuffDecoderCommon::table8_7_emit_[6] = {0x3c, 0x60, 0x7b,
357                                                       0x5c, 0xc3, 0xd0};
358 const uint16_t HuffDecoderCommon::table8_7_ops_[64] = {
359     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
360     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
361     0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105,
362     0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105, 0x0105,
363     0x0205, 0x0205, 0x0205, 0x0205, 0x0205, 0x0205, 0x0205, 0x0205,
364     0x0205, 0x0205, 0x0205, 0x0205, 0x0205, 0x0205, 0x0205, 0x0205,
365     0x0309, 0x0409, 0x0509, 0x0019, 0x0029, 0x0039, 0x0049, 0x0059,
366     0x0069, 0x0079, 0x0089, 0x0099, 0x00a9, 0x00b9, 0x00c9, 0x00d9};
367 const uint8_t* const HuffDecoderCommon::table8_emit_[8] = {
368     table8_0_emit_, table8_1_emit_, table8_2_emit_, table8_3_emit_,
369     table8_4_emit_, table8_5_emit_, table8_6_emit_, table8_7_emit_,
370 };
371 const uint16_t* const HuffDecoderCommon::table8_ops_[8] = {
372     table8_0_ops_, table8_0_ops_, table8_0_ops_, table8_0_ops_,
373     table8_0_ops_, table8_0_ops_, table8_6_ops_, table8_7_ops_,
374 };
375 const uint8_t HuffDecoderCommon::table22_0_emit_[8] = {0x9a, 0x9c, 0xa0, 0xa3,
376                                                        0xa4, 0xa9, 0xaa, 0xad};
377 const uint8_t HuffDecoderCommon::table22_0_inner_[8] = {0x03, 0x07, 0x0b, 0x0f,
378                                                         0x13, 0x17, 0x1b, 0x1f};
379 const uint8_t HuffDecoderCommon::table23_0_emit_[8] = {0xb2, 0xb5, 0xb9, 0xba,
380                                                        0xbb, 0xbd, 0xbe, 0xc4};
381 const uint8_t HuffDecoderCommon::table24_0_emit_[16] = {
382     0x93, 0x95, 0x96, 0x97, 0x98, 0x9b, 0x9d, 0x9e,
383     0xa5, 0xa6, 0xa8, 0xae, 0xaf, 0xb4, 0xb6, 0xb7};
384 const uint8_t HuffDecoderCommon::table24_0_inner_[16] = {
385     0x04, 0x0c, 0x14, 0x1c, 0x24, 0x2c, 0x34, 0x3c,
386     0x44, 0x4c, 0x54, 0x5c, 0x64, 0x6c, 0x74, 0x7c};
387 const uint8_t HuffDecoderCommon::table25_0_emit_[7] = {0xe6, 0x81, 0x84, 0x85,
388                                                        0x86, 0x88, 0x92};
389 const uint8_t HuffDecoderCommon::table25_0_inner_[7] = {0x02, 0x07, 0x0b, 0x0f,
390                                                         0x13, 0x17, 0x1b};
391 const uint8_t HuffDecoderCommon::table28_0_inner_[5] = {0x00, 0x02, 0x04, 0x06,
392                                                         0x01};
393 const uint8_t HuffDecoderCommon::table27_0_emit_[12] = {
394     0xc6, 0xe4, 0xe8, 0xe9, 0x01, 0x87, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8f};
395 const uint8_t HuffDecoderCommon::table27_0_inner_[12] = {
396     0x03, 0x0b, 0x13, 0x1b, 0x24, 0x2c, 0x34, 0x3c, 0x44, 0x4c, 0x54, 0x5c};
397 const uint8_t HuffDecoderCommon::table30_0_emit_[5] = {0xbc, 0xbf, 0xc5, 0xe7,
398                                                        0xef};
399 const uint8_t HuffDecoderCommon::table30_0_inner_[7] = {0x00, 0x04, 0x08, 0x0c,
400                                                         0x10, 0x01, 0x02};
401 const uint8_t HuffDecoderCommon::table31_0_emit_[17] = {
402     0xbc, 0xbf, 0xc5, 0xe7, 0xef, 0x09, 0x8e, 0x90, 0x91,
403     0x94, 0x9f, 0xab, 0xce, 0xd7, 0xe1, 0xec, 0xed};
404 const uint8_t HuffDecoderCommon::table31_0_ops_[32] = {
405     0x00, 0x01, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x15,
406     0x19, 0x1d, 0x21, 0x25, 0x29, 0x2d, 0x31, 0x35, 0x39, 0x3d, 0x41,
407     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02};
408 const uint8_t HuffDecoderCommon::table32_0_emit_[21] = {
409     0xbc, 0xbf, 0xc5, 0xe7, 0xef, 0x09, 0x8e, 0x90, 0x91, 0x94, 0x9f,
410     0xab, 0xce, 0xd7, 0xe1, 0xec, 0xed, 0xc7, 0xcf, 0xea, 0xeb};
411 const uint8_t HuffDecoderCommon::table32_0_ops_[64] = {
412     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
413     0x09, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x11, 0x00, 0x15,
414     0x00, 0x19, 0x00, 0x1d, 0x00, 0x21, 0x00, 0x25, 0x00, 0x29, 0x00,
415     0x2d, 0x00, 0x31, 0x00, 0x35, 0x00, 0x39, 0x00, 0x3d, 0x00, 0x41,
416     0x45, 0x49, 0x4d, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
417     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02};
418 const uint8_t HuffDecoderCommon::table33_0_emit_[36] = {
419     0xbc, 0xbf, 0xc5, 0xe7, 0xef, 0x09, 0x8e, 0x90, 0x91, 0x94, 0x9f, 0xab,
420     0xce, 0xd7, 0xe1, 0xec, 0xed, 0xc7, 0xcf, 0xea, 0xeb, 0xc0, 0xc1, 0xc8,
421     0xc9, 0xca, 0xcd, 0xd2, 0xd5, 0xda, 0xdb, 0xee, 0xf0, 0xf2, 0xf3, 0xff};
422 const uint8_t HuffDecoderCommon::table33_0_ops_[128] = {
423     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
424     0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
425     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00,
426     0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x19,
427     0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x25,
428     0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x31,
429     0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x3d,
430     0x00, 0x00, 0x00, 0x41, 0x00, 0x45, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x51,
431     0x55, 0x59, 0x5d, 0x61, 0x65, 0x69, 0x6d, 0x71, 0x75, 0x79, 0x7d, 0x81,
432     0x85, 0x89, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
433     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02};
434 const uint8_t HuffDecoderCommon::table34_0_emit_[55] = {
435     0xbc, 0xbf, 0xc5, 0xe7, 0xef, 0x09, 0x8e, 0x90, 0x91, 0x94, 0x9f,
436     0xab, 0xce, 0xd7, 0xe1, 0xec, 0xed, 0xc7, 0xcf, 0xea, 0xeb, 0xc0,
437     0xc1, 0xc8, 0xc9, 0xca, 0xcd, 0xd2, 0xd5, 0xda, 0xdb, 0xee, 0xf0,
438     0xf2, 0xf3, 0xff, 0xcb, 0xcc, 0xd3, 0xd4, 0xd6, 0xdd, 0xde, 0xdf,
439     0xf1, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe};
440 const uint8_t HuffDecoderCommon::table34_0_ops_[256] = {
441     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
442     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
443     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
444     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
445     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
446     0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
447     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00,
448     0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19,
449     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00,
450     0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25,
451     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00,
452     0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31,
453     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00,
454     0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d,
455     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x45,
456     0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x51,
457     0x00, 0x55, 0x00, 0x59, 0x00, 0x5d, 0x00, 0x61, 0x00, 0x65, 0x00, 0x69,
458     0x00, 0x6d, 0x00, 0x71, 0x00, 0x75, 0x00, 0x79, 0x00, 0x7d, 0x00, 0x81,
459     0x00, 0x85, 0x00, 0x89, 0x00, 0x8d, 0x91, 0x95, 0x99, 0x9d, 0xa1, 0xa5,
460     0xa9, 0xad, 0xb1, 0xb5, 0xb9, 0xbd, 0xc1, 0xc5, 0xc9, 0xcd, 0xd1, 0xd5,
461     0xd9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
462     0x00, 0x00, 0x00, 0x02};
463 const uint8_t HuffDecoderCommon::table35_0_emit_[40] = {
464     0xbc, 0x30, 0xbc, 0x31, 0xbc, 0x32, 0xbc, 0x61, 0xbc, 0x63,
465     0xbc, 0x65, 0xbc, 0x69, 0xbc, 0x6f, 0xbc, 0x73, 0xbc, 0x74,
466     0xbf, 0x30, 0xbf, 0x31, 0xbf, 0x32, 0xbf, 0x61, 0xbf, 0x63,
467     0xbf, 0x65, 0xbf, 0x69, 0xbf, 0x6f, 0xbf, 0x73, 0xbf, 0x74};
468 const uint8_t HuffDecoderCommon::table35_1_emit_[40] = {
469     0xc5, 0x30, 0xc5, 0x31, 0xc5, 0x32, 0xc5, 0x61, 0xc5, 0x63,
470     0xc5, 0x65, 0xc5, 0x69, 0xc5, 0x6f, 0xc5, 0x73, 0xc5, 0x74,
471     0xe7, 0x30, 0xe7, 0x31, 0xe7, 0x32, 0xe7, 0x61, 0xe7, 0x63,
472     0xe7, 0x65, 0xe7, 0x69, 0xe7, 0x6f, 0xe7, 0x73, 0xe7, 0x74};
473 const uint8_t HuffDecoderCommon::table35_2_emit_[22] = {
474     0xef, 0x30, 0xef, 0x31, 0xef, 0x32, 0xef, 0x61, 0xef, 0x63, 0xef,
475     0x65, 0xef, 0x69, 0xef, 0x6f, 0xef, 0x73, 0xef, 0x74, 0x09, 0x8e};
476 const uint8_t HuffDecoderCommon::table35_2_ops_[64] = {
477     0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x01,
478     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
479     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01,
480     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
481     0x01, 0x01, 0x01, 0x52, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
482     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x56};
483 const uint8_t HuffDecoderCommon::table35_3_emit_[4] = {0x90, 0x91, 0x94, 0x9f};
484 const uint8_t HuffDecoderCommon::table35_3_ops_[64] = {
485     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
486     0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
487     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x01,
488     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
489     0x01, 0x01, 0x01, 0x0a, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
490     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0e};
491 const uint8_t HuffDecoderCommon::table35_4_emit_[4] = {0xab, 0xce, 0xd7, 0xe1};
492 const uint8_t HuffDecoderCommon::table35_5_emit_[6] = {0xec, 0xed, 0xc7,
493                                                        0xcf, 0xea, 0xeb};
494 const uint8_t HuffDecoderCommon::table35_5_ops_[64] = {
495     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
496     0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
497     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x01,
498     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0a, 0x01, 0x01, 0x01, 0x01,
499     0x01, 0x01, 0x01, 0x0e, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
500     0x12, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x16};
501 const uint8_t HuffDecoderCommon::table35_6_emit_[17] = {
502     0xc0, 0xc1, 0xc8, 0xc9, 0xca, 0xcd, 0xd2, 0xd5, 0xda,
503     0xdb, 0xee, 0xf0, 0xf2, 0xf3, 0xff, 0xcb, 0xcc};
504 const uint8_t HuffDecoderCommon::table35_6_ops_[64] = {
505     0x01, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x06, 0x01, 0x01, 0x01,
506     0x0a, 0x01, 0x01, 0x01, 0x0e, 0x01, 0x01, 0x01, 0x12, 0x01, 0x01,
507     0x01, 0x16, 0x01, 0x01, 0x01, 0x1a, 0x01, 0x01, 0x01, 0x1e, 0x01,
508     0x01, 0x01, 0x22, 0x01, 0x01, 0x01, 0x26, 0x01, 0x01, 0x01, 0x2a,
509     0x01, 0x01, 0x01, 0x2e, 0x01, 0x01, 0x01, 0x32, 0x01, 0x01, 0x01,
510     0x36, 0x01, 0x01, 0x01, 0x3a, 0x01, 0x3e, 0x01, 0x42};
511 const uint8_t HuffDecoderCommon::table35_7_emit_[46] = {
512     0xd3, 0xd4, 0xd6, 0xdd, 0xde, 0xdf, 0xf1, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
513     0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
514     0x0b, 0x0c, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x17, 0x18,
515     0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x7f, 0xdc, 0xf9};
516 const uint8_t HuffDecoderCommon::table35_7_ops_[64] = {
517     0x01, 0x02, 0x01, 0x06, 0x01, 0x0a, 0x01, 0x0e, 0x01, 0x12, 0x01,
518     0x16, 0x01, 0x1a, 0x01, 0x1e, 0x01, 0x22, 0x01, 0x26, 0x01, 0x2a,
519     0x01, 0x2e, 0x01, 0x32, 0x01, 0x36, 0x01, 0x3a, 0x01, 0x3e, 0x01,
520     0x42, 0x46, 0x4a, 0x4e, 0x52, 0x56, 0x5a, 0x5e, 0x62, 0x66, 0x6a,
521     0x6e, 0x72, 0x76, 0x7a, 0x7e, 0x82, 0x86, 0x8a, 0x8e, 0x92, 0x96,
522     0x9a, 0x9e, 0xa2, 0xa6, 0xaa, 0xae, 0xb2, 0xb6, 0x03};
523 const uint8_t* const HuffDecoderCommon::table35_emit_[8] = {
524     table35_0_emit_, table35_1_emit_, table35_2_emit_, table35_3_emit_,
525     table35_4_emit_, table35_5_emit_, table35_6_emit_, table35_7_emit_,
526 };
527 const uint8_t* const HuffDecoderCommon::table35_ops_[8] = {
528     table14_0_ops_, table14_0_ops_, table35_2_ops_, table35_3_ops_,
529     table35_3_ops_, table35_5_ops_, table35_6_ops_, table35_7_ops_,
530 };
531 const uint8_t HuffDecoderCommon::table36_0_emit_[72] = {
532     0xbc, 0x30, 0xbc, 0x31, 0xbc, 0x32, 0xbc, 0x61, 0xbc, 0x63, 0xbc, 0x65,
533     0xbc, 0x69, 0xbc, 0x6f, 0xbc, 0x73, 0xbc, 0x74, 0xbc, 0x20, 0xbc, 0x25,
534     0xbc, 0x2d, 0xbc, 0x2e, 0xbc, 0x2f, 0xbc, 0x33, 0xbc, 0x34, 0xbc, 0x35,
535     0xbc, 0x36, 0xbc, 0x37, 0xbc, 0x38, 0xbc, 0x39, 0xbc, 0x3d, 0xbc, 0x41,
536     0xbc, 0x5f, 0xbc, 0x62, 0xbc, 0x64, 0xbc, 0x66, 0xbc, 0x67, 0xbc, 0x68,
537     0xbc, 0x6c, 0xbc, 0x6d, 0xbc, 0x6e, 0xbc, 0x70, 0xbc, 0x72, 0xbc, 0x75};
538 const uint16_t HuffDecoderCommon::table36_0_ops_[64] = {
539     0x0000, 0x0001, 0x0000, 0x0009, 0x0000, 0x0011, 0x0000, 0x0019,
540     0x0000, 0x0021, 0x0000, 0x0029, 0x0000, 0x0031, 0x0000, 0x0039,
541     0x0000, 0x0041, 0x0000, 0x0049, 0x0051, 0x0059, 0x0061, 0x0069,
542     0x0071, 0x0079, 0x0081, 0x0089, 0x0091, 0x0099, 0x00a1, 0x00a9,
543     0x00b1, 0x00b9, 0x00c1, 0x00c9, 0x00d1, 0x00d9, 0x00e1, 0x00e9,
544     0x00f1, 0x00f9, 0x0101, 0x0109, 0x0111, 0x0119, 0x0000, 0x0000,
545     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
546     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002};
547 const uint8_t HuffDecoderCommon::table36_1_emit_[72] = {
548     0xbf, 0x30, 0xbf, 0x31, 0xbf, 0x32, 0xbf, 0x61, 0xbf, 0x63, 0xbf, 0x65,
549     0xbf, 0x69, 0xbf, 0x6f, 0xbf, 0x73, 0xbf, 0x74, 0xbf, 0x20, 0xbf, 0x25,
550     0xbf, 0x2d, 0xbf, 0x2e, 0xbf, 0x2f, 0xbf, 0x33, 0xbf, 0x34, 0xbf, 0x35,
551     0xbf, 0x36, 0xbf, 0x37, 0xbf, 0x38, 0xbf, 0x39, 0xbf, 0x3d, 0xbf, 0x41,
552     0xbf, 0x5f, 0xbf, 0x62, 0xbf, 0x64, 0xbf, 0x66, 0xbf, 0x67, 0xbf, 0x68,
553     0xbf, 0x6c, 0xbf, 0x6d, 0xbf, 0x6e, 0xbf, 0x70, 0xbf, 0x72, 0xbf, 0x75};
554 const uint8_t HuffDecoderCommon::table36_2_emit_[72] = {
555     0xc5, 0x30, 0xc5, 0x31, 0xc5, 0x32, 0xc5, 0x61, 0xc5, 0x63, 0xc5, 0x65,
556     0xc5, 0x69, 0xc5, 0x6f, 0xc5, 0x73, 0xc5, 0x74, 0xc5, 0x20, 0xc5, 0x25,
557     0xc5, 0x2d, 0xc5, 0x2e, 0xc5, 0x2f, 0xc5, 0x33, 0xc5, 0x34, 0xc5, 0x35,
558     0xc5, 0x36, 0xc5, 0x37, 0xc5, 0x38, 0xc5, 0x39, 0xc5, 0x3d, 0xc5, 0x41,
559     0xc5, 0x5f, 0xc5, 0x62, 0xc5, 0x64, 0xc5, 0x66, 0xc5, 0x67, 0xc5, 0x68,
560     0xc5, 0x6c, 0xc5, 0x6d, 0xc5, 0x6e, 0xc5, 0x70, 0xc5, 0x72, 0xc5, 0x75};
561 const uint8_t HuffDecoderCommon::table36_3_emit_[72] = {
562     0xe7, 0x30, 0xe7, 0x31, 0xe7, 0x32, 0xe7, 0x61, 0xe7, 0x63, 0xe7, 0x65,
563     0xe7, 0x69, 0xe7, 0x6f, 0xe7, 0x73, 0xe7, 0x74, 0xe7, 0x20, 0xe7, 0x25,
564     0xe7, 0x2d, 0xe7, 0x2e, 0xe7, 0x2f, 0xe7, 0x33, 0xe7, 0x34, 0xe7, 0x35,
565     0xe7, 0x36, 0xe7, 0x37, 0xe7, 0x38, 0xe7, 0x39, 0xe7, 0x3d, 0xe7, 0x41,
566     0xe7, 0x5f, 0xe7, 0x62, 0xe7, 0x64, 0xe7, 0x66, 0xe7, 0x67, 0xe7, 0x68,
567     0xe7, 0x6c, 0xe7, 0x6d, 0xe7, 0x6e, 0xe7, 0x70, 0xe7, 0x72, 0xe7, 0x75};
568 const uint8_t HuffDecoderCommon::table36_4_emit_[72] = {
569     0xef, 0x30, 0xef, 0x31, 0xef, 0x32, 0xef, 0x61, 0xef, 0x63, 0xef, 0x65,
570     0xef, 0x69, 0xef, 0x6f, 0xef, 0x73, 0xef, 0x74, 0xef, 0x20, 0xef, 0x25,
571     0xef, 0x2d, 0xef, 0x2e, 0xef, 0x2f, 0xef, 0x33, 0xef, 0x34, 0xef, 0x35,
572     0xef, 0x36, 0xef, 0x37, 0xef, 0x38, 0xef, 0x39, 0xef, 0x3d, 0xef, 0x41,
573     0xef, 0x5f, 0xef, 0x62, 0xef, 0x64, 0xef, 0x66, 0xef, 0x67, 0xef, 0x68,
574     0xef, 0x6c, 0xef, 0x6d, 0xef, 0x6e, 0xef, 0x70, 0xef, 0x72, 0xef, 0x75};
575 const uint8_t HuffDecoderCommon::table36_5_emit_[40] = {
576     0x09, 0x30, 0x09, 0x31, 0x09, 0x32, 0x09, 0x61, 0x09, 0x63,
577     0x09, 0x65, 0x09, 0x69, 0x09, 0x6f, 0x09, 0x73, 0x09, 0x74,
578     0x8e, 0x30, 0x8e, 0x31, 0x8e, 0x32, 0x8e, 0x61, 0x8e, 0x63,
579     0x8e, 0x65, 0x8e, 0x69, 0x8e, 0x6f, 0x8e, 0x73, 0x8e, 0x74};
580 const uint16_t HuffDecoderCommon::table36_5_ops_[64] = {
581     0x0001, 0x0009, 0x0011, 0x0019, 0x0021, 0x0029, 0x0031, 0x0039,
582     0x0041, 0x0049, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
583     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
584     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
585     0x0051, 0x0059, 0x0061, 0x0069, 0x0071, 0x0079, 0x0081, 0x0089,
586     0x0091, 0x0099, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
587     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
588     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0052};
589 const uint8_t HuffDecoderCommon::table36_6_emit_[40] = {
590     0x90, 0x30, 0x90, 0x31, 0x90, 0x32, 0x90, 0x61, 0x90, 0x63,
591     0x90, 0x65, 0x90, 0x69, 0x90, 0x6f, 0x90, 0x73, 0x90, 0x74,
592     0x91, 0x30, 0x91, 0x31, 0x91, 0x32, 0x91, 0x61, 0x91, 0x63,
593     0x91, 0x65, 0x91, 0x69, 0x91, 0x6f, 0x91, 0x73, 0x91, 0x74};
594 const uint8_t HuffDecoderCommon::table36_7_emit_[40] = {
595     0x94, 0x30, 0x94, 0x31, 0x94, 0x32, 0x94, 0x61, 0x94, 0x63,
596     0x94, 0x65, 0x94, 0x69, 0x94, 0x6f, 0x94, 0x73, 0x94, 0x74,
597     0x9f, 0x30, 0x9f, 0x31, 0x9f, 0x32, 0x9f, 0x61, 0x9f, 0x63,
598     0x9f, 0x65, 0x9f, 0x69, 0x9f, 0x6f, 0x9f, 0x73, 0x9f, 0x74};
599 const uint8_t HuffDecoderCommon::table36_8_emit_[40] = {
600     0xab, 0x30, 0xab, 0x31, 0xab, 0x32, 0xab, 0x61, 0xab, 0x63,
601     0xab, 0x65, 0xab, 0x69, 0xab, 0x6f, 0xab, 0x73, 0xab, 0x74,
602     0xce, 0x30, 0xce, 0x31, 0xce, 0x32, 0xce, 0x61, 0xce, 0x63,
603     0xce, 0x65, 0xce, 0x69, 0xce, 0x6f, 0xce, 0x73, 0xce, 0x74};
604 const uint8_t HuffDecoderCommon::table36_9_emit_[40] = {
605     0xd7, 0x30, 0xd7, 0x31, 0xd7, 0x32, 0xd7, 0x61, 0xd7, 0x63,
606     0xd7, 0x65, 0xd7, 0x69, 0xd7, 0x6f, 0xd7, 0x73, 0xd7, 0x74,
607     0xe1, 0x30, 0xe1, 0x31, 0xe1, 0x32, 0xe1, 0x61, 0xe1, 0x63,
608     0xe1, 0x65, 0xe1, 0x69, 0xe1, 0x6f, 0xe1, 0x73, 0xe1, 0x74};
609 const uint8_t HuffDecoderCommon::table36_10_emit_[40] = {
610     0xec, 0x30, 0xec, 0x31, 0xec, 0x32, 0xec, 0x61, 0xec, 0x63,
611     0xec, 0x65, 0xec, 0x69, 0xec, 0x6f, 0xec, 0x73, 0xec, 0x74,
612     0xed, 0x30, 0xed, 0x31, 0xed, 0x32, 0xed, 0x61, 0xed, 0x63,
613     0xed, 0x65, 0xed, 0x69, 0xed, 0x6f, 0xed, 0x73, 0xed, 0x74};
614 const uint8_t HuffDecoderCommon::table36_11_emit_[4] = {0xc7, 0xcf, 0xea, 0xeb};
615 const uint16_t HuffDecoderCommon::table36_11_ops_[64] = {
616     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
617     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
618     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
619     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
620     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
621     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a,
622     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
623     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000e};
624 const uint8_t HuffDecoderCommon::table36_12_emit_[8] = {0xc0, 0xc1, 0xc8, 0xc9,
625                                                         0xca, 0xcd, 0xd2, 0xd5};
626 const uint16_t HuffDecoderCommon::table36_12_ops_[64] = {
627     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
628     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
629     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a,
630     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000e,
631     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0012,
632     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0016,
633     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x001a,
634     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x001e};
635 const uint8_t HuffDecoderCommon::table36_13_emit_[9] = {
636     0xda, 0xdb, 0xee, 0xf0, 0xf2, 0xf3, 0xff, 0xcb, 0xcc};
637 const uint16_t HuffDecoderCommon::table36_13_ops_[64] = {
638     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
639     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006,
640     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a,
641     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000e,
642     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0012,
643     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0016,
644     0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x001a,
645     0x0000, 0x0000, 0x0000, 0x001e, 0x0000, 0x0000, 0x0000, 0x0022};
646 const uint8_t HuffDecoderCommon::table36_14_emit_[16] = {
647     0xd3, 0xd4, 0xd6, 0xdd, 0xde, 0xdf, 0xf1, 0xf4,
648     0xf5, 0xf6, 0xf7, 0xf8, 0xfa, 0xfb, 0xfc, 0xfd};
649 const uint16_t HuffDecoderCommon::table36_14_ops_[64] = {
650     0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0006,
651     0x0000, 0x0000, 0x0000, 0x000a, 0x0000, 0x0000, 0x0000, 0x000e,
652     0x0000, 0x0000, 0x0000, 0x0012, 0x0000, 0x0000, 0x0000, 0x0016,
653     0x0000, 0x0000, 0x0000, 0x001a, 0x0000, 0x0000, 0x0000, 0x001e,
654     0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0000, 0x0026,
655     0x0000, 0x0000, 0x0000, 0x002a, 0x0000, 0x0000, 0x0000, 0x002e,
656     0x0000, 0x0000, 0x0000, 0x0032, 0x0000, 0x0000, 0x0000, 0x0036,
657     0x0000, 0x0000, 0x0000, 0x003a, 0x0000, 0x0000, 0x0000, 0x003e};
658 const uint8_t HuffDecoderCommon::table36_15_emit_[30] = {
659     0xfe, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0b, 0x0c,
660     0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x17, 0x18,
661     0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x7f, 0xdc, 0xf9};
662 const uint16_t HuffDecoderCommon::table36_15_ops_[64] = {
663     0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0006, 0x0000, 0x000a,
664     0x0000, 0x000e, 0x0000, 0x0012, 0x0000, 0x0016, 0x0000, 0x001a,
665     0x0000, 0x001e, 0x0000, 0x0022, 0x0000, 0x0026, 0x0000, 0x002a,
666     0x0000, 0x002e, 0x0000, 0x0032, 0x0000, 0x0036, 0x0000, 0x003a,
667     0x0000, 0x003e, 0x0000, 0x0042, 0x0000, 0x0046, 0x0000, 0x004a,
668     0x0000, 0x004e, 0x0000, 0x0052, 0x0000, 0x0056, 0x0000, 0x005a,
669     0x0000, 0x005e, 0x0000, 0x0062, 0x0000, 0x0066, 0x0000, 0x006a,
670     0x0000, 0x006e, 0x0000, 0x0072, 0x0000, 0x0076, 0x0000, 0x0003};
671 const uint8_t* const HuffDecoderCommon::table36_emit_[16] = {
672     table36_0_emit_,  table36_1_emit_,  table36_2_emit_,  table36_3_emit_,
673     table36_4_emit_,  table36_5_emit_,  table36_6_emit_,  table36_7_emit_,
674     table36_8_emit_,  table36_9_emit_,  table36_10_emit_, table36_11_emit_,
675     table36_12_emit_, table36_13_emit_, table36_14_emit_, table36_15_emit_,
676 };
677 const uint16_t* const HuffDecoderCommon::table36_ops_[16] = {
678     table36_0_ops_,  table36_0_ops_,  table36_0_ops_,  table36_0_ops_,
679     table36_0_ops_,  table36_5_ops_,  table36_5_ops_,  table36_5_ops_,
680     table36_5_ops_,  table36_5_ops_,  table36_5_ops_,  table36_11_ops_,
681     table36_12_ops_, table36_13_ops_, table36_14_ops_, table36_15_ops_,
682 };
683 const uint8_t HuffDecoderCommon::table29_0_emit_[1] = {0xbc};
684 const uint16_t HuffDecoderCommon::table29_0_ops_[64] = {
685     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
686     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
687     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
688     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
689     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
690     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
691     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004,
692     0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004};
693 const uint8_t HuffDecoderCommon::table29_2_emit_[1] = {0xbf};
694 const uint8_t HuffDecoderCommon::table29_4_emit_[1] = {0xc5};
695 const uint8_t HuffDecoderCommon::table29_6_emit_[1] = {0xe7};
696 const uint8_t HuffDecoderCommon::table29_8_emit_[1] = {0xef};
697 const uint8_t HuffDecoderCommon::table29_10_emit_[1] = {0x09};
698 const uint16_t HuffDecoderCommon::table29_10_ops_[64] = {
699     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
700     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
701     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
702     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
703     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
704     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
705     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
706     0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005};
707 const uint8_t HuffDecoderCommon::table29_11_emit_[1] = {0x8e};
708 const uint8_t HuffDecoderCommon::table29_12_emit_[1] = {0x90};
709 const uint8_t HuffDecoderCommon::table29_13_emit_[1] = {0x91};
710 const uint8_t HuffDecoderCommon::table29_14_emit_[1] = {0x94};
711 const uint8_t HuffDecoderCommon::table29_15_emit_[1] = {0x9f};
712 const uint8_t HuffDecoderCommon::table29_16_emit_[1] = {0xab};
713 const uint8_t HuffDecoderCommon::table29_17_emit_[1] = {0xce};
714 const uint8_t HuffDecoderCommon::table29_18_emit_[1] = {0xd7};
715 const uint8_t HuffDecoderCommon::table29_19_emit_[1] = {0xe1};
716 const uint8_t HuffDecoderCommon::table29_20_emit_[1] = {0xec};
717 const uint8_t HuffDecoderCommon::table29_21_emit_[1] = {0xed};
718 const uint8_t HuffDecoderCommon::table29_22_emit_[2] = {0xc7, 0xcf};
719 const uint16_t HuffDecoderCommon::table29_22_ops_[64] = {
720     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
721     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
722     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
723     0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006,
724     0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
725     0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
726     0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026,
727     0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026, 0x0026};
728 const uint8_t HuffDecoderCommon::table29_23_emit_[2] = {0xea, 0xeb};
729 const uint8_t HuffDecoderCommon::table29_24_emit_[4] = {0xc0, 0xc1, 0xc8, 0xc9};
730 const uint16_t HuffDecoderCommon::table29_24_ops_[64] = {
731     0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
732     0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
733     0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
734     0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
735     0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
736     0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
737     0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067,
738     0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067, 0x0067};
739 const uint8_t HuffDecoderCommon::table29_25_emit_[4] = {0xca, 0xcd, 0xd2, 0xd5};
740 const uint8_t HuffDecoderCommon::table29_26_emit_[4] = {0xda, 0xdb, 0xee, 0xf0};
741 const uint8_t HuffDecoderCommon::table29_27_emit_[5] = {0xf2, 0xf3, 0xff, 0xcb,
742                                                         0xcc};
743 const uint16_t HuffDecoderCommon::table29_27_ops_[64] = {
744     0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
745     0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007,
746     0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
747     0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027,
748     0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
749     0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047, 0x0047,
750     0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068,
751     0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088};
752 const uint8_t HuffDecoderCommon::table29_28_emit_[8] = {0xd3, 0xd4, 0xd6, 0xdd,
753                                                         0xde, 0xdf, 0xf1, 0xf4};
754 const uint16_t HuffDecoderCommon::table29_28_ops_[64] = {
755     0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
756     0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028,
757     0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048, 0x0048,
758     0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068, 0x0068,
759     0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088, 0x0088,
760     0x00a8, 0x00a8, 0x00a8, 0x00a8, 0x00a8, 0x00a8, 0x00a8, 0x00a8,
761     0x00c8, 0x00c8, 0x00c8, 0x00c8, 0x00c8, 0x00c8, 0x00c8, 0x00c8,
762     0x00e8, 0x00e8, 0x00e8, 0x00e8, 0x00e8, 0x00e8, 0x00e8, 0x00e8};
763 const uint8_t HuffDecoderCommon::table29_29_emit_[8] = {0xf5, 0xf6, 0xf7, 0xf8,
764                                                         0xfa, 0xfb, 0xfc, 0xfd};
765 const uint8_t HuffDecoderCommon::table29_30_emit_[15] = {
766     0xfe, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
767     0x0b, 0x0c, 0x0e, 0x0f, 0x10, 0x11, 0x12};
768 const uint16_t HuffDecoderCommon::table29_30_ops_[64] = {
769     0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,
770     0x0029, 0x0029, 0x0029, 0x0029, 0x0049, 0x0049, 0x0049, 0x0049,
771     0x0069, 0x0069, 0x0069, 0x0069, 0x0089, 0x0089, 0x0089, 0x0089,
772     0x00a9, 0x00a9, 0x00a9, 0x00a9, 0x00c9, 0x00c9, 0x00c9, 0x00c9,
773     0x00e9, 0x00e9, 0x00e9, 0x00e9, 0x0109, 0x0109, 0x0109, 0x0109,
774     0x0129, 0x0129, 0x0129, 0x0129, 0x0149, 0x0149, 0x0149, 0x0149,
775     0x0169, 0x0169, 0x0169, 0x0169, 0x0189, 0x0189, 0x0189, 0x0189,
776     0x01a9, 0x01a9, 0x01a9, 0x01a9, 0x01c9, 0x01c9, 0x01c9, 0x01c9};
777 const uint8_t HuffDecoderCommon::table29_31_emit_[18] = {
778     0x13, 0x14, 0x15, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c,
779     0x1d, 0x1e, 0x1f, 0x7f, 0xdc, 0xf9, 0x0a, 0x0d, 0x16};
780 const uint16_t HuffDecoderCommon::table29_31_ops_[64] = {
781     0x0009, 0x0009, 0x0009, 0x0009, 0x0029, 0x0029, 0x0029, 0x0029,
782     0x0049, 0x0049, 0x0049, 0x0049, 0x0069, 0x0069, 0x0069, 0x0069,
783     0x0089, 0x0089, 0x0089, 0x0089, 0x00a9, 0x00a9, 0x00a9, 0x00a9,
784     0x00c9, 0x00c9, 0x00c9, 0x00c9, 0x00e9, 0x00e9, 0x00e9, 0x00e9,
785     0x0109, 0x0109, 0x0109, 0x0109, 0x0129, 0x0129, 0x0129, 0x0129,
786     0x0149, 0x0149, 0x0149, 0x0149, 0x0169, 0x0169, 0x0169, 0x0169,
787     0x0189, 0x0189, 0x0189, 0x0189, 0x01a9, 0x01a9, 0x01a9, 0x01a9,
788     0x01c9, 0x01c9, 0x01c9, 0x01c9, 0x01eb, 0x020b, 0x022b, 0x001b};
789 const uint8_t* const HuffDecoderCommon::table29_emit_[32] = {
790     table29_0_emit_,  table29_0_emit_,  table29_2_emit_,  table29_2_emit_,
791     table29_4_emit_,  table29_4_emit_,  table29_6_emit_,  table29_6_emit_,
792     table29_8_emit_,  table29_8_emit_,  table29_10_emit_, table29_11_emit_,
793     table29_12_emit_, table29_13_emit_, table29_14_emit_, table29_15_emit_,
794     table29_16_emit_, table29_17_emit_, table29_18_emit_, table29_19_emit_,
795     table29_20_emit_, table29_21_emit_, table29_22_emit_, table29_23_emit_,
796     table29_24_emit_, table29_25_emit_, table29_26_emit_, table29_27_emit_,
797     table29_28_emit_, table29_29_emit_, table29_30_emit_, table29_31_emit_,
798 };
799 const uint16_t* const HuffDecoderCommon::table29_ops_[32] = {
800     table29_0_ops_,  table29_0_ops_,  table29_0_ops_,  table29_0_ops_,
801     table29_0_ops_,  table29_0_ops_,  table29_0_ops_,  table29_0_ops_,
802     table29_0_ops_,  table29_0_ops_,  table29_10_ops_, table29_10_ops_,
803     table29_10_ops_, table29_10_ops_, table29_10_ops_, table29_10_ops_,
804     table29_10_ops_, table29_10_ops_, table29_10_ops_, table29_10_ops_,
805     table29_10_ops_, table29_10_ops_, table29_22_ops_, table29_22_ops_,
806     table29_24_ops_, table29_24_ops_, table29_24_ops_, table29_27_ops_,
807     table29_28_ops_, table29_28_ops_, table29_30_ops_, table29_31_ops_,
808 };
809 }  // namespace geometry_10_9_11
810 }  // namespace grpc_core
811