// Extracted from minimp3.h (CC0, github.com/lieff/minimp3)
// ISO 11172-3 Annex B, Table B.7 Huffman trees

static const int16_t tabs[] = {
    0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    785,   785,   785,   785,   784,   784,   784,   784,   513,   513,   513,   513,   513,   513,   513,   513,
    256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,
    -255,  1313,  1298,  1282,  785,   785,   785,   785,   784,   784,   784,   784,   769,   769,   769,   769,
    256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,
    290,   288,   -255,  1313,  1298,  1282,  769,   769,   769,   769,   529,   529,   529,   529,   529,   529,
    529,   529,   528,   528,   528,   528,   528,   528,   528,   528,   512,   512,   512,   512,   512,   512,
    512,   512,   290,   288,   -253,  -318,  -351,  -367,  785,   785,   785,   785,   784,   784,   784,   784,
    769,   769,   769,   769,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,
    256,   256,   256,   256,   819,   818,   547,   547,   275,   275,   275,   275,   561,   560,   515,   546,
    289,   274,   288,   258,   -254,  -287,  1329,  1299,  1314,  1312,  1057,  1057,  1042,  1042,  1026,  1026,
    784,   784,   784,   784,   529,   529,   529,   529,   529,   529,   529,   529,   769,   769,   769,   769,
    768,   768,   768,   768,   563,   560,   306,   306,   291,   259,   -252,  -413,  -477,  -542,  1298,  -575,
    1041,  1041,  784,   784,   784,   784,   769,   769,   769,   769,   256,   256,   256,   256,   256,   256,
    256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   -383,  -399,  1107,  1092,  1106,  1061,
    849,   849,   789,   789,   1104,  1091,  773,   773,   1076,  1075,  341,   340,   325,   309,   834,   804,
    577,   577,   532,   532,   516,   516,   832,   818,   803,   816,   561,   561,   531,   531,   515,   546,
    289,   289,   288,   258,   -252,  -429,  -493,  -559,  1057,  1057,  1042,  1042,  529,   529,   529,   529,
    529,   529,   529,   529,   784,   784,   784,   784,   769,   769,   769,   769,   512,   512,   512,   512,
    512,   512,   512,   512,   -382,  1077,  -415,  1106,  1061,  1104,  849,   849,   789,   789,   1091,  1076,
    1029,  1075,  834,   834,   597,   581,   340,   340,   339,   324,   804,   833,   532,   532,   832,   772,
    818,   803,   817,   787,   816,   771,   290,   290,   290,   290,   288,   258,   -253,  -349,  -414,  -447,
    -463,  1329,  1299,  -479,  1314,  1312,  1057,  1057,  1042,  1042,  1026,  1026,  785,   785,   785,   785,
    784,   784,   784,   784,   769,   769,   769,   769,   768,   768,   768,   768,   -319,  851,   821,   -335,
    836,   850,   805,   849,   341,   340,   325,   336,   533,   533,   579,   579,   564,   564,   773,   832,
    578,   548,   563,   516,   321,   276,   306,   291,   304,   259,   -251,  -572,  -733,  -830,  -863,  -879,
    1041,  1041,  784,   784,   784,   784,   769,   769,   769,   769,   256,   256,   256,   256,   256,   256,
    256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   -511,  -527,  -543,  1396,  1351,  1381,
    1366,  1395,  1335,  1380,  -559,  1334,  1138,  1138,  1063,  1063,  1350,  1392,  1031,  1031,  1062,  1062,
    1364,  1363,  1120,  1120,  1333,  1348,  881,   881,   881,   881,   375,   374,   359,   373,   343,   358,
    341,   325,   791,   791,   1123,  1122,  -703,  1105,  1045,  -719,  865,   865,   790,   790,   774,   774,
    1104,  1029,  338,   293,   323,   308,   -799,  -815,  833,   788,   772,   818,   803,   816,   322,   292,
    307,   320,   561,   531,   515,   546,   289,   274,   288,   258,   -251,  -525,  -605,  -685,  -765,  -831,
    -846,  1298,  1057,  1057,  1312,  1282,  785,   785,   785,   785,   784,   784,   784,   784,   769,   769,
    769,   769,   512,   512,   512,   512,   512,   512,   512,   512,   1399,  1398,  1383,  1367,  1382,  1396,
    1351,  -511,  1381,  1366,  1139,  1139,  1079,  1079,  1124,  1124,  1364,  1349,  1363,  1333,  882,   882,
    882,   882,   807,   807,   807,   807,   1094,  1094,  1136,  1136,  373,   341,   535,   535,   881,   775,
    867,   822,   774,   -591,  324,   338,   -671,  849,   550,   550,   866,   864,   609,   609,   293,   336,
    534,   534,   789,   835,   773,   -751,  834,   804,   308,   307,   833,   788,   832,   772,   562,   562,
    547,   547,   305,   275,   560,   515,   290,   290,   -252,  -397,  -477,  -557,  -622,  -653,  -719,  -735,
    -750,  1329,  1299,  1314,  1057,  1057,  1042,  1042,  1312,  1282,  1024,  1024,  785,   785,   785,   785,
    784,   784,   784,   784,   769,   769,   769,   769,   -383,  1127,  1141,  1111,  1126,  1140,  1095,  1110,
    869,   869,   883,   883,   1079,  1109,  882,   882,   375,   374,   807,   868,   838,   881,   791,   -463,
    867,   822,   368,   263,   852,   837,   836,   -543,  610,   610,   550,   550,   352,   336,   534,   534,
    865,   774,   851,   821,   850,   805,   593,   533,   579,   564,   773,   832,   578,   578,   548,   548,
    577,   577,   307,   276,   306,   291,   516,   560,   259,   259,   -250,  -2107, -2507, -2764, -2909, -2974,
    -3007, -3023, 1041,  1041,  1040,  1040,  769,   769,   769,   769,   256,   256,   256,   256,   256,   256,
    256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   -767,  -1052, -1213, -1277, -1358, -1405,
    -1469, -1535, -1550, -1582, -1614, -1647, -1662, -1694, -1726, -1759, -1774, -1807, -1822, -1854, -1886, 1565,
    -1919, -1935, -1951, -1967, 1731,  1730,  1580,  1717,  -1983, 1729,  1564,  -1999, 1548,  -2015, -2031, 1715,
    1595,  -2047, 1714,  -2063, 1610,  -2079, 1609,  -2095, 1323,  1323,  1457,  1457,  1307,  1307,  1712,  1547,
    1641,  1700,  1699,  1594,  1685,  1625,  1442,  1442,  1322,  1322,  -780,  -973,  -910,  1279,  1278,  1277,
    1262,  1276,  1261,  1275,  1215,  1260,  1229,  -959,  974,   974,   989,   989,   -943,  735,   478,   478,
    495,   463,   506,   414,   -1039, 1003,  958,   1017,  927,   942,   987,   957,   431,   476,   1272,  1167,
    1228,  -1183, 1256,  -1199, 895,   895,   941,   941,   1242,  1227,  1212,  1135,  1014,  1014,  490,   489,
    503,   487,   910,   1013,  985,   925,   863,   894,   970,   955,   1012,  847,   -1343, 831,   755,   755,
    984,   909,   428,   366,   754,   559,   -1391, 752,   486,   457,   924,   997,   698,   698,   983,   893,
    740,   740,   908,   877,   739,   739,   667,   667,   953,   938,   497,   287,   271,   271,   683,   606,
    590,   712,   726,   574,   302,   302,   738,   736,   481,   286,   526,   725,   605,   711,   636,   724,
    696,   651,   589,   681,   666,   710,   364,   467,   573,   695,   466,   466,   301,   465,   379,   379,
    709,   604,   665,   679,   316,   316,   634,   633,   436,   436,   464,   269,   424,   394,   452,   332,
    438,   363,   347,   408,   393,   448,   331,   422,   362,   407,   392,   421,   346,   406,   391,   376,
    375,   359,   1441,  1306,  -2367, 1290,  -2383, 1337,  -2399, -2415, 1426,  1321,  -2431, 1411,  1336,  -2447,
    -2463, -2479, 1169,  1169,  1049,  1049,  1424,  1289,  1412,  1352,  1319,  -2495, 1154,  1154,  1064,  1064,
    1153,  1153,  416,   390,   360,   404,   403,   389,   344,   374,   373,   343,   358,   372,   327,   357,
    342,   311,   356,   326,   1395,  1394,  1137,  1137,  1047,  1047,  1365,  1392,  1287,  1379,  1334,  1364,
    1349,  1378,  1318,  1363,  792,   792,   792,   792,   1152,  1152,  1032,  1032,  1121,  1121,  1046,  1046,
    1120,  1120,  1030,  1030,  -2895, 1106,  1061,  1104,  849,   849,   789,   789,   1091,  1076,  1029,  1090,
    1060,  1075,  833,   833,   309,   324,   532,   532,   832,   772,   818,   803,   561,   561,   531,   560,
    515,   546,   289,   274,   288,   258,   -250,  -1179, -1579, -1836, -1996, -2124, -2253, -2333, -2413, -2477,
    -2542, -2574, -2607, -2622, -2655, 1314,  1313,  1298,  1312,  1282,  785,   785,   785,   785,   1040,  1040,
    1025,  1025,  768,   768,   768,   768,   -766,  -798,  -830,  -862,  -895,  -911,  -927,  -943,  -959,  -975,
    -991,  -1007, -1023, -1039, -1055, -1070, 1724,  1647,  -1103, -1119, 1631,  1767,  1662,  1738,  1708,  1723,
    -1135, 1780,  1615,  1779,  1599,  1677,  1646,  1778,  1583,  -1151, 1777,  1567,  1737,  1692,  1765,  1722,
    1707,  1630,  1751,  1661,  1764,  1614,  1736,  1676,  1763,  1750,  1645,  1598,  1721,  1691,  1762,  1706,
    1582,  1761,  1566,  -1167, 1749,  1629,  767,   766,   751,   765,   494,   494,   735,   764,   719,   749,
    734,   763,   447,   447,   748,   718,   477,   506,   431,   491,   446,   476,   461,   505,   415,   430,
    475,   445,   504,   399,   460,   489,   414,   503,   383,   474,   429,   459,   502,   502,   746,   752,
    488,   398,   501,   473,   413,   472,   486,   271,   480,   270,   -1439, -1455, 1357,  -1471, -1487, -1503,
    1341,  1325,  -1519, 1489,  1463,  1403,  1309,  -1535, 1372,  1448,  1418,  1476,  1356,  1462,  1387,  -1551,
    1475,  1340,  1447,  1402,  1386,  -1567, 1068,  1068,  1474,  1461,  455,   380,   468,   440,   395,   425,
    410,   454,   364,   467,   466,   464,   453,   269,   409,   448,   268,   432,   1371,  1473,  1432,  1417,
    1308,  1460,  1355,  1446,  1459,  1431,  1083,  1083,  1401,  1416,  1458,  1445,  1067,  1067,  1370,  1457,
    1051,  1051,  1291,  1430,  1385,  1444,  1354,  1415,  1400,  1443,  1082,  1082,  1173,  1113,  1186,  1066,
    1185,  1050,  -1967, 1158,  1128,  1172,  1097,  1171,  1081,  -1983, 1157,  1112,  416,   266,   375,   400,
    1170,  1142,  1127,  1065,  793,   793,   1169,  1033,  1156,  1096,  1141,  1111,  1155,  1080,  1126,  1140,
    898,   898,   808,   808,   897,   897,   792,   792,   1095,  1152,  1032,  1125,  1110,  1139,  1079,  1124,
    882,   807,   838,   881,   853,   791,   -2319, 867,   368,   263,   822,   852,   837,   866,   806,   865,
    -2399, 851,   352,   262,   534,   534,   821,   836,   594,   594,   549,   549,   593,   593,   533,   533,
    848,   773,   579,   579,   564,   578,   548,   563,   276,   276,   577,   576,   306,   291,   516,   560,
    305,   305,   275,   259,   -251,  -892,  -2058, -2620, -2828, -2957, -3023, -3039, 1041,  1041,  1040,  1040,
    769,   769,   769,   769,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,   256,
    256,   256,   256,   256,   -511,  -527,  -543,  -559,  1530,  -575,  -591,  1528,  1527,  1407,  1526,  1391,
    1023,  1023,  1023,  1023,  1525,  1375,  1268,  1268,  1103,  1103,  1087,  1087,  1039,  1039,  1523,  -604,
    815,   815,   815,   815,   510,   495,   509,   479,   508,   463,   507,   447,   431,   505,   415,   399,
    -734,  -782,  1262,  -815,  1259,  1244,  -831,  1258,  1228,  -847,  -863,  1196,  -879,  1253,  987,   987,
    748,   -767,  493,   493,   462,   477,   414,   414,   686,   669,   478,   446,   461,   445,   474,   429,
    487,   458,   412,   471,   1266,  1264,  1009,  1009,  799,   799,   -1019, -1276, -1452, -1581, -1677, -1757,
    -1821, -1886, -1933, -1997, 1257,  1257,  1483,  1468,  1512,  1422,  1497,  1406,  1467,  1496,  1421,  1510,
    1134,  1134,  1225,  1225,  1466,  1451,  1374,  1405,  1252,  1252,  1358,  1480,  1164,  1164,  1251,  1251,
    1238,  1238,  1389,  1465,  -1407, 1054,  1101,  -1423, 1207,  -1439, 830,   830,   1248,  1038,  1237,  1117,
    1223,  1148,  1236,  1208,  411,   426,   395,   410,   379,   269,   1193,  1222,  1132,  1235,  1221,  1116,
    976,   976,   1192,  1162,  1177,  1220,  1131,  1191,  963,   963,   -1647, 961,   780,   -1663, 558,   558,
    994,   993,   437,   408,   393,   407,   829,   978,   813,   797,   947,   -1743, 721,   721,   377,   392,
    844,   950,   828,   890,   706,   706,   812,   859,   796,   960,   948,   843,   934,   874,   571,   571,
    -1919, 690,   555,   689,   421,   346,   539,   539,   944,   779,   918,   873,   932,   842,   903,   888,
    570,   570,   931,   917,   674,   674,   -2575, 1562,  -2591, 1609,  -2607, 1654,  1322,  1322,  1441,  1441,
    1696,  1546,  1683,  1593,  1669,  1624,  1426,  1426,  1321,  1321,  1639,  1680,  1425,  1425,  1305,  1305,
    1545,  1668,  1608,  1623,  1667,  1592,  1638,  1666,  1320,  1320,  1652,  1607,  1409,  1409,  1304,  1304,
    1288,  1288,  1664,  1637,  1395,  1395,  1335,  1335,  1622,  1636,  1394,  1394,  1319,  1319,  1606,  1621,
    1392,  1392,  1137,  1137,  1137,  1137,  345,   390,   360,   375,   404,   373,   1047,  -2751, -2767, -2783,
    1062,  1121,  1046,  -2799, 1077,  -2815, 1106,  1061,  789,   789,   1105,  1104,  263,   355,   310,   340,
    325,   354,   352,   262,   339,   324,   1091,  1076,  1029,  1090,  1060,  1075,  833,   833,   788,   788,
    1088,  1028,  818,   818,   803,   803,   561,   561,   531,   531,   816,   771,   546,   546,   289,   274,
    288,   258,   -253,  -317,  -381,  -446,  -478,  -509,  1279,  1279,  -811,  -1179, -1451, -1756, -1900, -2028,
    -2189, -2253, -2333, -2414, -2445, -2511, -2526, 1313,  1298,  -2559, 1041,  1041,  1040,  1040,  1025,  1025,
    1024,  1024,  1022,  1007,  1021,  991,   1020,  975,   1019,  959,   687,   687,   1018,  1017,  671,   671,
    655,   655,   1016,  1015,  639,   639,   758,   758,   623,   623,   757,   607,   756,   591,   755,   575,
    754,   559,   543,   543,   1009,  783,   -575,  -621,  -685,  -749,  496,   -590,  750,   749,   734,   748,
    974,   989,   1003,  958,   988,   973,   1002,  942,   987,   957,   972,   1001,  926,   986,   941,   971,
    956,   1000,  910,   985,   925,   999,   894,   970,   -1071, -1087, -1102, 1390,  -1135, 1436,  1509,  1451,
    1374,  -1151, 1405,  1358,  1480,  1420,  -1167, 1507,  1494,  1389,  1342,  1465,  1435,  1450,  1326,  1505,
    1310,  1493,  1373,  1479,  1404,  1492,  1464,  1419,  428,   443,   472,   397,   736,   526,   464,   464,
    486,   457,   442,   471,   484,   482,   1357,  1449,  1434,  1478,  1388,  1491,  1341,  1490,  1325,  1489,
    1463,  1403,  1309,  1477,  1372,  1448,  1418,  1433,  1476,  1356,  1462,  1387,  -1439, 1475,  1340,  1447,
    1402,  1474,  1324,  1461,  1371,  1473,  269,   448,   1432,  1417,  1308,  1460,  -1711, 1459,  -1727, 1441,
    1099,  1099,  1446,  1386,  1431,  1401,  -1743, 1289,  1083,  1083,  1160,  1160,  1458,  1445,  1067,  1067,
    1370,  1457,  1307,  1430,  1129,  1129,  1098,  1098,  268,   432,   267,   416,   266,   400,   -1887, 1144,
    1187,  1082,  1173,  1113,  1186,  1066,  1050,  1158,  1128,  1143,  1172,  1097,  1171,  1081,  420,   391,
    1157,  1112,  1170,  1142,  1127,  1065,  1169,  1049,  1156,  1096,  1141,  1111,  1155,  1080,  1126,  1154,
    1064,  1153,  1140,  1095,  1048,  -2159, 1125,  1110,  1137,  -2175, 823,   823,   1139,  1138,  807,   807,
    384,   264,   368,   263,   868,   838,   853,   791,   867,   822,   852,   837,   866,   806,   865,   790,
    -2319, 851,   821,   836,   352,   262,   850,   805,   849,   -2399, 533,   533,   835,   820,   336,   261,
    578,   548,   563,   577,   532,   532,   832,   772,   562,   562,   547,   547,   305,   275,   560,   515,
    290,   290,   288,   258
};

static const uint8_t tab32[]          = { 130, 162, 193, 209, 44,  28,  76,  140, 9,   9,   9,   9,  9,   9,
                                          9,   9,   190, 254, 222, 238, 126, 94,  157, 157, 109, 61, 173, 205 };
static const uint8_t tab33[]          = { 252, 236, 220, 204, 188, 172, 156, 140, 124, 108, 92, 76, 60, 44, 28, 12 };
static const int16_t tabindex[2 * 16] = { 0,    32,   64,   98,   0,    132,  180,  218,  292,  364,  426,
                                          538,  648,  746,  0,    1126, 1460, 1460, 1460, 1460, 1460, 1460,
                                          1460, 1460, 1842, 1842, 1842, 1842, 1842, 1842, 1842, 1842 };
static const uint8_t g_linbits[]      = { 0, 0, 0, 0, 0, 0, 0,  0,  0, 0, 0, 0, 0, 0, 0,  0,
                                          1, 2, 3, 4, 6, 8, 10, 13, 4, 5, 6, 7, 8, 9, 11, 13 };
