group_varint_encoding/
decoder.rs

1pub(crate) fn decode_block(v: u8, data: &[u8]) -> (u32, u32, u32, u32, usize) {
2    match v {
3        // GEN TABLE HERE
4        0 => {
5            let v0 = data[0] as u32;
6            let v1 = data[1] as u32;
7            let v2 = data[2] as u32;
8            let v3 = data[3] as u32;
9            (v0, v1, v2, v3, 4)
10        }
11        1 => {
12            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
13            let v1 = data[2] as u32;
14            let v2 = data[3] as u32;
15            let v3 = data[4] as u32;
16            (v0, v1, v2, v3, 5)
17        }
18        2 => {
19            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
20            let v1 = data[3] as u32;
21            let v2 = data[4] as u32;
22            let v3 = data[5] as u32;
23            (v0, v1, v2, v3, 6)
24        }
25        3 => {
26            let v0 = (data[0] as u32)
27                | (data[1] as u32) << 8
28                | (data[2] as u32) << 16
29                | (data[3] as u32) << 24;
30            let v1 = data[4] as u32;
31            let v2 = data[5] as u32;
32            let v3 = data[6] as u32;
33            (v0, v1, v2, v3, 7)
34        }
35        4 => {
36            let v0 = data[0] as u32;
37            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
38            let v2 = data[3] as u32;
39            let v3 = data[4] as u32;
40            (v0, v1, v2, v3, 5)
41        }
42        5 => {
43            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
44            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
45            let v2 = data[4] as u32;
46            let v3 = data[5] as u32;
47            (v0, v1, v2, v3, 6)
48        }
49        6 => {
50            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
51            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
52            let v2 = data[5] as u32;
53            let v3 = data[6] as u32;
54            (v0, v1, v2, v3, 7)
55        }
56        7 => {
57            let v0 = (data[0] as u32)
58                | (data[1] as u32) << 8
59                | (data[2] as u32) << 16
60                | (data[3] as u32) << 24;
61            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
62            let v2 = data[6] as u32;
63            let v3 = data[7] as u32;
64            (v0, v1, v2, v3, 8)
65        }
66        8 => {
67            let v0 = data[0] as u32;
68            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
69            let v2 = data[4] as u32;
70            let v3 = data[5] as u32;
71            (v0, v1, v2, v3, 6)
72        }
73        9 => {
74            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
75            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
76            let v2 = data[5] as u32;
77            let v3 = data[6] as u32;
78            (v0, v1, v2, v3, 7)
79        }
80        10 => {
81            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
82            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
83            let v2 = data[6] as u32;
84            let v3 = data[7] as u32;
85            (v0, v1, v2, v3, 8)
86        }
87        11 => {
88            let v0 = (data[0] as u32)
89                | (data[1] as u32) << 8
90                | (data[2] as u32) << 16
91                | (data[3] as u32) << 24;
92            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
93            let v2 = data[7] as u32;
94            let v3 = data[8] as u32;
95            (v0, v1, v2, v3, 9)
96        }
97        12 => {
98            let v0 = data[0] as u32;
99            let v1 = (data[1] as u32)
100                | (data[2] as u32) << 8
101                | (data[3] as u32) << 16
102                | (data[4] as u32) << 24;
103            let v2 = data[5] as u32;
104            let v3 = data[6] as u32;
105            (v0, v1, v2, v3, 7)
106        }
107        13 => {
108            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
109            let v1 = (data[2] as u32)
110                | (data[3] as u32) << 8
111                | (data[4] as u32) << 16
112                | (data[5] as u32) << 24;
113            let v2 = data[6] as u32;
114            let v3 = data[7] as u32;
115            (v0, v1, v2, v3, 8)
116        }
117        14 => {
118            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
119            let v1 = (data[3] as u32)
120                | (data[4] as u32) << 8
121                | (data[5] as u32) << 16
122                | (data[6] as u32) << 24;
123            let v2 = data[7] as u32;
124            let v3 = data[8] as u32;
125            (v0, v1, v2, v3, 9)
126        }
127        15 => {
128            let v0 = (data[0] as u32)
129                | (data[1] as u32) << 8
130                | (data[2] as u32) << 16
131                | (data[3] as u32) << 24;
132            let v1 = (data[4] as u32)
133                | (data[5] as u32) << 8
134                | (data[6] as u32) << 16
135                | (data[7] as u32) << 24;
136            let v2 = data[8] as u32;
137            let v3 = data[9] as u32;
138            (v0, v1, v2, v3, 10)
139        }
140        16 => {
141            let v0 = data[0] as u32;
142            let v1 = data[1] as u32;
143            let v2 = (data[2] as u32) | (data[3] as u32) << 8;
144            let v3 = data[4] as u32;
145            (v0, v1, v2, v3, 5)
146        }
147        17 => {
148            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
149            let v1 = data[2] as u32;
150            let v2 = (data[3] as u32) | (data[4] as u32) << 8;
151            let v3 = data[5] as u32;
152            (v0, v1, v2, v3, 6)
153        }
154        18 => {
155            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
156            let v1 = data[3] as u32;
157            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
158            let v3 = data[6] as u32;
159            (v0, v1, v2, v3, 7)
160        }
161        19 => {
162            let v0 = (data[0] as u32)
163                | (data[1] as u32) << 8
164                | (data[2] as u32) << 16
165                | (data[3] as u32) << 24;
166            let v1 = data[4] as u32;
167            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
168            let v3 = data[7] as u32;
169            (v0, v1, v2, v3, 8)
170        }
171        20 => {
172            let v0 = data[0] as u32;
173            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
174            let v2 = (data[3] as u32) | (data[4] as u32) << 8;
175            let v3 = data[5] as u32;
176            (v0, v1, v2, v3, 6)
177        }
178        21 => {
179            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
180            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
181            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
182            let v3 = data[6] as u32;
183            (v0, v1, v2, v3, 7)
184        }
185        22 => {
186            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
187            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
188            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
189            let v3 = data[7] as u32;
190            (v0, v1, v2, v3, 8)
191        }
192        23 => {
193            let v0 = (data[0] as u32)
194                | (data[1] as u32) << 8
195                | (data[2] as u32) << 16
196                | (data[3] as u32) << 24;
197            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
198            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
199            let v3 = data[8] as u32;
200            (v0, v1, v2, v3, 9)
201        }
202        24 => {
203            let v0 = data[0] as u32;
204            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
205            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
206            let v3 = data[6] as u32;
207            (v0, v1, v2, v3, 7)
208        }
209        25 => {
210            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
211            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
212            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
213            let v3 = data[7] as u32;
214            (v0, v1, v2, v3, 8)
215        }
216        26 => {
217            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
218            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
219            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
220            let v3 = data[8] as u32;
221            (v0, v1, v2, v3, 9)
222        }
223        27 => {
224            let v0 = (data[0] as u32)
225                | (data[1] as u32) << 8
226                | (data[2] as u32) << 16
227                | (data[3] as u32) << 24;
228            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
229            let v2 = (data[7] as u32) | (data[8] as u32) << 8;
230            let v3 = data[9] as u32;
231            (v0, v1, v2, v3, 10)
232        }
233        28 => {
234            let v0 = data[0] as u32;
235            let v1 = (data[1] as u32)
236                | (data[2] as u32) << 8
237                | (data[3] as u32) << 16
238                | (data[4] as u32) << 24;
239            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
240            let v3 = data[7] as u32;
241            (v0, v1, v2, v3, 8)
242        }
243        29 => {
244            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
245            let v1 = (data[2] as u32)
246                | (data[3] as u32) << 8
247                | (data[4] as u32) << 16
248                | (data[5] as u32) << 24;
249            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
250            let v3 = data[8] as u32;
251            (v0, v1, v2, v3, 9)
252        }
253        30 => {
254            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
255            let v1 = (data[3] as u32)
256                | (data[4] as u32) << 8
257                | (data[5] as u32) << 16
258                | (data[6] as u32) << 24;
259            let v2 = (data[7] as u32) | (data[8] as u32) << 8;
260            let v3 = data[9] as u32;
261            (v0, v1, v2, v3, 10)
262        }
263        31 => {
264            let v0 = (data[0] as u32)
265                | (data[1] as u32) << 8
266                | (data[2] as u32) << 16
267                | (data[3] as u32) << 24;
268            let v1 = (data[4] as u32)
269                | (data[5] as u32) << 8
270                | (data[6] as u32) << 16
271                | (data[7] as u32) << 24;
272            let v2 = (data[8] as u32) | (data[9] as u32) << 8;
273            let v3 = data[10] as u32;
274            (v0, v1, v2, v3, 11)
275        }
276        32 => {
277            let v0 = data[0] as u32;
278            let v1 = data[1] as u32;
279            let v2 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
280            let v3 = data[5] as u32;
281            (v0, v1, v2, v3, 6)
282        }
283        33 => {
284            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
285            let v1 = data[2] as u32;
286            let v2 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
287            let v3 = data[6] as u32;
288            (v0, v1, v2, v3, 7)
289        }
290        34 => {
291            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
292            let v1 = data[3] as u32;
293            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
294            let v3 = data[7] as u32;
295            (v0, v1, v2, v3, 8)
296        }
297        35 => {
298            let v0 = (data[0] as u32)
299                | (data[1] as u32) << 8
300                | (data[2] as u32) << 16
301                | (data[3] as u32) << 24;
302            let v1 = data[4] as u32;
303            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
304            let v3 = data[8] as u32;
305            (v0, v1, v2, v3, 9)
306        }
307        36 => {
308            let v0 = data[0] as u32;
309            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
310            let v2 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
311            let v3 = data[6] as u32;
312            (v0, v1, v2, v3, 7)
313        }
314        37 => {
315            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
316            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
317            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
318            let v3 = data[7] as u32;
319            (v0, v1, v2, v3, 8)
320        }
321        38 => {
322            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
323            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
324            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
325            let v3 = data[8] as u32;
326            (v0, v1, v2, v3, 9)
327        }
328        39 => {
329            let v0 = (data[0] as u32)
330                | (data[1] as u32) << 8
331                | (data[2] as u32) << 16
332                | (data[3] as u32) << 24;
333            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
334            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
335            let v3 = data[9] as u32;
336            (v0, v1, v2, v3, 10)
337        }
338        40 => {
339            let v0 = data[0] as u32;
340            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
341            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
342            let v3 = data[7] as u32;
343            (v0, v1, v2, v3, 8)
344        }
345        41 => {
346            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
347            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
348            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
349            let v3 = data[8] as u32;
350            (v0, v1, v2, v3, 9)
351        }
352        42 => {
353            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
354            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
355            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
356            let v3 = data[9] as u32;
357            (v0, v1, v2, v3, 10)
358        }
359        43 => {
360            let v0 = (data[0] as u32)
361                | (data[1] as u32) << 8
362                | (data[2] as u32) << 16
363                | (data[3] as u32) << 24;
364            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
365            let v2 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
366            let v3 = data[10] as u32;
367            (v0, v1, v2, v3, 11)
368        }
369        44 => {
370            let v0 = data[0] as u32;
371            let v1 = (data[1] as u32)
372                | (data[2] as u32) << 8
373                | (data[3] as u32) << 16
374                | (data[4] as u32) << 24;
375            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
376            let v3 = data[8] as u32;
377            (v0, v1, v2, v3, 9)
378        }
379        45 => {
380            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
381            let v1 = (data[2] as u32)
382                | (data[3] as u32) << 8
383                | (data[4] as u32) << 16
384                | (data[5] as u32) << 24;
385            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
386            let v3 = data[9] as u32;
387            (v0, v1, v2, v3, 10)
388        }
389        46 => {
390            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
391            let v1 = (data[3] as u32)
392                | (data[4] as u32) << 8
393                | (data[5] as u32) << 16
394                | (data[6] as u32) << 24;
395            let v2 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
396            let v3 = data[10] as u32;
397            (v0, v1, v2, v3, 11)
398        }
399        47 => {
400            let v0 = (data[0] as u32)
401                | (data[1] as u32) << 8
402                | (data[2] as u32) << 16
403                | (data[3] as u32) << 24;
404            let v1 = (data[4] as u32)
405                | (data[5] as u32) << 8
406                | (data[6] as u32) << 16
407                | (data[7] as u32) << 24;
408            let v2 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
409            let v3 = data[11] as u32;
410            (v0, v1, v2, v3, 12)
411        }
412        48 => {
413            let v0 = data[0] as u32;
414            let v1 = data[1] as u32;
415            let v2 = (data[2] as u32)
416                | (data[3] as u32) << 8
417                | (data[4] as u32) << 16
418                | (data[5] as u32) << 24;
419            let v3 = data[6] as u32;
420            (v0, v1, v2, v3, 7)
421        }
422        49 => {
423            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
424            let v1 = data[2] as u32;
425            let v2 = (data[3] as u32)
426                | (data[4] as u32) << 8
427                | (data[5] as u32) << 16
428                | (data[6] as u32) << 24;
429            let v3 = data[7] as u32;
430            (v0, v1, v2, v3, 8)
431        }
432        50 => {
433            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
434            let v1 = data[3] as u32;
435            let v2 = (data[4] as u32)
436                | (data[5] as u32) << 8
437                | (data[6] as u32) << 16
438                | (data[7] as u32) << 24;
439            let v3 = data[8] as u32;
440            (v0, v1, v2, v3, 9)
441        }
442        51 => {
443            let v0 = (data[0] as u32)
444                | (data[1] as u32) << 8
445                | (data[2] as u32) << 16
446                | (data[3] as u32) << 24;
447            let v1 = data[4] as u32;
448            let v2 = (data[5] as u32)
449                | (data[6] as u32) << 8
450                | (data[7] as u32) << 16
451                | (data[8] as u32) << 24;
452            let v3 = data[9] as u32;
453            (v0, v1, v2, v3, 10)
454        }
455        52 => {
456            let v0 = data[0] as u32;
457            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
458            let v2 = (data[3] as u32)
459                | (data[4] as u32) << 8
460                | (data[5] as u32) << 16
461                | (data[6] as u32) << 24;
462            let v3 = data[7] as u32;
463            (v0, v1, v2, v3, 8)
464        }
465        53 => {
466            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
467            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
468            let v2 = (data[4] as u32)
469                | (data[5] as u32) << 8
470                | (data[6] as u32) << 16
471                | (data[7] as u32) << 24;
472            let v3 = data[8] as u32;
473            (v0, v1, v2, v3, 9)
474        }
475        54 => {
476            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
477            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
478            let v2 = (data[5] as u32)
479                | (data[6] as u32) << 8
480                | (data[7] as u32) << 16
481                | (data[8] as u32) << 24;
482            let v3 = data[9] as u32;
483            (v0, v1, v2, v3, 10)
484        }
485        55 => {
486            let v0 = (data[0] as u32)
487                | (data[1] as u32) << 8
488                | (data[2] as u32) << 16
489                | (data[3] as u32) << 24;
490            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
491            let v2 = (data[6] as u32)
492                | (data[7] as u32) << 8
493                | (data[8] as u32) << 16
494                | (data[9] as u32) << 24;
495            let v3 = data[10] as u32;
496            (v0, v1, v2, v3, 11)
497        }
498        56 => {
499            let v0 = data[0] as u32;
500            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
501            let v2 = (data[4] as u32)
502                | (data[5] as u32) << 8
503                | (data[6] as u32) << 16
504                | (data[7] as u32) << 24;
505            let v3 = data[8] as u32;
506            (v0, v1, v2, v3, 9)
507        }
508        57 => {
509            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
510            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
511            let v2 = (data[5] as u32)
512                | (data[6] as u32) << 8
513                | (data[7] as u32) << 16
514                | (data[8] as u32) << 24;
515            let v3 = data[9] as u32;
516            (v0, v1, v2, v3, 10)
517        }
518        58 => {
519            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
520            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
521            let v2 = (data[6] as u32)
522                | (data[7] as u32) << 8
523                | (data[8] as u32) << 16
524                | (data[9] as u32) << 24;
525            let v3 = data[10] as u32;
526            (v0, v1, v2, v3, 11)
527        }
528        59 => {
529            let v0 = (data[0] as u32)
530                | (data[1] as u32) << 8
531                | (data[2] as u32) << 16
532                | (data[3] as u32) << 24;
533            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
534            let v2 = (data[7] as u32)
535                | (data[8] as u32) << 8
536                | (data[9] as u32) << 16
537                | (data[10] as u32) << 24;
538            let v3 = data[11] as u32;
539            (v0, v1, v2, v3, 12)
540        }
541        60 => {
542            let v0 = data[0] as u32;
543            let v1 = (data[1] as u32)
544                | (data[2] as u32) << 8
545                | (data[3] as u32) << 16
546                | (data[4] as u32) << 24;
547            let v2 = (data[5] as u32)
548                | (data[6] as u32) << 8
549                | (data[7] as u32) << 16
550                | (data[8] as u32) << 24;
551            let v3 = data[9] as u32;
552            (v0, v1, v2, v3, 10)
553        }
554        61 => {
555            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
556            let v1 = (data[2] as u32)
557                | (data[3] as u32) << 8
558                | (data[4] as u32) << 16
559                | (data[5] as u32) << 24;
560            let v2 = (data[6] as u32)
561                | (data[7] as u32) << 8
562                | (data[8] as u32) << 16
563                | (data[9] as u32) << 24;
564            let v3 = data[10] as u32;
565            (v0, v1, v2, v3, 11)
566        }
567        62 => {
568            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
569            let v1 = (data[3] as u32)
570                | (data[4] as u32) << 8
571                | (data[5] as u32) << 16
572                | (data[6] as u32) << 24;
573            let v2 = (data[7] as u32)
574                | (data[8] as u32) << 8
575                | (data[9] as u32) << 16
576                | (data[10] as u32) << 24;
577            let v3 = data[11] as u32;
578            (v0, v1, v2, v3, 12)
579        }
580        63 => {
581            let v0 = (data[0] as u32)
582                | (data[1] as u32) << 8
583                | (data[2] as u32) << 16
584                | (data[3] as u32) << 24;
585            let v1 = (data[4] as u32)
586                | (data[5] as u32) << 8
587                | (data[6] as u32) << 16
588                | (data[7] as u32) << 24;
589            let v2 = (data[8] as u32)
590                | (data[9] as u32) << 8
591                | (data[10] as u32) << 16
592                | (data[11] as u32) << 24;
593            let v3 = data[12] as u32;
594            (v0, v1, v2, v3, 13)
595        }
596        64 => {
597            let v0 = data[0] as u32;
598            let v1 = data[1] as u32;
599            let v2 = data[2] as u32;
600            let v3 = (data[3] as u32) | (data[4] as u32) << 8;
601            (v0, v1, v2, v3, 5)
602        }
603        65 => {
604            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
605            let v1 = data[2] as u32;
606            let v2 = data[3] as u32;
607            let v3 = (data[4] as u32) | (data[5] as u32) << 8;
608            (v0, v1, v2, v3, 6)
609        }
610        66 => {
611            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
612            let v1 = data[3] as u32;
613            let v2 = data[4] as u32;
614            let v3 = (data[5] as u32) | (data[6] as u32) << 8;
615            (v0, v1, v2, v3, 7)
616        }
617        67 => {
618            let v0 = (data[0] as u32)
619                | (data[1] as u32) << 8
620                | (data[2] as u32) << 16
621                | (data[3] as u32) << 24;
622            let v1 = data[4] as u32;
623            let v2 = data[5] as u32;
624            let v3 = (data[6] as u32) | (data[7] as u32) << 8;
625            (v0, v1, v2, v3, 8)
626        }
627        68 => {
628            let v0 = data[0] as u32;
629            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
630            let v2 = data[3] as u32;
631            let v3 = (data[4] as u32) | (data[5] as u32) << 8;
632            (v0, v1, v2, v3, 6)
633        }
634        69 => {
635            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
636            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
637            let v2 = data[4] as u32;
638            let v3 = (data[5] as u32) | (data[6] as u32) << 8;
639            (v0, v1, v2, v3, 7)
640        }
641        70 => {
642            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
643            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
644            let v2 = data[5] as u32;
645            let v3 = (data[6] as u32) | (data[7] as u32) << 8;
646            (v0, v1, v2, v3, 8)
647        }
648        71 => {
649            let v0 = (data[0] as u32)
650                | (data[1] as u32) << 8
651                | (data[2] as u32) << 16
652                | (data[3] as u32) << 24;
653            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
654            let v2 = data[6] as u32;
655            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
656            (v0, v1, v2, v3, 9)
657        }
658        72 => {
659            let v0 = data[0] as u32;
660            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
661            let v2 = data[4] as u32;
662            let v3 = (data[5] as u32) | (data[6] as u32) << 8;
663            (v0, v1, v2, v3, 7)
664        }
665        73 => {
666            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
667            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
668            let v2 = data[5] as u32;
669            let v3 = (data[6] as u32) | (data[7] as u32) << 8;
670            (v0, v1, v2, v3, 8)
671        }
672        74 => {
673            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
674            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
675            let v2 = data[6] as u32;
676            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
677            (v0, v1, v2, v3, 9)
678        }
679        75 => {
680            let v0 = (data[0] as u32)
681                | (data[1] as u32) << 8
682                | (data[2] as u32) << 16
683                | (data[3] as u32) << 24;
684            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
685            let v2 = data[7] as u32;
686            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
687            (v0, v1, v2, v3, 10)
688        }
689        76 => {
690            let v0 = data[0] as u32;
691            let v1 = (data[1] as u32)
692                | (data[2] as u32) << 8
693                | (data[3] as u32) << 16
694                | (data[4] as u32) << 24;
695            let v2 = data[5] as u32;
696            let v3 = (data[6] as u32) | (data[7] as u32) << 8;
697            (v0, v1, v2, v3, 8)
698        }
699        77 => {
700            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
701            let v1 = (data[2] as u32)
702                | (data[3] as u32) << 8
703                | (data[4] as u32) << 16
704                | (data[5] as u32) << 24;
705            let v2 = data[6] as u32;
706            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
707            (v0, v1, v2, v3, 9)
708        }
709        78 => {
710            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
711            let v1 = (data[3] as u32)
712                | (data[4] as u32) << 8
713                | (data[5] as u32) << 16
714                | (data[6] as u32) << 24;
715            let v2 = data[7] as u32;
716            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
717            (v0, v1, v2, v3, 10)
718        }
719        79 => {
720            let v0 = (data[0] as u32)
721                | (data[1] as u32) << 8
722                | (data[2] as u32) << 16
723                | (data[3] as u32) << 24;
724            let v1 = (data[4] as u32)
725                | (data[5] as u32) << 8
726                | (data[6] as u32) << 16
727                | (data[7] as u32) << 24;
728            let v2 = data[8] as u32;
729            let v3 = (data[9] as u32) | (data[10] as u32) << 8;
730            (v0, v1, v2, v3, 11)
731        }
732        80 => {
733            let v0 = data[0] as u32;
734            let v1 = data[1] as u32;
735            let v2 = (data[2] as u32) | (data[3] as u32) << 8;
736            let v3 = (data[4] as u32) | (data[5] as u32) << 8;
737            (v0, v1, v2, v3, 6)
738        }
739        81 => {
740            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
741            let v1 = data[2] as u32;
742            let v2 = (data[3] as u32) | (data[4] as u32) << 8;
743            let v3 = (data[5] as u32) | (data[6] as u32) << 8;
744            (v0, v1, v2, v3, 7)
745        }
746        82 => {
747            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
748            let v1 = data[3] as u32;
749            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
750            let v3 = (data[6] as u32) | (data[7] as u32) << 8;
751            (v0, v1, v2, v3, 8)
752        }
753        83 => {
754            let v0 = (data[0] as u32)
755                | (data[1] as u32) << 8
756                | (data[2] as u32) << 16
757                | (data[3] as u32) << 24;
758            let v1 = data[4] as u32;
759            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
760            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
761            (v0, v1, v2, v3, 9)
762        }
763        84 => {
764            let v0 = data[0] as u32;
765            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
766            let v2 = (data[3] as u32) | (data[4] as u32) << 8;
767            let v3 = (data[5] as u32) | (data[6] as u32) << 8;
768            (v0, v1, v2, v3, 7)
769        }
770        85 => {
771            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
772            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
773            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
774            let v3 = (data[6] as u32) | (data[7] as u32) << 8;
775            (v0, v1, v2, v3, 8)
776        }
777        86 => {
778            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
779            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
780            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
781            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
782            (v0, v1, v2, v3, 9)
783        }
784        87 => {
785            let v0 = (data[0] as u32)
786                | (data[1] as u32) << 8
787                | (data[2] as u32) << 16
788                | (data[3] as u32) << 24;
789            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
790            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
791            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
792            (v0, v1, v2, v3, 10)
793        }
794        88 => {
795            let v0 = data[0] as u32;
796            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
797            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
798            let v3 = (data[6] as u32) | (data[7] as u32) << 8;
799            (v0, v1, v2, v3, 8)
800        }
801        89 => {
802            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
803            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
804            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
805            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
806            (v0, v1, v2, v3, 9)
807        }
808        90 => {
809            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
810            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
811            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
812            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
813            (v0, v1, v2, v3, 10)
814        }
815        91 => {
816            let v0 = (data[0] as u32)
817                | (data[1] as u32) << 8
818                | (data[2] as u32) << 16
819                | (data[3] as u32) << 24;
820            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
821            let v2 = (data[7] as u32) | (data[8] as u32) << 8;
822            let v3 = (data[9] as u32) | (data[10] as u32) << 8;
823            (v0, v1, v2, v3, 11)
824        }
825        92 => {
826            let v0 = data[0] as u32;
827            let v1 = (data[1] as u32)
828                | (data[2] as u32) << 8
829                | (data[3] as u32) << 16
830                | (data[4] as u32) << 24;
831            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
832            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
833            (v0, v1, v2, v3, 9)
834        }
835        93 => {
836            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
837            let v1 = (data[2] as u32)
838                | (data[3] as u32) << 8
839                | (data[4] as u32) << 16
840                | (data[5] as u32) << 24;
841            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
842            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
843            (v0, v1, v2, v3, 10)
844        }
845        94 => {
846            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
847            let v1 = (data[3] as u32)
848                | (data[4] as u32) << 8
849                | (data[5] as u32) << 16
850                | (data[6] as u32) << 24;
851            let v2 = (data[7] as u32) | (data[8] as u32) << 8;
852            let v3 = (data[9] as u32) | (data[10] as u32) << 8;
853            (v0, v1, v2, v3, 11)
854        }
855        95 => {
856            let v0 = (data[0] as u32)
857                | (data[1] as u32) << 8
858                | (data[2] as u32) << 16
859                | (data[3] as u32) << 24;
860            let v1 = (data[4] as u32)
861                | (data[5] as u32) << 8
862                | (data[6] as u32) << 16
863                | (data[7] as u32) << 24;
864            let v2 = (data[8] as u32) | (data[9] as u32) << 8;
865            let v3 = (data[10] as u32) | (data[11] as u32) << 8;
866            (v0, v1, v2, v3, 12)
867        }
868        96 => {
869            let v0 = data[0] as u32;
870            let v1 = data[1] as u32;
871            let v2 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
872            let v3 = (data[5] as u32) | (data[6] as u32) << 8;
873            (v0, v1, v2, v3, 7)
874        }
875        97 => {
876            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
877            let v1 = data[2] as u32;
878            let v2 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
879            let v3 = (data[6] as u32) | (data[7] as u32) << 8;
880            (v0, v1, v2, v3, 8)
881        }
882        98 => {
883            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
884            let v1 = data[3] as u32;
885            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
886            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
887            (v0, v1, v2, v3, 9)
888        }
889        99 => {
890            let v0 = (data[0] as u32)
891                | (data[1] as u32) << 8
892                | (data[2] as u32) << 16
893                | (data[3] as u32) << 24;
894            let v1 = data[4] as u32;
895            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
896            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
897            (v0, v1, v2, v3, 10)
898        }
899        100 => {
900            let v0 = data[0] as u32;
901            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
902            let v2 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
903            let v3 = (data[6] as u32) | (data[7] as u32) << 8;
904            (v0, v1, v2, v3, 8)
905        }
906        101 => {
907            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
908            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
909            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
910            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
911            (v0, v1, v2, v3, 9)
912        }
913        102 => {
914            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
915            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
916            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
917            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
918            (v0, v1, v2, v3, 10)
919        }
920        103 => {
921            let v0 = (data[0] as u32)
922                | (data[1] as u32) << 8
923                | (data[2] as u32) << 16
924                | (data[3] as u32) << 24;
925            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
926            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
927            let v3 = (data[9] as u32) | (data[10] as u32) << 8;
928            (v0, v1, v2, v3, 11)
929        }
930        104 => {
931            let v0 = data[0] as u32;
932            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
933            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
934            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
935            (v0, v1, v2, v3, 9)
936        }
937        105 => {
938            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
939            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
940            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
941            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
942            (v0, v1, v2, v3, 10)
943        }
944        106 => {
945            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
946            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
947            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
948            let v3 = (data[9] as u32) | (data[10] as u32) << 8;
949            (v0, v1, v2, v3, 11)
950        }
951        107 => {
952            let v0 = (data[0] as u32)
953                | (data[1] as u32) << 8
954                | (data[2] as u32) << 16
955                | (data[3] as u32) << 24;
956            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
957            let v2 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
958            let v3 = (data[10] as u32) | (data[11] as u32) << 8;
959            (v0, v1, v2, v3, 12)
960        }
961        108 => {
962            let v0 = data[0] as u32;
963            let v1 = (data[1] as u32)
964                | (data[2] as u32) << 8
965                | (data[3] as u32) << 16
966                | (data[4] as u32) << 24;
967            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
968            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
969            (v0, v1, v2, v3, 10)
970        }
971        109 => {
972            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
973            let v1 = (data[2] as u32)
974                | (data[3] as u32) << 8
975                | (data[4] as u32) << 16
976                | (data[5] as u32) << 24;
977            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
978            let v3 = (data[9] as u32) | (data[10] as u32) << 8;
979            (v0, v1, v2, v3, 11)
980        }
981        110 => {
982            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
983            let v1 = (data[3] as u32)
984                | (data[4] as u32) << 8
985                | (data[5] as u32) << 16
986                | (data[6] as u32) << 24;
987            let v2 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
988            let v3 = (data[10] as u32) | (data[11] as u32) << 8;
989            (v0, v1, v2, v3, 12)
990        }
991        111 => {
992            let v0 = (data[0] as u32)
993                | (data[1] as u32) << 8
994                | (data[2] as u32) << 16
995                | (data[3] as u32) << 24;
996            let v1 = (data[4] as u32)
997                | (data[5] as u32) << 8
998                | (data[6] as u32) << 16
999                | (data[7] as u32) << 24;
1000            let v2 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1001            let v3 = (data[11] as u32) | (data[12] as u32) << 8;
1002            (v0, v1, v2, v3, 13)
1003        }
1004        112 => {
1005            let v0 = data[0] as u32;
1006            let v1 = data[1] as u32;
1007            let v2 = (data[2] as u32)
1008                | (data[3] as u32) << 8
1009                | (data[4] as u32) << 16
1010                | (data[5] as u32) << 24;
1011            let v3 = (data[6] as u32) | (data[7] as u32) << 8;
1012            (v0, v1, v2, v3, 8)
1013        }
1014        113 => {
1015            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1016            let v1 = data[2] as u32;
1017            let v2 = (data[3] as u32)
1018                | (data[4] as u32) << 8
1019                | (data[5] as u32) << 16
1020                | (data[6] as u32) << 24;
1021            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
1022            (v0, v1, v2, v3, 9)
1023        }
1024        114 => {
1025            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1026            let v1 = data[3] as u32;
1027            let v2 = (data[4] as u32)
1028                | (data[5] as u32) << 8
1029                | (data[6] as u32) << 16
1030                | (data[7] as u32) << 24;
1031            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
1032            (v0, v1, v2, v3, 10)
1033        }
1034        115 => {
1035            let v0 = (data[0] as u32)
1036                | (data[1] as u32) << 8
1037                | (data[2] as u32) << 16
1038                | (data[3] as u32) << 24;
1039            let v1 = data[4] as u32;
1040            let v2 = (data[5] as u32)
1041                | (data[6] as u32) << 8
1042                | (data[7] as u32) << 16
1043                | (data[8] as u32) << 24;
1044            let v3 = (data[9] as u32) | (data[10] as u32) << 8;
1045            (v0, v1, v2, v3, 11)
1046        }
1047        116 => {
1048            let v0 = data[0] as u32;
1049            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
1050            let v2 = (data[3] as u32)
1051                | (data[4] as u32) << 8
1052                | (data[5] as u32) << 16
1053                | (data[6] as u32) << 24;
1054            let v3 = (data[7] as u32) | (data[8] as u32) << 8;
1055            (v0, v1, v2, v3, 9)
1056        }
1057        117 => {
1058            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1059            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
1060            let v2 = (data[4] as u32)
1061                | (data[5] as u32) << 8
1062                | (data[6] as u32) << 16
1063                | (data[7] as u32) << 24;
1064            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
1065            (v0, v1, v2, v3, 10)
1066        }
1067        118 => {
1068            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1069            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
1070            let v2 = (data[5] as u32)
1071                | (data[6] as u32) << 8
1072                | (data[7] as u32) << 16
1073                | (data[8] as u32) << 24;
1074            let v3 = (data[9] as u32) | (data[10] as u32) << 8;
1075            (v0, v1, v2, v3, 11)
1076        }
1077        119 => {
1078            let v0 = (data[0] as u32)
1079                | (data[1] as u32) << 8
1080                | (data[2] as u32) << 16
1081                | (data[3] as u32) << 24;
1082            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
1083            let v2 = (data[6] as u32)
1084                | (data[7] as u32) << 8
1085                | (data[8] as u32) << 16
1086                | (data[9] as u32) << 24;
1087            let v3 = (data[10] as u32) | (data[11] as u32) << 8;
1088            (v0, v1, v2, v3, 12)
1089        }
1090        120 => {
1091            let v0 = data[0] as u32;
1092            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
1093            let v2 = (data[4] as u32)
1094                | (data[5] as u32) << 8
1095                | (data[6] as u32) << 16
1096                | (data[7] as u32) << 24;
1097            let v3 = (data[8] as u32) | (data[9] as u32) << 8;
1098            (v0, v1, v2, v3, 10)
1099        }
1100        121 => {
1101            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1102            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
1103            let v2 = (data[5] as u32)
1104                | (data[6] as u32) << 8
1105                | (data[7] as u32) << 16
1106                | (data[8] as u32) << 24;
1107            let v3 = (data[9] as u32) | (data[10] as u32) << 8;
1108            (v0, v1, v2, v3, 11)
1109        }
1110        122 => {
1111            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1112            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
1113            let v2 = (data[6] as u32)
1114                | (data[7] as u32) << 8
1115                | (data[8] as u32) << 16
1116                | (data[9] as u32) << 24;
1117            let v3 = (data[10] as u32) | (data[11] as u32) << 8;
1118            (v0, v1, v2, v3, 12)
1119        }
1120        123 => {
1121            let v0 = (data[0] as u32)
1122                | (data[1] as u32) << 8
1123                | (data[2] as u32) << 16
1124                | (data[3] as u32) << 24;
1125            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1126            let v2 = (data[7] as u32)
1127                | (data[8] as u32) << 8
1128                | (data[9] as u32) << 16
1129                | (data[10] as u32) << 24;
1130            let v3 = (data[11] as u32) | (data[12] as u32) << 8;
1131            (v0, v1, v2, v3, 13)
1132        }
1133        124 => {
1134            let v0 = data[0] as u32;
1135            let v1 = (data[1] as u32)
1136                | (data[2] as u32) << 8
1137                | (data[3] as u32) << 16
1138                | (data[4] as u32) << 24;
1139            let v2 = (data[5] as u32)
1140                | (data[6] as u32) << 8
1141                | (data[7] as u32) << 16
1142                | (data[8] as u32) << 24;
1143            let v3 = (data[9] as u32) | (data[10] as u32) << 8;
1144            (v0, v1, v2, v3, 11)
1145        }
1146        125 => {
1147            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1148            let v1 = (data[2] as u32)
1149                | (data[3] as u32) << 8
1150                | (data[4] as u32) << 16
1151                | (data[5] as u32) << 24;
1152            let v2 = (data[6] as u32)
1153                | (data[7] as u32) << 8
1154                | (data[8] as u32) << 16
1155                | (data[9] as u32) << 24;
1156            let v3 = (data[10] as u32) | (data[11] as u32) << 8;
1157            (v0, v1, v2, v3, 12)
1158        }
1159        126 => {
1160            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1161            let v1 = (data[3] as u32)
1162                | (data[4] as u32) << 8
1163                | (data[5] as u32) << 16
1164                | (data[6] as u32) << 24;
1165            let v2 = (data[7] as u32)
1166                | (data[8] as u32) << 8
1167                | (data[9] as u32) << 16
1168                | (data[10] as u32) << 24;
1169            let v3 = (data[11] as u32) | (data[12] as u32) << 8;
1170            (v0, v1, v2, v3, 13)
1171        }
1172        127 => {
1173            let v0 = (data[0] as u32)
1174                | (data[1] as u32) << 8
1175                | (data[2] as u32) << 16
1176                | (data[3] as u32) << 24;
1177            let v1 = (data[4] as u32)
1178                | (data[5] as u32) << 8
1179                | (data[6] as u32) << 16
1180                | (data[7] as u32) << 24;
1181            let v2 = (data[8] as u32)
1182                | (data[9] as u32) << 8
1183                | (data[10] as u32) << 16
1184                | (data[11] as u32) << 24;
1185            let v3 = (data[12] as u32) | (data[13] as u32) << 8;
1186            (v0, v1, v2, v3, 14)
1187        }
1188        128 => {
1189            let v0 = data[0] as u32;
1190            let v1 = data[1] as u32;
1191            let v2 = data[2] as u32;
1192            let v3 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
1193            (v0, v1, v2, v3, 6)
1194        }
1195        129 => {
1196            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1197            let v1 = data[2] as u32;
1198            let v2 = data[3] as u32;
1199            let v3 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1200            (v0, v1, v2, v3, 7)
1201        }
1202        130 => {
1203            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1204            let v1 = data[3] as u32;
1205            let v2 = data[4] as u32;
1206            let v3 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
1207            (v0, v1, v2, v3, 8)
1208        }
1209        131 => {
1210            let v0 = (data[0] as u32)
1211                | (data[1] as u32) << 8
1212                | (data[2] as u32) << 16
1213                | (data[3] as u32) << 24;
1214            let v1 = data[4] as u32;
1215            let v2 = data[5] as u32;
1216            let v3 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1217            (v0, v1, v2, v3, 9)
1218        }
1219        132 => {
1220            let v0 = data[0] as u32;
1221            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
1222            let v2 = data[3] as u32;
1223            let v3 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1224            (v0, v1, v2, v3, 7)
1225        }
1226        133 => {
1227            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1228            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
1229            let v2 = data[4] as u32;
1230            let v3 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
1231            (v0, v1, v2, v3, 8)
1232        }
1233        134 => {
1234            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1235            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
1236            let v2 = data[5] as u32;
1237            let v3 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1238            (v0, v1, v2, v3, 9)
1239        }
1240        135 => {
1241            let v0 = (data[0] as u32)
1242                | (data[1] as u32) << 8
1243                | (data[2] as u32) << 16
1244                | (data[3] as u32) << 24;
1245            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
1246            let v2 = data[6] as u32;
1247            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1248            (v0, v1, v2, v3, 10)
1249        }
1250        136 => {
1251            let v0 = data[0] as u32;
1252            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
1253            let v2 = data[4] as u32;
1254            let v3 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
1255            (v0, v1, v2, v3, 8)
1256        }
1257        137 => {
1258            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1259            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
1260            let v2 = data[5] as u32;
1261            let v3 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1262            (v0, v1, v2, v3, 9)
1263        }
1264        138 => {
1265            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1266            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
1267            let v2 = data[6] as u32;
1268            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1269            (v0, v1, v2, v3, 10)
1270        }
1271        139 => {
1272            let v0 = (data[0] as u32)
1273                | (data[1] as u32) << 8
1274                | (data[2] as u32) << 16
1275                | (data[3] as u32) << 24;
1276            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1277            let v2 = data[7] as u32;
1278            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1279            (v0, v1, v2, v3, 11)
1280        }
1281        140 => {
1282            let v0 = data[0] as u32;
1283            let v1 = (data[1] as u32)
1284                | (data[2] as u32) << 8
1285                | (data[3] as u32) << 16
1286                | (data[4] as u32) << 24;
1287            let v2 = data[5] as u32;
1288            let v3 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1289            (v0, v1, v2, v3, 9)
1290        }
1291        141 => {
1292            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1293            let v1 = (data[2] as u32)
1294                | (data[3] as u32) << 8
1295                | (data[4] as u32) << 16
1296                | (data[5] as u32) << 24;
1297            let v2 = data[6] as u32;
1298            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1299            (v0, v1, v2, v3, 10)
1300        }
1301        142 => {
1302            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1303            let v1 = (data[3] as u32)
1304                | (data[4] as u32) << 8
1305                | (data[5] as u32) << 16
1306                | (data[6] as u32) << 24;
1307            let v2 = data[7] as u32;
1308            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1309            (v0, v1, v2, v3, 11)
1310        }
1311        143 => {
1312            let v0 = (data[0] as u32)
1313                | (data[1] as u32) << 8
1314                | (data[2] as u32) << 16
1315                | (data[3] as u32) << 24;
1316            let v1 = (data[4] as u32)
1317                | (data[5] as u32) << 8
1318                | (data[6] as u32) << 16
1319                | (data[7] as u32) << 24;
1320            let v2 = data[8] as u32;
1321            let v3 = (data[9] as u32) | (data[10] as u32) << 8 | (data[11] as u32) << 16;
1322            (v0, v1, v2, v3, 12)
1323        }
1324        144 => {
1325            let v0 = data[0] as u32;
1326            let v1 = data[1] as u32;
1327            let v2 = (data[2] as u32) | (data[3] as u32) << 8;
1328            let v3 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1329            (v0, v1, v2, v3, 7)
1330        }
1331        145 => {
1332            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1333            let v1 = data[2] as u32;
1334            let v2 = (data[3] as u32) | (data[4] as u32) << 8;
1335            let v3 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
1336            (v0, v1, v2, v3, 8)
1337        }
1338        146 => {
1339            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1340            let v1 = data[3] as u32;
1341            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
1342            let v3 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1343            (v0, v1, v2, v3, 9)
1344        }
1345        147 => {
1346            let v0 = (data[0] as u32)
1347                | (data[1] as u32) << 8
1348                | (data[2] as u32) << 16
1349                | (data[3] as u32) << 24;
1350            let v1 = data[4] as u32;
1351            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
1352            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1353            (v0, v1, v2, v3, 10)
1354        }
1355        148 => {
1356            let v0 = data[0] as u32;
1357            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
1358            let v2 = (data[3] as u32) | (data[4] as u32) << 8;
1359            let v3 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
1360            (v0, v1, v2, v3, 8)
1361        }
1362        149 => {
1363            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1364            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
1365            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
1366            let v3 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1367            (v0, v1, v2, v3, 9)
1368        }
1369        150 => {
1370            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1371            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
1372            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
1373            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1374            (v0, v1, v2, v3, 10)
1375        }
1376        151 => {
1377            let v0 = (data[0] as u32)
1378                | (data[1] as u32) << 8
1379                | (data[2] as u32) << 16
1380                | (data[3] as u32) << 24;
1381            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
1382            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
1383            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1384            (v0, v1, v2, v3, 11)
1385        }
1386        152 => {
1387            let v0 = data[0] as u32;
1388            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
1389            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
1390            let v3 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1391            (v0, v1, v2, v3, 9)
1392        }
1393        153 => {
1394            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1395            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
1396            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
1397            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1398            (v0, v1, v2, v3, 10)
1399        }
1400        154 => {
1401            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1402            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
1403            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
1404            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1405            (v0, v1, v2, v3, 11)
1406        }
1407        155 => {
1408            let v0 = (data[0] as u32)
1409                | (data[1] as u32) << 8
1410                | (data[2] as u32) << 16
1411                | (data[3] as u32) << 24;
1412            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1413            let v2 = (data[7] as u32) | (data[8] as u32) << 8;
1414            let v3 = (data[9] as u32) | (data[10] as u32) << 8 | (data[11] as u32) << 16;
1415            (v0, v1, v2, v3, 12)
1416        }
1417        156 => {
1418            let v0 = data[0] as u32;
1419            let v1 = (data[1] as u32)
1420                | (data[2] as u32) << 8
1421                | (data[3] as u32) << 16
1422                | (data[4] as u32) << 24;
1423            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
1424            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1425            (v0, v1, v2, v3, 10)
1426        }
1427        157 => {
1428            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1429            let v1 = (data[2] as u32)
1430                | (data[3] as u32) << 8
1431                | (data[4] as u32) << 16
1432                | (data[5] as u32) << 24;
1433            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
1434            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1435            (v0, v1, v2, v3, 11)
1436        }
1437        158 => {
1438            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1439            let v1 = (data[3] as u32)
1440                | (data[4] as u32) << 8
1441                | (data[5] as u32) << 16
1442                | (data[6] as u32) << 24;
1443            let v2 = (data[7] as u32) | (data[8] as u32) << 8;
1444            let v3 = (data[9] as u32) | (data[10] as u32) << 8 | (data[11] as u32) << 16;
1445            (v0, v1, v2, v3, 12)
1446        }
1447        159 => {
1448            let v0 = (data[0] as u32)
1449                | (data[1] as u32) << 8
1450                | (data[2] as u32) << 16
1451                | (data[3] as u32) << 24;
1452            let v1 = (data[4] as u32)
1453                | (data[5] as u32) << 8
1454                | (data[6] as u32) << 16
1455                | (data[7] as u32) << 24;
1456            let v2 = (data[8] as u32) | (data[9] as u32) << 8;
1457            let v3 = (data[10] as u32) | (data[11] as u32) << 8 | (data[12] as u32) << 16;
1458            (v0, v1, v2, v3, 13)
1459        }
1460        160 => {
1461            let v0 = data[0] as u32;
1462            let v1 = data[1] as u32;
1463            let v2 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
1464            let v3 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
1465            (v0, v1, v2, v3, 8)
1466        }
1467        161 => {
1468            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1469            let v1 = data[2] as u32;
1470            let v2 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
1471            let v3 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1472            (v0, v1, v2, v3, 9)
1473        }
1474        162 => {
1475            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1476            let v1 = data[3] as u32;
1477            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1478            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1479            (v0, v1, v2, v3, 10)
1480        }
1481        163 => {
1482            let v0 = (data[0] as u32)
1483                | (data[1] as u32) << 8
1484                | (data[2] as u32) << 16
1485                | (data[3] as u32) << 24;
1486            let v1 = data[4] as u32;
1487            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
1488            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1489            (v0, v1, v2, v3, 11)
1490        }
1491        164 => {
1492            let v0 = data[0] as u32;
1493            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
1494            let v2 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
1495            let v3 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1496            (v0, v1, v2, v3, 9)
1497        }
1498        165 => {
1499            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1500            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
1501            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1502            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1503            (v0, v1, v2, v3, 10)
1504        }
1505        166 => {
1506            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1507            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
1508            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
1509            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1510            (v0, v1, v2, v3, 11)
1511        }
1512        167 => {
1513            let v0 = (data[0] as u32)
1514                | (data[1] as u32) << 8
1515                | (data[2] as u32) << 16
1516                | (data[3] as u32) << 24;
1517            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
1518            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1519            let v3 = (data[9] as u32) | (data[10] as u32) << 8 | (data[11] as u32) << 16;
1520            (v0, v1, v2, v3, 12)
1521        }
1522        168 => {
1523            let v0 = data[0] as u32;
1524            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
1525            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1526            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1527            (v0, v1, v2, v3, 10)
1528        }
1529        169 => {
1530            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1531            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
1532            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
1533            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1534            (v0, v1, v2, v3, 11)
1535        }
1536        170 => {
1537            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1538            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
1539            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1540            let v3 = (data[9] as u32) | (data[10] as u32) << 8 | (data[11] as u32) << 16;
1541            (v0, v1, v2, v3, 12)
1542        }
1543        171 => {
1544            let v0 = (data[0] as u32)
1545                | (data[1] as u32) << 8
1546                | (data[2] as u32) << 16
1547                | (data[3] as u32) << 24;
1548            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1549            let v2 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1550            let v3 = (data[10] as u32) | (data[11] as u32) << 8 | (data[12] as u32) << 16;
1551            (v0, v1, v2, v3, 13)
1552        }
1553        172 => {
1554            let v0 = data[0] as u32;
1555            let v1 = (data[1] as u32)
1556                | (data[2] as u32) << 8
1557                | (data[3] as u32) << 16
1558                | (data[4] as u32) << 24;
1559            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
1560            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1561            (v0, v1, v2, v3, 11)
1562        }
1563        173 => {
1564            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1565            let v1 = (data[2] as u32)
1566                | (data[3] as u32) << 8
1567                | (data[4] as u32) << 16
1568                | (data[5] as u32) << 24;
1569            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1570            let v3 = (data[9] as u32) | (data[10] as u32) << 8 | (data[11] as u32) << 16;
1571            (v0, v1, v2, v3, 12)
1572        }
1573        174 => {
1574            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1575            let v1 = (data[3] as u32)
1576                | (data[4] as u32) << 8
1577                | (data[5] as u32) << 16
1578                | (data[6] as u32) << 24;
1579            let v2 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1580            let v3 = (data[10] as u32) | (data[11] as u32) << 8 | (data[12] as u32) << 16;
1581            (v0, v1, v2, v3, 13)
1582        }
1583        175 => {
1584            let v0 = (data[0] as u32)
1585                | (data[1] as u32) << 8
1586                | (data[2] as u32) << 16
1587                | (data[3] as u32) << 24;
1588            let v1 = (data[4] as u32)
1589                | (data[5] as u32) << 8
1590                | (data[6] as u32) << 16
1591                | (data[7] as u32) << 24;
1592            let v2 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1593            let v3 = (data[11] as u32) | (data[12] as u32) << 8 | (data[13] as u32) << 16;
1594            (v0, v1, v2, v3, 14)
1595        }
1596        176 => {
1597            let v0 = data[0] as u32;
1598            let v1 = data[1] as u32;
1599            let v2 = (data[2] as u32)
1600                | (data[3] as u32) << 8
1601                | (data[4] as u32) << 16
1602                | (data[5] as u32) << 24;
1603            let v3 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
1604            (v0, v1, v2, v3, 9)
1605        }
1606        177 => {
1607            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1608            let v1 = data[2] as u32;
1609            let v2 = (data[3] as u32)
1610                | (data[4] as u32) << 8
1611                | (data[5] as u32) << 16
1612                | (data[6] as u32) << 24;
1613            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1614            (v0, v1, v2, v3, 10)
1615        }
1616        178 => {
1617            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1618            let v1 = data[3] as u32;
1619            let v2 = (data[4] as u32)
1620                | (data[5] as u32) << 8
1621                | (data[6] as u32) << 16
1622                | (data[7] as u32) << 24;
1623            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1624            (v0, v1, v2, v3, 11)
1625        }
1626        179 => {
1627            let v0 = (data[0] as u32)
1628                | (data[1] as u32) << 8
1629                | (data[2] as u32) << 16
1630                | (data[3] as u32) << 24;
1631            let v1 = data[4] as u32;
1632            let v2 = (data[5] as u32)
1633                | (data[6] as u32) << 8
1634                | (data[7] as u32) << 16
1635                | (data[8] as u32) << 24;
1636            let v3 = (data[9] as u32) | (data[10] as u32) << 8 | (data[11] as u32) << 16;
1637            (v0, v1, v2, v3, 12)
1638        }
1639        180 => {
1640            let v0 = data[0] as u32;
1641            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
1642            let v2 = (data[3] as u32)
1643                | (data[4] as u32) << 8
1644                | (data[5] as u32) << 16
1645                | (data[6] as u32) << 24;
1646            let v3 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
1647            (v0, v1, v2, v3, 10)
1648        }
1649        181 => {
1650            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1651            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
1652            let v2 = (data[4] as u32)
1653                | (data[5] as u32) << 8
1654                | (data[6] as u32) << 16
1655                | (data[7] as u32) << 24;
1656            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1657            (v0, v1, v2, v3, 11)
1658        }
1659        182 => {
1660            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1661            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
1662            let v2 = (data[5] as u32)
1663                | (data[6] as u32) << 8
1664                | (data[7] as u32) << 16
1665                | (data[8] as u32) << 24;
1666            let v3 = (data[9] as u32) | (data[10] as u32) << 8 | (data[11] as u32) << 16;
1667            (v0, v1, v2, v3, 12)
1668        }
1669        183 => {
1670            let v0 = (data[0] as u32)
1671                | (data[1] as u32) << 8
1672                | (data[2] as u32) << 16
1673                | (data[3] as u32) << 24;
1674            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
1675            let v2 = (data[6] as u32)
1676                | (data[7] as u32) << 8
1677                | (data[8] as u32) << 16
1678                | (data[9] as u32) << 24;
1679            let v3 = (data[10] as u32) | (data[11] as u32) << 8 | (data[12] as u32) << 16;
1680            (v0, v1, v2, v3, 13)
1681        }
1682        184 => {
1683            let v0 = data[0] as u32;
1684            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
1685            let v2 = (data[4] as u32)
1686                | (data[5] as u32) << 8
1687                | (data[6] as u32) << 16
1688                | (data[7] as u32) << 24;
1689            let v3 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
1690            (v0, v1, v2, v3, 11)
1691        }
1692        185 => {
1693            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1694            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
1695            let v2 = (data[5] as u32)
1696                | (data[6] as u32) << 8
1697                | (data[7] as u32) << 16
1698                | (data[8] as u32) << 24;
1699            let v3 = (data[9] as u32) | (data[10] as u32) << 8 | (data[11] as u32) << 16;
1700            (v0, v1, v2, v3, 12)
1701        }
1702        186 => {
1703            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1704            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
1705            let v2 = (data[6] as u32)
1706                | (data[7] as u32) << 8
1707                | (data[8] as u32) << 16
1708                | (data[9] as u32) << 24;
1709            let v3 = (data[10] as u32) | (data[11] as u32) << 8 | (data[12] as u32) << 16;
1710            (v0, v1, v2, v3, 13)
1711        }
1712        187 => {
1713            let v0 = (data[0] as u32)
1714                | (data[1] as u32) << 8
1715                | (data[2] as u32) << 16
1716                | (data[3] as u32) << 24;
1717            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1718            let v2 = (data[7] as u32)
1719                | (data[8] as u32) << 8
1720                | (data[9] as u32) << 16
1721                | (data[10] as u32) << 24;
1722            let v3 = (data[11] as u32) | (data[12] as u32) << 8 | (data[13] as u32) << 16;
1723            (v0, v1, v2, v3, 14)
1724        }
1725        188 => {
1726            let v0 = data[0] as u32;
1727            let v1 = (data[1] as u32)
1728                | (data[2] as u32) << 8
1729                | (data[3] as u32) << 16
1730                | (data[4] as u32) << 24;
1731            let v2 = (data[5] as u32)
1732                | (data[6] as u32) << 8
1733                | (data[7] as u32) << 16
1734                | (data[8] as u32) << 24;
1735            let v3 = (data[9] as u32) | (data[10] as u32) << 8 | (data[11] as u32) << 16;
1736            (v0, v1, v2, v3, 12)
1737        }
1738        189 => {
1739            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1740            let v1 = (data[2] as u32)
1741                | (data[3] as u32) << 8
1742                | (data[4] as u32) << 16
1743                | (data[5] as u32) << 24;
1744            let v2 = (data[6] as u32)
1745                | (data[7] as u32) << 8
1746                | (data[8] as u32) << 16
1747                | (data[9] as u32) << 24;
1748            let v3 = (data[10] as u32) | (data[11] as u32) << 8 | (data[12] as u32) << 16;
1749            (v0, v1, v2, v3, 13)
1750        }
1751        190 => {
1752            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1753            let v1 = (data[3] as u32)
1754                | (data[4] as u32) << 8
1755                | (data[5] as u32) << 16
1756                | (data[6] as u32) << 24;
1757            let v2 = (data[7] as u32)
1758                | (data[8] as u32) << 8
1759                | (data[9] as u32) << 16
1760                | (data[10] as u32) << 24;
1761            let v3 = (data[11] as u32) | (data[12] as u32) << 8 | (data[13] as u32) << 16;
1762            (v0, v1, v2, v3, 14)
1763        }
1764        191 => {
1765            let v0 = (data[0] as u32)
1766                | (data[1] as u32) << 8
1767                | (data[2] as u32) << 16
1768                | (data[3] as u32) << 24;
1769            let v1 = (data[4] as u32)
1770                | (data[5] as u32) << 8
1771                | (data[6] as u32) << 16
1772                | (data[7] as u32) << 24;
1773            let v2 = (data[8] as u32)
1774                | (data[9] as u32) << 8
1775                | (data[10] as u32) << 16
1776                | (data[11] as u32) << 24;
1777            let v3 = (data[12] as u32) | (data[13] as u32) << 8 | (data[14] as u32) << 16;
1778            (v0, v1, v2, v3, 15)
1779        }
1780        192 => {
1781            let v0 = data[0] as u32;
1782            let v1 = data[1] as u32;
1783            let v2 = data[2] as u32;
1784            let v3 = (data[3] as u32)
1785                | (data[4] as u32) << 8
1786                | (data[5] as u32) << 16
1787                | (data[6] as u32) << 24;
1788            (v0, v1, v2, v3, 7)
1789        }
1790        193 => {
1791            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1792            let v1 = data[2] as u32;
1793            let v2 = data[3] as u32;
1794            let v3 = (data[4] as u32)
1795                | (data[5] as u32) << 8
1796                | (data[6] as u32) << 16
1797                | (data[7] as u32) << 24;
1798            (v0, v1, v2, v3, 8)
1799        }
1800        194 => {
1801            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1802            let v1 = data[3] as u32;
1803            let v2 = data[4] as u32;
1804            let v3 = (data[5] as u32)
1805                | (data[6] as u32) << 8
1806                | (data[7] as u32) << 16
1807                | (data[8] as u32) << 24;
1808            (v0, v1, v2, v3, 9)
1809        }
1810        195 => {
1811            let v0 = (data[0] as u32)
1812                | (data[1] as u32) << 8
1813                | (data[2] as u32) << 16
1814                | (data[3] as u32) << 24;
1815            let v1 = data[4] as u32;
1816            let v2 = data[5] as u32;
1817            let v3 = (data[6] as u32)
1818                | (data[7] as u32) << 8
1819                | (data[8] as u32) << 16
1820                | (data[9] as u32) << 24;
1821            (v0, v1, v2, v3, 10)
1822        }
1823        196 => {
1824            let v0 = data[0] as u32;
1825            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
1826            let v2 = data[3] as u32;
1827            let v3 = (data[4] as u32)
1828                | (data[5] as u32) << 8
1829                | (data[6] as u32) << 16
1830                | (data[7] as u32) << 24;
1831            (v0, v1, v2, v3, 8)
1832        }
1833        197 => {
1834            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1835            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
1836            let v2 = data[4] as u32;
1837            let v3 = (data[5] as u32)
1838                | (data[6] as u32) << 8
1839                | (data[7] as u32) << 16
1840                | (data[8] as u32) << 24;
1841            (v0, v1, v2, v3, 9)
1842        }
1843        198 => {
1844            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1845            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
1846            let v2 = data[5] as u32;
1847            let v3 = (data[6] as u32)
1848                | (data[7] as u32) << 8
1849                | (data[8] as u32) << 16
1850                | (data[9] as u32) << 24;
1851            (v0, v1, v2, v3, 10)
1852        }
1853        199 => {
1854            let v0 = (data[0] as u32)
1855                | (data[1] as u32) << 8
1856                | (data[2] as u32) << 16
1857                | (data[3] as u32) << 24;
1858            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
1859            let v2 = data[6] as u32;
1860            let v3 = (data[7] as u32)
1861                | (data[8] as u32) << 8
1862                | (data[9] as u32) << 16
1863                | (data[10] as u32) << 24;
1864            (v0, v1, v2, v3, 11)
1865        }
1866        200 => {
1867            let v0 = data[0] as u32;
1868            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
1869            let v2 = data[4] as u32;
1870            let v3 = (data[5] as u32)
1871                | (data[6] as u32) << 8
1872                | (data[7] as u32) << 16
1873                | (data[8] as u32) << 24;
1874            (v0, v1, v2, v3, 9)
1875        }
1876        201 => {
1877            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1878            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
1879            let v2 = data[5] as u32;
1880            let v3 = (data[6] as u32)
1881                | (data[7] as u32) << 8
1882                | (data[8] as u32) << 16
1883                | (data[9] as u32) << 24;
1884            (v0, v1, v2, v3, 10)
1885        }
1886        202 => {
1887            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1888            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
1889            let v2 = data[6] as u32;
1890            let v3 = (data[7] as u32)
1891                | (data[8] as u32) << 8
1892                | (data[9] as u32) << 16
1893                | (data[10] as u32) << 24;
1894            (v0, v1, v2, v3, 11)
1895        }
1896        203 => {
1897            let v0 = (data[0] as u32)
1898                | (data[1] as u32) << 8
1899                | (data[2] as u32) << 16
1900                | (data[3] as u32) << 24;
1901            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
1902            let v2 = data[7] as u32;
1903            let v3 = (data[8] as u32)
1904                | (data[9] as u32) << 8
1905                | (data[10] as u32) << 16
1906                | (data[11] as u32) << 24;
1907            (v0, v1, v2, v3, 12)
1908        }
1909        204 => {
1910            let v0 = data[0] as u32;
1911            let v1 = (data[1] as u32)
1912                | (data[2] as u32) << 8
1913                | (data[3] as u32) << 16
1914                | (data[4] as u32) << 24;
1915            let v2 = data[5] as u32;
1916            let v3 = (data[6] as u32)
1917                | (data[7] as u32) << 8
1918                | (data[8] as u32) << 16
1919                | (data[9] as u32) << 24;
1920            (v0, v1, v2, v3, 10)
1921        }
1922        205 => {
1923            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1924            let v1 = (data[2] as u32)
1925                | (data[3] as u32) << 8
1926                | (data[4] as u32) << 16
1927                | (data[5] as u32) << 24;
1928            let v2 = data[6] as u32;
1929            let v3 = (data[7] as u32)
1930                | (data[8] as u32) << 8
1931                | (data[9] as u32) << 16
1932                | (data[10] as u32) << 24;
1933            (v0, v1, v2, v3, 11)
1934        }
1935        206 => {
1936            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1937            let v1 = (data[3] as u32)
1938                | (data[4] as u32) << 8
1939                | (data[5] as u32) << 16
1940                | (data[6] as u32) << 24;
1941            let v2 = data[7] as u32;
1942            let v3 = (data[8] as u32)
1943                | (data[9] as u32) << 8
1944                | (data[10] as u32) << 16
1945                | (data[11] as u32) << 24;
1946            (v0, v1, v2, v3, 12)
1947        }
1948        207 => {
1949            let v0 = (data[0] as u32)
1950                | (data[1] as u32) << 8
1951                | (data[2] as u32) << 16
1952                | (data[3] as u32) << 24;
1953            let v1 = (data[4] as u32)
1954                | (data[5] as u32) << 8
1955                | (data[6] as u32) << 16
1956                | (data[7] as u32) << 24;
1957            let v2 = data[8] as u32;
1958            let v3 = (data[9] as u32)
1959                | (data[10] as u32) << 8
1960                | (data[11] as u32) << 16
1961                | (data[12] as u32) << 24;
1962            (v0, v1, v2, v3, 13)
1963        }
1964        208 => {
1965            let v0 = data[0] as u32;
1966            let v1 = data[1] as u32;
1967            let v2 = (data[2] as u32) | (data[3] as u32) << 8;
1968            let v3 = (data[4] as u32)
1969                | (data[5] as u32) << 8
1970                | (data[6] as u32) << 16
1971                | (data[7] as u32) << 24;
1972            (v0, v1, v2, v3, 8)
1973        }
1974        209 => {
1975            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
1976            let v1 = data[2] as u32;
1977            let v2 = (data[3] as u32) | (data[4] as u32) << 8;
1978            let v3 = (data[5] as u32)
1979                | (data[6] as u32) << 8
1980                | (data[7] as u32) << 16
1981                | (data[8] as u32) << 24;
1982            (v0, v1, v2, v3, 9)
1983        }
1984        210 => {
1985            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
1986            let v1 = data[3] as u32;
1987            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
1988            let v3 = (data[6] as u32)
1989                | (data[7] as u32) << 8
1990                | (data[8] as u32) << 16
1991                | (data[9] as u32) << 24;
1992            (v0, v1, v2, v3, 10)
1993        }
1994        211 => {
1995            let v0 = (data[0] as u32)
1996                | (data[1] as u32) << 8
1997                | (data[2] as u32) << 16
1998                | (data[3] as u32) << 24;
1999            let v1 = data[4] as u32;
2000            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
2001            let v3 = (data[7] as u32)
2002                | (data[8] as u32) << 8
2003                | (data[9] as u32) << 16
2004                | (data[10] as u32) << 24;
2005            (v0, v1, v2, v3, 11)
2006        }
2007        212 => {
2008            let v0 = data[0] as u32;
2009            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
2010            let v2 = (data[3] as u32) | (data[4] as u32) << 8;
2011            let v3 = (data[5] as u32)
2012                | (data[6] as u32) << 8
2013                | (data[7] as u32) << 16
2014                | (data[8] as u32) << 24;
2015            (v0, v1, v2, v3, 9)
2016        }
2017        213 => {
2018            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
2019            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
2020            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
2021            let v3 = (data[6] as u32)
2022                | (data[7] as u32) << 8
2023                | (data[8] as u32) << 16
2024                | (data[9] as u32) << 24;
2025            (v0, v1, v2, v3, 10)
2026        }
2027        214 => {
2028            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
2029            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
2030            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
2031            let v3 = (data[7] as u32)
2032                | (data[8] as u32) << 8
2033                | (data[9] as u32) << 16
2034                | (data[10] as u32) << 24;
2035            (v0, v1, v2, v3, 11)
2036        }
2037        215 => {
2038            let v0 = (data[0] as u32)
2039                | (data[1] as u32) << 8
2040                | (data[2] as u32) << 16
2041                | (data[3] as u32) << 24;
2042            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
2043            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
2044            let v3 = (data[8] as u32)
2045                | (data[9] as u32) << 8
2046                | (data[10] as u32) << 16
2047                | (data[11] as u32) << 24;
2048            (v0, v1, v2, v3, 12)
2049        }
2050        216 => {
2051            let v0 = data[0] as u32;
2052            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
2053            let v2 = (data[4] as u32) | (data[5] as u32) << 8;
2054            let v3 = (data[6] as u32)
2055                | (data[7] as u32) << 8
2056                | (data[8] as u32) << 16
2057                | (data[9] as u32) << 24;
2058            (v0, v1, v2, v3, 10)
2059        }
2060        217 => {
2061            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
2062            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
2063            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
2064            let v3 = (data[7] as u32)
2065                | (data[8] as u32) << 8
2066                | (data[9] as u32) << 16
2067                | (data[10] as u32) << 24;
2068            (v0, v1, v2, v3, 11)
2069        }
2070        218 => {
2071            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
2072            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
2073            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
2074            let v3 = (data[8] as u32)
2075                | (data[9] as u32) << 8
2076                | (data[10] as u32) << 16
2077                | (data[11] as u32) << 24;
2078            (v0, v1, v2, v3, 12)
2079        }
2080        219 => {
2081            let v0 = (data[0] as u32)
2082                | (data[1] as u32) << 8
2083                | (data[2] as u32) << 16
2084                | (data[3] as u32) << 24;
2085            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
2086            let v2 = (data[7] as u32) | (data[8] as u32) << 8;
2087            let v3 = (data[9] as u32)
2088                | (data[10] as u32) << 8
2089                | (data[11] as u32) << 16
2090                | (data[12] as u32) << 24;
2091            (v0, v1, v2, v3, 13)
2092        }
2093        220 => {
2094            let v0 = data[0] as u32;
2095            let v1 = (data[1] as u32)
2096                | (data[2] as u32) << 8
2097                | (data[3] as u32) << 16
2098                | (data[4] as u32) << 24;
2099            let v2 = (data[5] as u32) | (data[6] as u32) << 8;
2100            let v3 = (data[7] as u32)
2101                | (data[8] as u32) << 8
2102                | (data[9] as u32) << 16
2103                | (data[10] as u32) << 24;
2104            (v0, v1, v2, v3, 11)
2105        }
2106        221 => {
2107            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
2108            let v1 = (data[2] as u32)
2109                | (data[3] as u32) << 8
2110                | (data[4] as u32) << 16
2111                | (data[5] as u32) << 24;
2112            let v2 = (data[6] as u32) | (data[7] as u32) << 8;
2113            let v3 = (data[8] as u32)
2114                | (data[9] as u32) << 8
2115                | (data[10] as u32) << 16
2116                | (data[11] as u32) << 24;
2117            (v0, v1, v2, v3, 12)
2118        }
2119        222 => {
2120            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
2121            let v1 = (data[3] as u32)
2122                | (data[4] as u32) << 8
2123                | (data[5] as u32) << 16
2124                | (data[6] as u32) << 24;
2125            let v2 = (data[7] as u32) | (data[8] as u32) << 8;
2126            let v3 = (data[9] as u32)
2127                | (data[10] as u32) << 8
2128                | (data[11] as u32) << 16
2129                | (data[12] as u32) << 24;
2130            (v0, v1, v2, v3, 13)
2131        }
2132        223 => {
2133            let v0 = (data[0] as u32)
2134                | (data[1] as u32) << 8
2135                | (data[2] as u32) << 16
2136                | (data[3] as u32) << 24;
2137            let v1 = (data[4] as u32)
2138                | (data[5] as u32) << 8
2139                | (data[6] as u32) << 16
2140                | (data[7] as u32) << 24;
2141            let v2 = (data[8] as u32) | (data[9] as u32) << 8;
2142            let v3 = (data[10] as u32)
2143                | (data[11] as u32) << 8
2144                | (data[12] as u32) << 16
2145                | (data[13] as u32) << 24;
2146            (v0, v1, v2, v3, 14)
2147        }
2148        224 => {
2149            let v0 = data[0] as u32;
2150            let v1 = data[1] as u32;
2151            let v2 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
2152            let v3 = (data[5] as u32)
2153                | (data[6] as u32) << 8
2154                | (data[7] as u32) << 16
2155                | (data[8] as u32) << 24;
2156            (v0, v1, v2, v3, 9)
2157        }
2158        225 => {
2159            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
2160            let v1 = data[2] as u32;
2161            let v2 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
2162            let v3 = (data[6] as u32)
2163                | (data[7] as u32) << 8
2164                | (data[8] as u32) << 16
2165                | (data[9] as u32) << 24;
2166            (v0, v1, v2, v3, 10)
2167        }
2168        226 => {
2169            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
2170            let v1 = data[3] as u32;
2171            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
2172            let v3 = (data[7] as u32)
2173                | (data[8] as u32) << 8
2174                | (data[9] as u32) << 16
2175                | (data[10] as u32) << 24;
2176            (v0, v1, v2, v3, 11)
2177        }
2178        227 => {
2179            let v0 = (data[0] as u32)
2180                | (data[1] as u32) << 8
2181                | (data[2] as u32) << 16
2182                | (data[3] as u32) << 24;
2183            let v1 = data[4] as u32;
2184            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
2185            let v3 = (data[8] as u32)
2186                | (data[9] as u32) << 8
2187                | (data[10] as u32) << 16
2188                | (data[11] as u32) << 24;
2189            (v0, v1, v2, v3, 12)
2190        }
2191        228 => {
2192            let v0 = data[0] as u32;
2193            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
2194            let v2 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
2195            let v3 = (data[6] as u32)
2196                | (data[7] as u32) << 8
2197                | (data[8] as u32) << 16
2198                | (data[9] as u32) << 24;
2199            (v0, v1, v2, v3, 10)
2200        }
2201        229 => {
2202            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
2203            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
2204            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
2205            let v3 = (data[7] as u32)
2206                | (data[8] as u32) << 8
2207                | (data[9] as u32) << 16
2208                | (data[10] as u32) << 24;
2209            (v0, v1, v2, v3, 11)
2210        }
2211        230 => {
2212            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
2213            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
2214            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
2215            let v3 = (data[8] as u32)
2216                | (data[9] as u32) << 8
2217                | (data[10] as u32) << 16
2218                | (data[11] as u32) << 24;
2219            (v0, v1, v2, v3, 12)
2220        }
2221        231 => {
2222            let v0 = (data[0] as u32)
2223                | (data[1] as u32) << 8
2224                | (data[2] as u32) << 16
2225                | (data[3] as u32) << 24;
2226            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
2227            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
2228            let v3 = (data[9] as u32)
2229                | (data[10] as u32) << 8
2230                | (data[11] as u32) << 16
2231                | (data[12] as u32) << 24;
2232            (v0, v1, v2, v3, 13)
2233        }
2234        232 => {
2235            let v0 = data[0] as u32;
2236            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
2237            let v2 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
2238            let v3 = (data[7] as u32)
2239                | (data[8] as u32) << 8
2240                | (data[9] as u32) << 16
2241                | (data[10] as u32) << 24;
2242            (v0, v1, v2, v3, 11)
2243        }
2244        233 => {
2245            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
2246            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
2247            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
2248            let v3 = (data[8] as u32)
2249                | (data[9] as u32) << 8
2250                | (data[10] as u32) << 16
2251                | (data[11] as u32) << 24;
2252            (v0, v1, v2, v3, 12)
2253        }
2254        234 => {
2255            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
2256            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
2257            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
2258            let v3 = (data[9] as u32)
2259                | (data[10] as u32) << 8
2260                | (data[11] as u32) << 16
2261                | (data[12] as u32) << 24;
2262            (v0, v1, v2, v3, 13)
2263        }
2264        235 => {
2265            let v0 = (data[0] as u32)
2266                | (data[1] as u32) << 8
2267                | (data[2] as u32) << 16
2268                | (data[3] as u32) << 24;
2269            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
2270            let v2 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
2271            let v3 = (data[10] as u32)
2272                | (data[11] as u32) << 8
2273                | (data[12] as u32) << 16
2274                | (data[13] as u32) << 24;
2275            (v0, v1, v2, v3, 14)
2276        }
2277        236 => {
2278            let v0 = data[0] as u32;
2279            let v1 = (data[1] as u32)
2280                | (data[2] as u32) << 8
2281                | (data[3] as u32) << 16
2282                | (data[4] as u32) << 24;
2283            let v2 = (data[5] as u32) | (data[6] as u32) << 8 | (data[7] as u32) << 16;
2284            let v3 = (data[8] as u32)
2285                | (data[9] as u32) << 8
2286                | (data[10] as u32) << 16
2287                | (data[11] as u32) << 24;
2288            (v0, v1, v2, v3, 12)
2289        }
2290        237 => {
2291            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
2292            let v1 = (data[2] as u32)
2293                | (data[3] as u32) << 8
2294                | (data[4] as u32) << 16
2295                | (data[5] as u32) << 24;
2296            let v2 = (data[6] as u32) | (data[7] as u32) << 8 | (data[8] as u32) << 16;
2297            let v3 = (data[9] as u32)
2298                | (data[10] as u32) << 8
2299                | (data[11] as u32) << 16
2300                | (data[12] as u32) << 24;
2301            (v0, v1, v2, v3, 13)
2302        }
2303        238 => {
2304            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
2305            let v1 = (data[3] as u32)
2306                | (data[4] as u32) << 8
2307                | (data[5] as u32) << 16
2308                | (data[6] as u32) << 24;
2309            let v2 = (data[7] as u32) | (data[8] as u32) << 8 | (data[9] as u32) << 16;
2310            let v3 = (data[10] as u32)
2311                | (data[11] as u32) << 8
2312                | (data[12] as u32) << 16
2313                | (data[13] as u32) << 24;
2314            (v0, v1, v2, v3, 14)
2315        }
2316        239 => {
2317            let v0 = (data[0] as u32)
2318                | (data[1] as u32) << 8
2319                | (data[2] as u32) << 16
2320                | (data[3] as u32) << 24;
2321            let v1 = (data[4] as u32)
2322                | (data[5] as u32) << 8
2323                | (data[6] as u32) << 16
2324                | (data[7] as u32) << 24;
2325            let v2 = (data[8] as u32) | (data[9] as u32) << 8 | (data[10] as u32) << 16;
2326            let v3 = (data[11] as u32)
2327                | (data[12] as u32) << 8
2328                | (data[13] as u32) << 16
2329                | (data[14] as u32) << 24;
2330            (v0, v1, v2, v3, 15)
2331        }
2332        240 => {
2333            let v0 = data[0] as u32;
2334            let v1 = data[1] as u32;
2335            let v2 = (data[2] as u32)
2336                | (data[3] as u32) << 8
2337                | (data[4] as u32) << 16
2338                | (data[5] as u32) << 24;
2339            let v3 = (data[6] as u32)
2340                | (data[7] as u32) << 8
2341                | (data[8] as u32) << 16
2342                | (data[9] as u32) << 24;
2343            (v0, v1, v2, v3, 10)
2344        }
2345        241 => {
2346            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
2347            let v1 = data[2] as u32;
2348            let v2 = (data[3] as u32)
2349                | (data[4] as u32) << 8
2350                | (data[5] as u32) << 16
2351                | (data[6] as u32) << 24;
2352            let v3 = (data[7] as u32)
2353                | (data[8] as u32) << 8
2354                | (data[9] as u32) << 16
2355                | (data[10] as u32) << 24;
2356            (v0, v1, v2, v3, 11)
2357        }
2358        242 => {
2359            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
2360            let v1 = data[3] as u32;
2361            let v2 = (data[4] as u32)
2362                | (data[5] as u32) << 8
2363                | (data[6] as u32) << 16
2364                | (data[7] as u32) << 24;
2365            let v3 = (data[8] as u32)
2366                | (data[9] as u32) << 8
2367                | (data[10] as u32) << 16
2368                | (data[11] as u32) << 24;
2369            (v0, v1, v2, v3, 12)
2370        }
2371        243 => {
2372            let v0 = (data[0] as u32)
2373                | (data[1] as u32) << 8
2374                | (data[2] as u32) << 16
2375                | (data[3] as u32) << 24;
2376            let v1 = data[4] as u32;
2377            let v2 = (data[5] as u32)
2378                | (data[6] as u32) << 8
2379                | (data[7] as u32) << 16
2380                | (data[8] as u32) << 24;
2381            let v3 = (data[9] as u32)
2382                | (data[10] as u32) << 8
2383                | (data[11] as u32) << 16
2384                | (data[12] as u32) << 24;
2385            (v0, v1, v2, v3, 13)
2386        }
2387        244 => {
2388            let v0 = data[0] as u32;
2389            let v1 = (data[1] as u32) | (data[2] as u32) << 8;
2390            let v2 = (data[3] as u32)
2391                | (data[4] as u32) << 8
2392                | (data[5] as u32) << 16
2393                | (data[6] as u32) << 24;
2394            let v3 = (data[7] as u32)
2395                | (data[8] as u32) << 8
2396                | (data[9] as u32) << 16
2397                | (data[10] as u32) << 24;
2398            (v0, v1, v2, v3, 11)
2399        }
2400        245 => {
2401            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
2402            let v1 = (data[2] as u32) | (data[3] as u32) << 8;
2403            let v2 = (data[4] as u32)
2404                | (data[5] as u32) << 8
2405                | (data[6] as u32) << 16
2406                | (data[7] as u32) << 24;
2407            let v3 = (data[8] as u32)
2408                | (data[9] as u32) << 8
2409                | (data[10] as u32) << 16
2410                | (data[11] as u32) << 24;
2411            (v0, v1, v2, v3, 12)
2412        }
2413        246 => {
2414            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
2415            let v1 = (data[3] as u32) | (data[4] as u32) << 8;
2416            let v2 = (data[5] as u32)
2417                | (data[6] as u32) << 8
2418                | (data[7] as u32) << 16
2419                | (data[8] as u32) << 24;
2420            let v3 = (data[9] as u32)
2421                | (data[10] as u32) << 8
2422                | (data[11] as u32) << 16
2423                | (data[12] as u32) << 24;
2424            (v0, v1, v2, v3, 13)
2425        }
2426        247 => {
2427            let v0 = (data[0] as u32)
2428                | (data[1] as u32) << 8
2429                | (data[2] as u32) << 16
2430                | (data[3] as u32) << 24;
2431            let v1 = (data[4] as u32) | (data[5] as u32) << 8;
2432            let v2 = (data[6] as u32)
2433                | (data[7] as u32) << 8
2434                | (data[8] as u32) << 16
2435                | (data[9] as u32) << 24;
2436            let v3 = (data[10] as u32)
2437                | (data[11] as u32) << 8
2438                | (data[12] as u32) << 16
2439                | (data[13] as u32) << 24;
2440            (v0, v1, v2, v3, 14)
2441        }
2442        248 => {
2443            let v0 = data[0] as u32;
2444            let v1 = (data[1] as u32) | (data[2] as u32) << 8 | (data[3] as u32) << 16;
2445            let v2 = (data[4] as u32)
2446                | (data[5] as u32) << 8
2447                | (data[6] as u32) << 16
2448                | (data[7] as u32) << 24;
2449            let v3 = (data[8] as u32)
2450                | (data[9] as u32) << 8
2451                | (data[10] as u32) << 16
2452                | (data[11] as u32) << 24;
2453            (v0, v1, v2, v3, 12)
2454        }
2455        249 => {
2456            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
2457            let v1 = (data[2] as u32) | (data[3] as u32) << 8 | (data[4] as u32) << 16;
2458            let v2 = (data[5] as u32)
2459                | (data[6] as u32) << 8
2460                | (data[7] as u32) << 16
2461                | (data[8] as u32) << 24;
2462            let v3 = (data[9] as u32)
2463                | (data[10] as u32) << 8
2464                | (data[11] as u32) << 16
2465                | (data[12] as u32) << 24;
2466            (v0, v1, v2, v3, 13)
2467        }
2468        250 => {
2469            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
2470            let v1 = (data[3] as u32) | (data[4] as u32) << 8 | (data[5] as u32) << 16;
2471            let v2 = (data[6] as u32)
2472                | (data[7] as u32) << 8
2473                | (data[8] as u32) << 16
2474                | (data[9] as u32) << 24;
2475            let v3 = (data[10] as u32)
2476                | (data[11] as u32) << 8
2477                | (data[12] as u32) << 16
2478                | (data[13] as u32) << 24;
2479            (v0, v1, v2, v3, 14)
2480        }
2481        251 => {
2482            let v0 = (data[0] as u32)
2483                | (data[1] as u32) << 8
2484                | (data[2] as u32) << 16
2485                | (data[3] as u32) << 24;
2486            let v1 = (data[4] as u32) | (data[5] as u32) << 8 | (data[6] as u32) << 16;
2487            let v2 = (data[7] as u32)
2488                | (data[8] as u32) << 8
2489                | (data[9] as u32) << 16
2490                | (data[10] as u32) << 24;
2491            let v3 = (data[11] as u32)
2492                | (data[12] as u32) << 8
2493                | (data[13] as u32) << 16
2494                | (data[14] as u32) << 24;
2495            (v0, v1, v2, v3, 15)
2496        }
2497        252 => {
2498            let v0 = data[0] as u32;
2499            let v1 = (data[1] as u32)
2500                | (data[2] as u32) << 8
2501                | (data[3] as u32) << 16
2502                | (data[4] as u32) << 24;
2503            let v2 = (data[5] as u32)
2504                | (data[6] as u32) << 8
2505                | (data[7] as u32) << 16
2506                | (data[8] as u32) << 24;
2507            let v3 = (data[9] as u32)
2508                | (data[10] as u32) << 8
2509                | (data[11] as u32) << 16
2510                | (data[12] as u32) << 24;
2511            (v0, v1, v2, v3, 13)
2512        }
2513        253 => {
2514            let v0 = (data[0] as u32) | (data[1] as u32) << 8;
2515            let v1 = (data[2] as u32)
2516                | (data[3] as u32) << 8
2517                | (data[4] as u32) << 16
2518                | (data[5] as u32) << 24;
2519            let v2 = (data[6] as u32)
2520                | (data[7] as u32) << 8
2521                | (data[8] as u32) << 16
2522                | (data[9] as u32) << 24;
2523            let v3 = (data[10] as u32)
2524                | (data[11] as u32) << 8
2525                | (data[12] as u32) << 16
2526                | (data[13] as u32) << 24;
2527            (v0, v1, v2, v3, 14)
2528        }
2529        254 => {
2530            let v0 = (data[0] as u32) | (data[1] as u32) << 8 | (data[2] as u32) << 16;
2531            let v1 = (data[3] as u32)
2532                | (data[4] as u32) << 8
2533                | (data[5] as u32) << 16
2534                | (data[6] as u32) << 24;
2535            let v2 = (data[7] as u32)
2536                | (data[8] as u32) << 8
2537                | (data[9] as u32) << 16
2538                | (data[10] as u32) << 24;
2539            let v3 = (data[11] as u32)
2540                | (data[12] as u32) << 8
2541                | (data[13] as u32) << 16
2542                | (data[14] as u32) << 24;
2543            (v0, v1, v2, v3, 15)
2544        }
2545        255 => {
2546            let v0 = (data[0] as u32)
2547                | (data[1] as u32) << 8
2548                | (data[2] as u32) << 16
2549                | (data[3] as u32) << 24;
2550            let v1 = (data[4] as u32)
2551                | (data[5] as u32) << 8
2552                | (data[6] as u32) << 16
2553                | (data[7] as u32) << 24;
2554            let v2 = (data[8] as u32)
2555                | (data[9] as u32) << 8
2556                | (data[10] as u32) << 16
2557                | (data[11] as u32) << 24;
2558            let v3 = (data[12] as u32)
2559                | (data[13] as u32) << 8
2560                | (data[14] as u32) << 16
2561                | (data[15] as u32) << 24;
2562            (v0, v1, v2, v3, 16)
2563        } // END
2564    }
2565}