Merge CV, ver=5.1; ops/methods from HV, and interface from CV where possible
[goodguy/history.git] / cinelerra-5.1 / libzmpeg3 / huf.C
diff --git a/cinelerra-5.1/libzmpeg3/huf.C b/cinelerra-5.1/libzmpeg3/huf.C
new file mode 100644 (file)
index 0000000..0bd4152
--- /dev/null
@@ -0,0 +1,1412 @@
+#include <stdio.h>
+#include <stdint.h>
+#include "libzmpeg3.h"
+#include "huf.h"
+
+// Standard Huffman Tables for Text Compression1/2
+//   A/65, Annex C
+
+uint8_t huf::huf100[] = {
+  0xfe, 0xea, 0xfe, 0xfa, 0x53, 0xfe, 0x57, 0x4e,
+  0x54, 0xfe, 0xfe, 0x41, 0x4a, 0xfe, 0xfe, 0x4f,
+  0xfe, 0x55, 0x51, 0xfe, 0x32, 0x37, 0xfe, 0xf6,
+  0xfe, 0xfa, 0xfe, 0x42, 0x49, 0x45, 0x4d, 0x43,
+  0xfe, 0xec, 0xfe, 0xf0, 0x46, 0xfe, 0xfe, 0xf6,
+  0x59, 0xfe, 0xfe, 0x1b, 0x5a, 0xfe, 0x34, 0x24,
+  0x4b, 0x56, 0x52, 0x44, 0xfe, 0xfc, 0x47, 0x4c,
+  0x50, 0x48,
+};
+
+uint8_t huf::huf101[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf102[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf103[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf104[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf105[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf106[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf107[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf108[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf109[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf10a[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf10b[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf10c[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf10d[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf10e[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf10f[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf110[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf111[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf112[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf113[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf114[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf115[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf116[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf117[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf118[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf119[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf11a[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf11b[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf11c[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf11d[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf11e[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf11f[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf120[] = {
+  0xfe, 0xd0, 0xfe, 0xea, 0xfe, 0xee, 0xfe, 0x6f,
+  0xfe, 0x47, 0xfe, 0x59, 0xfe, 0xf8, 0xfe, 0x2d,
+  0x39, 0xfe, 0x58, 0x65, 0x32, 0x5a, 0x42, 0x57,
+  0xfe, 0xee, 0xfe, 0x4d, 0xfe, 0xf4, 0xfe, 0x26,
+  0xfe, 0xfc, 0x63, 0x33, 0xfe, 0x64, 0x27, 0x31,
+  0x69, 0x4b, 0xfe, 0x74, 0x61, 0xfe, 0x45, 0x4f,
+  0xfe, 0xe6, 0xfe, 0xee, 0x54, 0xfe, 0xfe, 0x46,
+  0xfe, 0xf8, 0xfe, 0x55, 0x66, 0xfe, 0x6c, 0x51,
+  0xfe, 0x56, 0x1b, 0x62, 0xfe, 0xfc, 0x52, 0x48,
+  0x4e, 0x41, 0xfe, 0xfc, 0x43, 0x53, 0xfe, 0xfc,
+  0x44, 0x50, 0x4c, 0xfe, 0x4a, 0x49,
+};
+
+uint8_t huf::huf121[] = {
+  0xfe, 0x00, 0x20, 0x1b,
+};
+
+uint8_t huf::huf122[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf123[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf124[] = {
+  0x31, 0x1b,
+};
+
+uint8_t huf::huf125[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf126[] = {
+  0x1b, 0x20,
+};
+
+uint8_t huf::huf127[] = {
+  0xfe, 0x73, 0xfe, 0xfa, 0xfe, 0x74, 0x64, 0x39,
+  0x20, 0x1b,
+};
+
+uint8_t huf::huf128[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf129[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf12a[] = {
+  0xfe, 0xfc, 0x1b, 0x41, 0x48, 0x53,
+};
+
+uint8_t huf::huf12b[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf12c[] = {
+  0x1b, 0x20,
+};
+
+uint8_t huf::huf12d[] = {
+  0xfe, 0xfa, 0xfe, 0x1b, 0x4d, 0x41, 0xfe, 0xf8,
+  0xfe, 0xfc, 0x31, 0x52, 0x53, 0x54, 0xfe, 0x20,
+  0x55, 0x2d,
+};
+
+uint8_t huf::huf12e[] = {
+  0x20, 0xfe, 0xfe, 0xf8, 0xfe, 0x1b, 0x53, 0xfe,
+  0x49, 0x57, 0x2e, 0x00,
+};
+
+uint8_t huf::huf12f[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf130[] = {
+  0xfe, 0xfa, 0xfe, 0x00, 0x2d, 0x1b, 0x20, 0x30,
+};
+
+uint8_t huf::huf131[] = {
+  0xfe, 0xfa, 0x39, 0xfe, 0x00, 0x1b, 0xfe, 0xfc,
+  0x31, 0x32, 0x20, 0x30,
+};
+
+uint8_t huf::huf132[] = {
+  0xfe, 0xfa, 0xfe, 0x30, 0x31, 0x3a, 0x1b, 0x00,
+};
+
+uint8_t huf::huf133[] = {
+  0x00, 0xfe, 0x30, 0x1b,
+};
+
+uint8_t huf::huf134[] = {
+  0x1b, 0x38,
+};
+
+uint8_t huf::huf135[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf136[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf137[] = {
+  0x1b, 0x30,
+};
+
+uint8_t huf::huf138[] = {
+  0x1b, 0x20,
+};
+
+uint8_t huf::huf139[] = {
+  0xfe, 0xfc, 0x39, 0x30, 0xfe, 0x1b, 0x31, 0x33,
+};
+
+uint8_t huf::huf13a[] = {
+  0x1b, 0x20,
+};
+
+uint8_t huf::huf13b[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf13c[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf13d[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf13e[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf13f[] = {
+  0x1b, 0x00,
+};
+
+uint8_t huf::huf140[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf141[] = {
+  0xfe, 0xec, 0xfe, 0xf8, 0xfe, 0x64, 0x72, 0xfe,
+  0x1b, 0x73, 0x20, 0xfe, 0xfe, 0xfc, 0x63, 0x66,
+  0x77, 0xfe, 0x67, 0x74, 0xfe, 0xfc, 0x6c, 0x6e,
+  0xfe, 0x6d, 0xfe, 0xfa, 0x75, 0xfe, 0x62, 0x69,
+  0xfe, 0xf8, 0xfe, 0xfc, 0x2a, 0x2d, 0x2e, 0x76,
+  0x42, 0x70,
+};
+
+uint8_t huf::huf142[] = {
+  0xfe, 0xf4, 0xfe, 0x65, 0xfe, 0x72, 0x43, 0xfe,
+  0x1b, 0xfe, 0x41, 0x53, 0xfe, 0xfa, 0x75, 0xfe,
+  0x69, 0x6c, 0x6f, 0x61,
+};
+
+uint8_t huf::huf143[] = {
+  0xfe, 0xf0, 0xfe, 0x68, 0x6c, 0xfe, 0xfe, 0xfc,
+  0x75, 0x1b, 0x69, 0xfe, 0xfe, 0x42, 0x41, 0x79,
+  0xfe, 0x6f, 0x61, 0xfe, 0x72, 0xfe, 0x20, 0xfe,
+  0x4f, 0x65,
+};
+
+uint8_t huf::huf144[] = {
+  0xfe, 0xf6, 0x6f, 0xfe, 0xfe, 0x72, 0xfe, 0x75,
+  0x79, 0x1b, 0x61, 0xfe, 0x69, 0x65,
+};
+
+uint8_t huf::huf145[] = {
+  0xfe, 0xf6, 0xfe, 0xfc, 0x64, 0x78, 0xfe, 0x1b,
+  0x6d, 0x79, 0xfe, 0xf6, 0x76, 0xfe, 0x43, 0xfe,
+  0x73, 0xfe, 0x71, 0x75, 0xfe, 0x61, 0x6c, 0x6e,
+};
+
+uint8_t huf::huf146[] = {
+  0xfe, 0xf2, 0xfe, 0xfc, 0x6c, 0x75, 0x6f, 0xfe,
+  0x65, 0xfe, 0x4c, 0xfe, 0x20, 0x1b, 0x61, 0xfe,
+  0x69, 0x72,
+};
+
+uint8_t huf::huf147[] = {
+  0xfe, 0xfc, 0x72, 0x6f, 0xfe, 0xf2, 0x69, 0xfe,
+  0xfe, 0xfa, 0x68, 0xfe, 0x2e, 0x6c, 0x1b, 0xfe,
+  0x79, 0x41, 0x65, 0xfe, 0x61, 0x75,
+};
+
+uint8_t huf::huf148[] = {
+  0x6f, 0xfe, 0x65, 0xfe, 0x61, 0xfe, 0xfe, 0x69,
+  0x75, 0xfe, 0x00, 0x1b,
+};
+
+uint8_t huf::huf149[] = {
+  0x6e, 0xfe, 0xfe, 0xf4, 0xfe, 0xfc, 0x00, 0x1b,
+  0x6d, 0xfe, 0x63, 0xfe, 0x3a, 0x54, 0xfe, 0xfc,
+  0x49, 0x73, 0x74, 0xfe, 0x20, 0xfe, 0x2e, 0x72,
+};
+
+uint8_t huf::huf14a[] = {
+  0xfe, 0xfa, 0xfe, 0x61, 0x1b, 0x75, 0x6f, 0x65,
+};
+
+uint8_t huf::huf14b[] = {
+  0xfe, 0x69, 0xfe, 0xfc, 0x1b, 0x65, 0xfe, 0xfc,
+  0x61, 0x6f, 0x75, 0x6e,
+};
+
+uint8_t huf::huf14c[] = {
+  0xfe, 0xf6, 0x6f, 0xfe, 0xfe, 0x65, 0xfe, 0x75,
+  0x20, 0x1b, 0x61, 0x69,
+};
+
+uint8_t huf::huf14d[] = {
+  0xfe, 0xfa, 0x6f, 0xfe, 0x75, 0x79, 0xfe, 0x61,
+  0x69, 0xfe, 0x65, 0xfe, 0x72, 0xfe, 0x63, 0xfe,
+  0xfe, 0x1b, 0x2a, 0x54,
+};
+
+uint8_t huf::huf14e[] = {
+  0x65, 0xfe, 0xfe, 0xfa, 0xfe, 0x6f, 0x1b, 0x42,
+  0xfe, 0x69, 0xfe, 0x61, 0xfe, 0xfc, 0x4e, 0x20,
+  0x46, 0x75,
+};
+
+uint8_t huf::huf14f[] = {
+  0xfe, 0xf2, 0xfe, 0xfa, 0xfe, 0x20, 0x77, 0x70,
+  0x1b, 0xfe, 0x72, 0xfe, 0x64, 0x73, 0x6e, 0xfe,
+  0xfe, 0x75, 0x6c, 0xfe, 0x66, 0x76,
+};
+
+uint8_t huf::huf150[] = {
+  0xfe, 0xf4, 0x61, 0xfe, 0x65, 0xfe, 0xfe, 0x69,
+  0xfe, 0x75, 0x79, 0x2e, 0x72, 0xfe, 0x6f, 0xfe,
+  0x6c, 0xfe, 0xfe, 0xfc, 0x52, 0x47, 0xfe, 0x1b,
+  0x20, 0x73,
+};
+
+uint8_t huf::huf151[] = {
+  0xfe, 0x75, 0x1b, 0x56,
+};
+
+uint8_t huf::huf152[] = {
+  0xfe, 0xfc, 0x69, 0x6f, 0xfe, 0x65, 0xfe, 0x61,
+  0xfe, 0x75, 0x68, 0x1b,
+};
+
+uint8_t huf::huf153[] = {
+  0xfe, 0xfa, 0xfe, 0x74, 0x65, 0x70, 0xfe, 0xf0,
+  0x68, 0xfe, 0x6f, 0xfe, 0xfe, 0xf8, 0xfe, 0xfc,
+  0x2a, 0x6c, 0x71, 0x2e, 0x1b, 0x6b, 0xfe, 0xfc,
+  0x69, 0x75, 0xfe, 0x61, 0x63, 0xfe, 0xfe, 0xfc,
+  0x20, 0x77, 0x6d, 0x6e,
+};
+
+uint8_t huf::huf154[] = {
+  0x68, 0xfe, 0xfe, 0xfa, 0x72, 0xfe, 0x61, 0x65,
+  0x6f, 0xfe, 0x69, 0xfe, 0xfe, 0xf8, 0x56, 0xfe,
+  0x1b, 0xfe, 0x2d, 0x4e, 0x75, 0x77,
+};
+
+uint8_t huf::huf155[] = {
+  0x6e, 0xfe, 0xfe, 0x70, 0xfe, 0x1b, 0x6c, 0x2e,
+};
+
+uint8_t huf::huf156[] = {
+  0xfe, 0x69, 0xfe, 0xfa, 0x00, 0xfe, 0x6f, 0x1b,
+  0xfe, 0x61, 0x65, 0xfe, 0x20, 0x43,
+};
+
+uint8_t huf::huf157[] = {
+  0xfe, 0xf4, 0xfe, 0x69, 0xfe, 0x68, 0x72, 0xfe,
+  0xfe, 0x1b, 0x46, 0x57, 0x6f, 0xfe, 0x65, 0x61,
+};
+
+uint8_t huf::huf158[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf159[] = {
+  0xfe, 0x6f, 0xfe, 0x65, 0x61, 0x1b,
+};
+
+uint8_t huf::huf15a[] = {
+  0xfe, 0x6f, 0x1b, 0x61,
+};
+
+uint8_t huf::huf15b[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf15c[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf15d[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf15e[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf15f[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf160[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf161[] = {
+  0xfe, 0xec, 0xfe, 0xf8, 0xfe, 0x6c, 0x79, 0xfe,
+  0x00, 0x76, 0xfe, 0x74, 0xfe, 0x6d, 0x67, 0xfe,
+  0x62, 0xfe, 0x7a, 0x68, 0xfe, 0xee, 0x72, 0xfe,
+  0xfe, 0xf4, 0x64, 0xfe, 0x6b, 0xfe, 0xfe, 0x77,
+  0xfe, 0x66, 0x65, 0x6a, 0x20, 0x69, 0x6e, 0xfe,
+  0x73, 0xfe, 0xfe, 0x63, 0x70, 0xfe, 0xfe, 0x75,
+  0x27, 0xfe, 0x78, 0xfe, 0x1b, 0x3a,
+};
+
+uint8_t huf::huf162[] = {
+  0xfe, 0xf6, 0x61, 0xfe, 0x6c, 0xfe, 0x20, 0xfe,
+  0x75, 0x62, 0xfe, 0xfa, 0x79, 0xfe, 0x65, 0x72,
+  0x6f, 0xfe, 0x69, 0xfe, 0xfe, 0x00, 0x73, 0x1b,
+};
+
+uint8_t huf::huf163[] = {
+  0xfe, 0xea, 0xfe, 0xf4, 0x74, 0xfe, 0xfe, 0x69,
+  0x73, 0xfe, 0x63, 0xfe, 0x43, 0x4c, 0xfe, 0x61,
+  0x20, 0xfe, 0x75, 0xfe, 0x00, 0x6c, 0xfe, 0xf4,
+  0xfe, 0x68, 0xfe, 0x6f, 0xfe, 0x72, 0x79, 0xfe,
+  0x47, 0x1b, 0x6b, 0x65,
+};
+
+uint8_t huf::huf164[] = {
+  0xfe, 0xf8, 0x65, 0xfe, 0xfe, 0x00, 0x79, 0x73,
+  0xfe, 0x20, 0xfe, 0xf8, 0xfe, 0x69, 0xfe, 0x76,
+  0x64, 0x67, 0x61, 0xfe, 0xfe, 0xf6, 0x72, 0xfe,
+  0x6c, 0xfe, 0x77, 0xfe, 0x2e, 0x75, 0x1b, 0x6f,
+};
+
+uint8_t huf::huf165[] = {
+  0xfe, 0xe6, 0xfe, 0x20, 0xfe, 0x00, 0xfe, 0xfa,
+  0xfe, 0x79, 0x76, 0x70, 0xfe, 0x64, 0xfe, 0x6f,
+  0xfe, 0xf8, 0xfe, 0xfc, 0x6a, 0x71, 0x75, 0x7a,
+  0x3a, 0x78, 0xfe, 0xde, 0xfe, 0xf6, 0x61, 0xfe,
+  0x6c, 0xfe, 0xfe, 0x63, 0x66, 0x6d, 0xfe, 0xec,
+  0x65, 0xfe, 0xfe, 0xfc, 0x67, 0x6b, 0xfe, 0xfc,
+  0x27, 0x62, 0x69, 0xfe, 0xfe, 0xfc, 0x1b, 0x21,
+  0x2d, 0x68, 0x74, 0x77, 0x72, 0xfe, 0x6e, 0x73,
+};
+
+uint8_t huf::huf166[] = {
+  0x20, 0xfe, 0xfe, 0xf8, 0xfe, 0xfc, 0x74, 0x69,
+  0x6f, 0x66, 0x65, 0xfe, 0xfe, 0xfc, 0x00, 0x61,
+  0xfe, 0xfa, 0xfe, 0x6c, 0x75, 0x1b, 0x73, 0x72,
+};
+
+uint8_t huf::huf167[] = {
+  0xfe, 0xfc, 0x68, 0x20, 0xfe, 0xf4, 0xfe, 0x65,
+  0x61, 0xfe, 0x72, 0xfe, 0xfe, 0x6e, 0x27, 0x74,
+  0x00, 0xfe, 0xfe, 0xf6, 0xfe, 0x69, 0xfe, 0x6f,
+  0x1b, 0xfe, 0x3a, 0x79, 0xfe, 0x73, 0x75, 0xfe,
+  0x67, 0x6c,
+};
+
+uint8_t huf::huf168[] = {
+  0x65, 0xfe, 0xfe, 0xf6, 0x69, 0xfe, 0xfe, 0x20,
+  0xfe, 0x72, 0x79, 0x6e, 0xfe, 0xfc, 0x61, 0x6f,
+  0xfe, 0x74, 0xfe, 0x00, 0xfe, 0xfc, 0x77, 0x1b,
+  0x6c, 0xfe, 0x62, 0x75,
+};
+
+uint8_t huf::huf169[] = {
+  0xfe, 0xdc, 0xfe, 0xe4, 0xfe, 0xf8, 0x76, 0xfe,
+  0xfe, 0x61, 0x20, 0x70, 0x64, 0xfe, 0xfe, 0x66,
+  0xfe, 0xfa, 0x62, 0xfe, 0x69, 0x6b, 0xfe, 0xfa,
+  0xfe, 0x00, 0x21, 0x78, 0x1b, 0x7a, 0xfe, 0xfc,
+  0x6f, 0x74, 0x6c, 0x73, 0x6e, 0xfe, 0xfe, 0xfc,
+  0x67, 0x65, 0xfe, 0x63, 0x72, 0x6d,
+};
+
+uint8_t huf::huf16a[] = {
+  0x6f, 0xfe, 0x1b, 0x61,
+};
+
+uint8_t huf::huf16b[] = {
+  0xfe, 0xea, 0xfe, 0x00, 0xfe, 0xf4, 0xfe, 0xfa,
+  0xfe, 0x3a, 0x54, 0x6f, 0xfe, 0x1b, 0x66, 0x6c,
+  0x73, 0xfe, 0x79, 0xfe, 0x77, 0x61, 0x65, 0xfe,
+  0x69, 0x20,
+};
+
+uint8_t huf::huf16c[] = {
+  0xfe, 0xe6, 0xfe, 0xfc, 0x64, 0x69, 0x20, 0xfe,
+  0xfe, 0xf6, 0xfe, 0x73, 0xfe, 0x6b, 0x62, 0xfe,
+  0x27, 0x3a, 0xfe, 0x75, 0xfe, 0x74, 0xfe, 0x1b,
+  0x63, 0x77, 0xfe, 0xfa, 0xfe, 0x6c, 0x00, 0x79,
+  0x65, 0xfe, 0x61, 0xfe, 0xfe, 0x6f, 0xfe, 0xfa,
+  0x66, 0xfe, 0x72, 0x2d, 0x6d, 0x76,
+};
+
+uint8_t huf::huf16d[] = {
+  0xfe, 0xee, 0xfe, 0xfa, 0xfe, 0x20, 0x62, 0x6d,
+  0xfe, 0x69, 0x00, 0xfe, 0xfe, 0xfc, 0x79, 0x1b,
+  0x75, 0x73, 0xfe, 0x65, 0xfe, 0x61, 0x70, 0x6f,
+};
+
+uint8_t huf::huf16e[] = {
+  0xfe, 0xee, 0xfe, 0xfc, 0x00, 0x64, 0x65, 0xfe,
+  0x73, 0xfe, 0xfe, 0x63, 0xfe, 0x27, 0x76, 0xfe,
+  0x7a, 0x1b, 0xfe, 0xf4, 0xfe, 0x67, 0x69, 0xfe,
+  0xfe, 0x6e, 0x79, 0xfe, 0x3a, 0x66, 0x20, 0xfe,
+  0xfe, 0x74, 0x61, 0xfe, 0xfe, 0xf2, 0xfe, 0xfa,
+  0xfe, 0x75, 0x62, 0x6a, 0xfe, 0xfc, 0x72, 0x68,
+  0x6c, 0x6d, 0x6b, 0x6f,
+};
+
+uint8_t huf::huf16f[] = {
+  0xfe, 0xd6, 0xfe, 0xf0, 0xfe, 0xfa, 0x77, 0xfe,
+  0x67, 0x74, 0xfe, 0x6f, 0xfe, 0x00, 0xfe, 0x62,
+  0x78, 0x79, 0xfe, 0xfc, 0x6c, 0x20, 0xfe, 0xfc,
+  0x76, 0x70, 0xfe, 0x64, 0xfe, 0xfa, 0xfe, 0x65,
+  0x27, 0x1b, 0x68, 0xfe, 0xfe, 0x69, 0x3f, 0xfe,
+  0x2e, 0x7a, 0xfe, 0xfa, 0xfe, 0x72, 0x6d, 0x66,
+  0xfe, 0x6e, 0xfe, 0x75, 0xfe, 0x73, 0x63, 0xfe,
+  0x61, 0x6b,
+};
+
+uint8_t huf::huf170[] = {
+  0xfe, 0xf8, 0x6f, 0xfe, 0x20, 0xfe, 0x6c, 0x70,
+  0xfe, 0xf2, 0xfe, 0xfa, 0xfe, 0x61, 0x73, 0x72,
+  0x69, 0xfe, 0x74, 0xfe, 0x1b, 0x64, 0xfe, 0x65,
+  0xfe, 0x00, 0x68, 0xfe, 0xfe, 0x79, 0x6d, 0x27,
+};
+
+uint8_t huf::huf171[] = {
+  0x1b, 0x75,
+};
+
+uint8_t huf::huf172[] = {
+  0xfe, 0xe2, 0xfe, 0xfa, 0x61, 0xfe, 0x79, 0x6c,
+  0x69, 0xfe, 0xfe, 0xf6, 0xfe, 0x6e, 0x6d, 0xfe,
+  0xfe, 0x27, 0x76, 0x1b, 0x72, 0xfe, 0xfe, 0xfc,
+  0x2e, 0x67, 0xfe, 0x63, 0x70, 0x62, 0xfe, 0xfa,
+  0xfe, 0x65, 0x74, 0x00, 0xfe, 0xf2, 0xfe, 0x6f,
+  0x64, 0xfe, 0x6b, 0xfe, 0x75, 0xfe, 0xfe, 0x66,
+  0x3a, 0x2c, 0x73, 0x20,
+};
+
+uint8_t huf::huf173[] = {
+  0xfe, 0xd4, 0xfe, 0x20, 0xfe, 0xf4, 0xfe, 0x73,
+  0xfe, 0x68, 0xfe, 0x6b, 0xfe, 0x3a, 0x66, 0x6d,
+  0xfe, 0x69, 0xfe, 0xf8, 0x70, 0xfe, 0xfe, 0x1b,
+  0x72, 0x2e, 0xfe, 0xfa, 0x75, 0xfe, 0x6c, 0x6e,
+  0xfe, 0xfa, 0x79, 0xfe, 0x27, 0x2c, 0xfe, 0xfc,
+  0x3f, 0x43, 0x48, 0x64, 0xfe, 0x00, 0x74, 0xfe,
+  0xfe, 0x65, 0x6f, 0xfe, 0x61, 0x63,
+};
+
+uint8_t huf::huf174[] = {
+  0xfe, 0xf6, 0xfe, 0xfa, 0xfe, 0x69, 0x61, 0x73,
+  0x00, 0x65, 0xfe, 0xf6, 0xfe, 0x20, 0xfe, 0x6f,
+  0xfe, 0x6c, 0x62, 0x6d, 0xfe, 0x68, 0xfe, 0xf4,
+  0xfe, 0x75, 0xfe, 0x79, 0xfe, 0xfc, 0x64, 0x77,
+  0x1b, 0x27, 0x72, 0xfe, 0xfe, 0x74, 0xfe, 0x63,
+  0xfe, 0x6e, 0x3a, 0x3f,
+};
+
+uint8_t huf::huf175[] = {
+  0xfe, 0xea, 0xfe, 0x72, 0xfe, 0xf6, 0x6c, 0xfe,
+  0xfe, 0x69, 0x1b, 0xfe, 0x6b, 0x7a, 0x65, 0xfe,
+  0x61, 0xfe, 0x20, 0xfe, 0x00, 0x66, 0xfe, 0xf6,
+  0xfe, 0x73, 0xfe, 0xfc, 0x64, 0x70, 0x6d, 0x62,
+  0x6e, 0xfe, 0xfe, 0x74, 0x63, 0x67,
+};
+
+uint8_t huf::huf176[] = {
+  0xfe, 0x65, 0xfe, 0x69, 0x61, 0xfe, 0x1b, 0xfe,
+  0x73, 0x6f,
+};
+
+uint8_t huf::huf177[] = {
+  0xfe, 0xee, 0xfe, 0xfc, 0x61, 0x00, 0xfe, 0x20,
+  0xfe, 0xfa, 0x72, 0xfe, 0x27, 0x62, 0x1b, 0xfe,
+  0x6c, 0x63, 0x73, 0xfe, 0xfe, 0xfc, 0x69, 0x6f,
+  0x6e, 0x65,
+};
+
+uint8_t huf::huf178[] = {
+  0xfe, 0xfa, 0xfe, 0x74, 0x61, 0x65, 0xfe, 0xfa,
+  0x69, 0xfe, 0x1b, 0x20, 0x00, 0x70,
+};
+
+uint8_t huf::huf179[] = {
+  0x20, 0xfe, 0x00, 0xfe, 0xfe, 0xe8, 0xfe, 0xf6,
+  0xfe, 0x65, 0xfe, 0xfc, 0x64, 0x69, 0x6e, 0x6f,
+  0xfe, 0xfa, 0xfe, 0x27, 0x70, 0x74, 0xfe, 0xfc,
+  0x76, 0x21, 0x61, 0x6d, 0x73, 0xfe, 0xfe, 0xf8,
+  0x77, 0xfe, 0xfe, 0x62, 0x63, 0x2d, 0x1b, 0x6c,
+};
+
+uint8_t huf::huf17a[] = {
+  0xfe, 0xfa, 0xfe, 0x61, 0x20, 0x79, 0xfe, 0xfa,
+  0x1b, 0xfe, 0x65, 0x7a, 0x00, 0x69,
+};
+
+uint8_t huf::huf17b[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf17c[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf17d[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf17e[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf17f[] = {
+  0xff, 0x1b,
+};
+
+uint8_t *huf::huf1[] = {
+  huf100, huf101, huf102, huf103, huf104, huf105, huf106, huf107,
+  huf108, huf109, huf10a, huf10b, huf10c, huf10d, huf10e, huf10f,
+  huf110, huf111, huf112, huf113, huf114, huf115, huf116, huf117,
+  huf118, huf119, huf11a, huf11b, huf11c, huf11d, huf11e, huf11f,
+  huf120, huf121, huf122, huf123, huf124, huf125, huf126, huf127,
+  huf128, huf129, huf12a, huf12b, huf12c, huf12d, huf12e, huf12f,
+  huf130, huf131, huf132, huf133, huf134, huf135, huf136, huf137,
+  huf138, huf139, huf13a, huf13b, huf13c, huf13d, huf13e, huf13f,
+  huf140, huf141, huf142, huf143, huf144, huf145, huf146, huf147,
+  huf148, huf149, huf14a, huf14b, huf14c, huf14d, huf14e, huf14f,
+  huf150, huf151, huf152, huf153, huf154, huf155, huf156, huf157,
+  huf158, huf159, huf15a, huf15b, huf15c, huf15d, huf15e, huf15f,
+  huf160, huf161, huf162, huf163, huf164, huf165, huf166, huf167,
+  huf168, huf169, huf16a, huf16b, huf16c, huf16d, huf16e, huf16f,
+  huf170, huf171, huf172, huf173, huf174, huf175, huf176, huf177,
+  huf178, huf179, huf17a, huf17b, huf17c, huf17d, huf17e, huf17f,
+};
+
+
+uint8_t huf::huf200[] = {
+  0xfe, 0xec, 0xfe, 0xf8, 0x50, 0xfe, 0xfe, 0x42,
+  0x4e, 0x4b, 0x41, 0xfe, 0xfe, 0x43, 0xfe, 0xfc,
+  0x49, 0x4f, 0x57, 0x47, 0xfe, 0xf4, 0xfe, 0xfa,
+  0x52, 0xfe, 0x45, 0x4c, 0x53, 0xfe, 0x46, 0x48,
+  0xfe, 0xfc, 0x4a, 0x54, 0xfe, 0x4d, 0xfe, 0x44,
+  0xfe, 0x22, 0x1b, 0x56,
+};
+
+uint8_t huf::huf201[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf202[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf203[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf204[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf205[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf206[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf207[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf208[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf209[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf20a[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf20b[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf20c[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf20d[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf20e[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf20f[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf210[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf211[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf212[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf213[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf214[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf215[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf216[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf217[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf218[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf219[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf21a[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf21b[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf21c[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf21d[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf21e[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf21f[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf220[] = {
+  0xfe, 0xdc, 0xfe, 0xf0, 0xfe, 0xf8, 0xfe, 0x68,
+  0x6d, 0xfe, 0x47, 0x4a, 0x6f, 0xfe, 0xfe, 0x72,
+  0x4e, 0x50, 0xfe, 0x61, 0xfe, 0xf8, 0xfe, 0x53,
+  0x57, 0xfe, 0x32, 0x45, 0xfe, 0xfa, 0x42, 0xfe,
+  0x46, 0x31, 0x4c, 0x6c, 0xfe, 0xe4, 0xfe, 0xf6,
+  0xfe, 0xfa, 0x64, 0xfe, 0x65, 0x67, 0x41, 0x63,
+  0xfe, 0xf2, 0xfe, 0x69, 0xfe, 0x4d, 0xfe, 0x6e,
+  0xfe, 0x4f, 0xfe, 0x1b, 0x37, 0x5a, 0x70, 0x62,
+  0xfe, 0xee, 0xfe, 0x74, 0x77, 0xfe, 0xfe, 0xf8,
+  0x4b, 0xfe, 0xfe, 0x49, 0x34, 0x71, 0x54, 0xfe,
+  0x79, 0x6a, 0xfe, 0xfc, 0x73, 0x66, 0xfe, 0xfa,
+  0x43, 0xfe, 0x44, 0x48, 0xfe, 0xfa, 0x52, 0xfe,
+  0x6b, 0x75, 0xfe, 0xfa, 0x76, 0xfe, 0x22, 0x55,
+  0xfe, 0xfc, 0x56, 0x59, 0xfe, 0xfc, 0x28, 0x33,
+  0x35, 0xfe, 0x2d, 0x2f,
+};
+
+uint8_t huf::huf221[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf222[] = {
+  0xfe, 0xf8, 0xfe, 0xfc, 0x00, 0x2e, 0x48, 0x54,
+  0x1b, 0x20,
+};
+
+uint8_t huf::huf223[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf224[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf225[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf226[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf227[] = {
+  0xfe, 0x73, 0x1b, 0xfe, 0x20, 0x74,
+};
+
+uint8_t huf::huf228[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf229[] = {
+  0x2c, 0x1b,
+};
+
+uint8_t huf::huf22a[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf22b[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf22c[] = {
+  0xfe, 0x20, 0x1b, 0x22,
+};
+
+uint8_t huf::huf22d[] = {
+  0xfe, 0xf4, 0xfe, 0xfa, 0x61, 0xfe, 0x62, 0x64,
+  0xfe, 0x73, 0x65, 0x66, 0x1b, 0xfe, 0x63, 0xfe,
+  0x20, 0x72,
+};
+
+uint8_t huf::huf22e[] = {
+  0xfe, 0x00, 0xfe, 0x20, 0x1b, 0xfe, 0x22, 0xfe,
+  0x4a, 0x53,
+};
+
+uint8_t huf::huf22f[] = {
+  0x1b, 0x20,
+};
+
+uint8_t huf::huf230[] = {
+  0xfe, 0xfc, 0x30, 0x73, 0xfe, 0xfc, 0x1b, 0x37,
+  0x74, 0x20,
+};
+
+uint8_t huf::huf231[] = {
+  0x39, 0xfe, 0x20, 0xfe, 0x38, 0x1b,
+};
+
+uint8_t huf::huf232[] = {
+  0x2e, 0xfe, 0xfe, 0x20, 0x36, 0x1b,
+};
+
+uint8_t huf::huf233[] = {
+  0x20, 0xfe, 0x1b, 0x30,
+};
+
+uint8_t huf::huf234[] = {
+  0x2e, 0xfe, 0x1b, 0x20,
+};
+
+uint8_t huf::huf235[] = {
+  0x2e, 0xfe, 0x20, 0x1b,
+};
+
+uint8_t huf::huf236[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf237[] = {
+  0x1b, 0xfe, 0x2c, 0x2e,
+};
+
+uint8_t huf::huf238[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf239[] = {
+  0xfe, 0xfc, 0x35, 0x36, 0x38, 0xfe, 0x1b, 0x20,
+};
+
+uint8_t huf::huf23a[] = {
+  0x1b, 0x20,
+};
+
+uint8_t huf::huf23b[] = {
+  0x1b, 0x20,
+};
+
+uint8_t huf::huf23c[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf23d[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf23e[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf23f[] = {
+  0x1b, 0x20,
+};
+
+uint8_t huf::huf240[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf241[] = {
+  0xfe, 0xfc, 0x6c, 0x6e, 0xfe, 0x20, 0xfe, 0xf8,
+  0xfe, 0xfc, 0x73, 0x74, 0x1b, 0x64, 0xfe, 0x72,
+  0xfe, 0x6d, 0x66, 0x75,
+};
+
+uint8_t huf::huf242[] = {
+  0xfe, 0xfc, 0x69, 0x72, 0xfe, 0xf8, 0xfe, 0x61,
+  0x75, 0xfe, 0x1b, 0x6c, 0x6f, 0x65,
+};
+
+uint8_t huf::huf243[] = {
+  0xfe, 0xf4, 0x61, 0xfe, 0xfe, 0xfc, 0x79, 0x72,
+  0x75, 0xfe, 0x1b, 0x69, 0x68, 0xfe, 0x6c, 0x6f,
+};
+
+uint8_t huf::huf244[] = {
+  0xfe, 0xfc, 0x69, 0x61, 0xfe, 0xfc, 0x65, 0x6f,
+  0xfe, 0xfc, 0x79, 0x72, 0x75, 0x1b,
+};
+
+uint8_t huf::huf245[] = {
+  0xfe, 0xf6, 0xfe, 0xfc, 0x64, 0x6c, 0x73, 0xfe,
+  0x61, 0x69, 0x1b, 0xfe, 0xfe, 0x72, 0x6e, 0x76,
+};
+
+uint8_t huf::huf246[] = {
+  0xfe, 0xfc, 0x1b, 0x6f, 0xfe, 0x72, 0x65, 0x6c,
+};
+
+uint8_t huf::huf247[] = {
+  0xfe, 0xfa, 0xfe, 0x65, 0x1b, 0x6c, 0xfe, 0xfa,
+  0x69, 0xfe, 0x75, 0x6f, 0x61, 0x72,
+};
+
+uint8_t huf::huf248[] = {
+  0xfe, 0xfa, 0x61, 0xfe, 0x1b, 0x65, 0x6f, 0xfe,
+  0x69, 0x75,
+};
+
+uint8_t huf::huf249[] = {
+  0xfe, 0xf8, 0xfe, 0xfc, 0x20, 0x49, 0x73, 0x1b,
+  0xfe, 0x6e, 0x2e, 0x72,
+};
+
+uint8_t huf::huf24a[] = {
+  0x6f, 0xfe, 0xfe, 0xfa, 0xfe, 0x75, 0x1b, 0x2e,
+  0xfe, 0x61, 0x69, 0x65,
+};
+
+uint8_t huf::huf24b[] = {
+  0x65, 0xfe, 0xfe, 0xfc, 0x61, 0x69, 0x72, 0x1b,
+};
+
+uint8_t huf::huf24c[] = {
+  0xfe, 0xf8, 0x65, 0xfe, 0x75, 0xfe, 0x1b, 0x69,
+  0x6f, 0x61,
+};
+
+uint8_t huf::huf24d[] = {
+  0x61, 0xfe, 0x69, 0xfe, 0xfe, 0xfa, 0x6f, 0xfe,
+  0x1b, 0x63, 0x75, 0x65,
+};
+
+uint8_t huf::huf24e[] = {
+  0x65, 0xfe, 0x6f, 0xfe, 0xfe, 0x61, 0x1b, 0x69,
+};
+
+uint8_t huf::huf24f[] = {
+  0xfe, 0xfa, 0x73, 0xfe, 0x27, 0x6e, 0x1b, 0xfe,
+  0x6c, 0x72,
+};
+
+uint8_t huf::huf250[] = {
+  0x61, 0xfe, 0xfe, 0xf8, 0xfe, 0x6f, 0x69, 0xfe,
+  0x1b, 0x68, 0xfe, 0x65, 0x72, 0x6c,
+};
+
+uint8_t huf::huf251[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf252[] = {
+  0xfe, 0xf8, 0xfe, 0x61, 0xfe, 0x69, 0x1b, 0x2e,
+  0x65, 0x6f,
+};
+
+uint8_t huf::huf253[] = {
+  0xfe, 0xf4, 0xfe, 0x74, 0xfe, 0xfa, 0xfe, 0x2e,
+  0x76, 0x79, 0x63, 0x69, 0xfe, 0xfa, 0x61, 0xfe,
+  0x75, 0x1b, 0x68, 0xfe, 0x65, 0x6f,
+};
+
+uint8_t huf::huf254[] = {
+  0x68, 0xfe, 0xfe, 0xf8, 0xfe, 0xfc, 0x56, 0x61,
+  0x1b, 0x69, 0xfe, 0x6f, 0x72, 0xfe, 0x65, 0x77,
+};
+
+uint8_t huf::huf255[] = {
+  0x2e, 0xfe, 0x1b, 0x6e,
+};
+
+uint8_t huf::huf256[] = {
+  0x69, 0xfe, 0x20, 0xfe, 0x65, 0x1b,
+};
+
+uint8_t huf::huf257[] = {
+  0xfe, 0xfa, 0x6f, 0xfe, 0x1b, 0x68, 0x69, 0xfe,
+  0x65, 0x61,
+};
+
+uint8_t huf::huf258[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf259[] = {
+  0x1b, 0x6f,
+};
+
+uint8_t huf::huf25a[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf25b[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf25c[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf25d[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf25e[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf25f[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf260[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf261[] = {
+  0xfe, 0xe6, 0xfe, 0x6e, 0xfe, 0xfa, 0xfe, 0x73,
+  0x70, 0x79, 0xfe, 0xfa, 0x67, 0xfe, 0x66, 0x62,
+  0xfe, 0x64, 0xfe, 0x76, 0xfe, 0x65, 0x7a, 0xfe,
+  0x68, 0x6f, 0xfe, 0xfc, 0x72, 0x20, 0xfe, 0xf8,
+  0xfe, 0x6c, 0xfe, 0x63, 0x6b, 0x75, 0xfe, 0x74,
+  0xfe, 0x6d, 0x69, 0xfe, 0x2e, 0xfe, 0xfe, 0xfc,
+  0x78, 0x1b, 0x27, 0x77,
+};
+
+uint8_t huf::huf262[] = {
+  0xfe, 0xf8, 0x65, 0xfe, 0xfe, 0x79, 0x6c, 0x20,
+  0xfe, 0xf2, 0x61, 0xfe, 0xfe, 0x69, 0xfe, 0xfc,
+  0x1b, 0x2e, 0x62, 0xfe, 0x64, 0x73, 0x6f, 0xfe,
+  0x72, 0x75,
+};
+
+uint8_t huf::huf263[] = {
+  0xfe, 0xe8, 0xfe, 0xf8, 0xfe, 0x74, 0x75, 0xfe,
+  0x1b, 0x72, 0xfe, 0x65, 0xfe, 0x69, 0xfe, 0xfa,
+  0x2c, 0xfe, 0x71, 0x2e, 0x63, 0xfe, 0x44, 0x79,
+  0xfe, 0xf8, 0xfe, 0x6f, 0xfe, 0x6b, 0x20, 0x6c,
+  0x61, 0x68,
+};
+
+uint8_t huf::huf264[] = {
+  0xfe, 0xec, 0x65, 0xfe, 0xfe, 0xfa, 0x2e, 0xfe,
+  0x64, 0x79, 0x6f, 0xfe, 0x72, 0xfe, 0xfe, 0x6c,
+  0x76, 0xfe, 0x27, 0x3b, 0xfe, 0x20, 0xfe, 0xfc,
+  0x61, 0x73, 0xfe, 0x69, 0xfe, 0xf8, 0xfe, 0x75,
+  0xfe, 0x1b, 0x66, 0x6d, 0xfe, 0x2c, 0x6e, 0xfe,
+  0x77, 0x67,
+};
+
+uint8_t huf::huf265[] = {
+  0xfe, 0xe8, 0xfe, 0xec, 0xfe, 0xf4, 0x64, 0xfe,
+  0xfe, 0xfc, 0x69, 0x78, 0xfe, 0x2c, 0x62, 0x67,
+  0x6c, 0xfe, 0x2e, 0xfe, 0x6f, 0x70, 0x6e, 0x73,
+  0xfe, 0xdc, 0xfe, 0xf0, 0x61, 0xfe, 0x63, 0xfe,
+  0xfe, 0x6d, 0xfe, 0xfa, 0xfe, 0x2d, 0x29, 0x68,
+  0x3b, 0x6b, 0xfe, 0xfc, 0x65, 0x74, 0xfe, 0xfc,
+  0x76, 0x79, 0xfe, 0x77, 0xfe, 0xfa, 0x7a, 0xfe,
+  0x75, 0x1b, 0x27, 0x66, 0x72, 0x20,
+};
+
+uint8_t huf::huf266[] = {
+  0xfe, 0xf6, 0xfe, 0xfc, 0x65, 0x69, 0xfe, 0x72,
+  0x74, 0x66, 0x20, 0xfe, 0x6f, 0xfe, 0xfe, 0x61,
+  0x75, 0xfe, 0x6c, 0xfe, 0x2e, 0x1b,
+};
+
+uint8_t huf::huf267[] = {
+  0xfe, 0xf2, 0x65, 0xfe, 0xfe, 0x68, 0x6f, 0xfe,
+  0xfe, 0x2e, 0x79, 0xfe, 0x2d, 0x67, 0x20, 0xfe,
+  0xfe, 0xfa, 0xfe, 0x69, 0x73, 0x75, 0x61, 0xfe,
+  0xfe, 0xfa, 0x6c, 0xfe, 0x1b, 0x27, 0x2c, 0x72,
+};
+
+uint8_t huf::huf268[] = {
+  0xfe, 0xfa, 0x69, 0xfe, 0x6f, 0x61, 0xfe, 0x65,
+  0x20, 0xfe, 0xfe, 0xf2, 0xfe, 0xfc, 0x75, 0x2e,
+  0xfe, 0x6e, 0xfe, 0xfc, 0x27, 0x2c, 0x73, 0x2d,
+  0x74, 0xfe, 0xfe, 0x72, 0x1b, 0x79,
+};
+
+uint8_t huf::huf269[] = {
+  0xfe, 0xf0, 0xfe, 0x6e, 0xfe, 0x74, 0x72, 0xfe,
+  0x76, 0xfe, 0x70, 0xfe, 0xfe, 0x20, 0x78, 0x1b,
+  0xfe, 0xec, 0xfe, 0x73, 0xfe, 0xfc, 0x64, 0x6d,
+  0x67, 0xfe, 0xfe, 0x66, 0xfe, 0xfc, 0x2e, 0x7a,
+  0xfe, 0x6b, 0x2c, 0x62, 0xfe, 0xfa, 0x6c, 0xfe,
+  0x61, 0x6f, 0x65, 0x63,
+};
+
+uint8_t huf::huf26a[] = {
+  0xfe, 0x6f, 0xfe, 0xfc, 0x1b, 0x61, 0x65, 0x75,
+};
+
+uint8_t huf::huf26b[] = {
+  0xfe, 0xf8, 0xfe, 0x20, 0xfe, 0x73, 0x1b, 0x2e,
+  0xfe, 0x65, 0xfe, 0x69, 0xfe, 0xfc, 0x27, 0x6e,
+  0xfe, 0x2c, 0x6c, 0x79,
+};
+
+uint8_t huf::huf26c[] = {
+  0xfe, 0xe0, 0xfe, 0xea, 0x61, 0xfe, 0xfe, 0xfc,
+  0x2e, 0x70, 0xfe, 0xfc, 0x74, 0x2c, 0xfe, 0xfc,
+  0x1b, 0x62, 0xfe, 0xfc, 0x27, 0x2d, 0x6e, 0x63,
+  0xfe, 0x69, 0x79, 0xfe, 0x73, 0xfe, 0x66, 0x6d,
+  0xfe, 0xf2, 0x6c, 0xfe, 0x6f, 0xfe, 0xfe, 0x64,
+  0x76, 0xfe, 0x75, 0xfe, 0x6b, 0x72, 0x20, 0x65,
+};
+
+uint8_t huf::huf26d[] = {
+  0xfe, 0xfc, 0x61, 0x65, 0xfe, 0xf0, 0xfe, 0xfc,
+  0x6f, 0x70, 0xfe, 0xf8, 0x62, 0xfe, 0x1b, 0xfe,
+  0x27, 0x3b, 0x6d, 0x73, 0xfe, 0x20, 0x69, 0xfe,
+  0xfe, 0x75, 0x79, 0x2e,
+};
+
+uint8_t huf::huf26e[] = {
+  0xfe, 0xd6, 0xfe, 0xfc, 0x67, 0x65, 0xfe, 0xf2,
+  0xfe, 0x73, 0xfe, 0x63, 0xfe, 0xfc, 0x1b, 0x75,
+  0xfe, 0x27, 0x7a, 0x66, 0xfe, 0xec, 0x2e, 0xfe,
+  0xfe, 0xfc, 0x76, 0x79, 0xfe, 0xfa, 0x6c, 0xfe,
+  0x2d, 0x3b, 0xfe, 0xfc, 0x62, 0x6a, 0x6d, 0x72,
+  0x6e, 0x69, 0x20, 0xfe, 0x64, 0xfe, 0x74, 0xfe,
+  0xfe, 0x61, 0x2c, 0xfe, 0x6b, 0x6f,
+};
+
+uint8_t huf::huf26f[] = {
+  0xfe, 0xee, 0xfe, 0xfc, 0x66, 0x20, 0xfe, 0x72,
+  0xfe, 0x6c, 0x70, 0xfe, 0x6b, 0xfe, 0x2e, 0xfe,
+  0x2d, 0x2c, 0xfe, 0xe8, 0xfe, 0xf6, 0xfe, 0xfa,
+  0xfe, 0x73, 0x63, 0x61, 0x74, 0x77, 0xfe, 0x75,
+  0x6f, 0xfe, 0xfe, 0x76, 0xfe, 0x65, 0x78, 0xfe,
+  0x42, 0x1b, 0xfe, 0x6e, 0x6d, 0xfe, 0xfe, 0xfa,
+  0xfe, 0x64, 0x67, 0x68, 0xfe, 0x62, 0x79, 0x69,
+};
+
+uint8_t huf::huf270[] = {
+  0xfe, 0xf2, 0xfe, 0xfc, 0x20, 0x61, 0x6c, 0xfe,
+  0xfe, 0x6f, 0x73, 0xfe, 0x79, 0x1b, 0xfe, 0xf4,
+  0x72, 0xfe, 0xfe, 0x69, 0xfe, 0x75, 0x2e, 0xfe,
+  0x2d, 0x6d, 0x65, 0xfe, 0xfe, 0x68, 0x74, 0x70,
+};
+
+uint8_t huf::huf271[] = {
+  0x1b, 0x75,
+};
+
+uint8_t huf::huf272[] = {
+  0xfe, 0xf0, 0xfe, 0xf8, 0x6f, 0xfe, 0xfe, 0x74,
+  0x6c, 0x6d, 0x69, 0xfe, 0xfe, 0x73, 0x6e, 0x79,
+  0xfe, 0xea, 0xfe, 0x65, 0xfe, 0xfa, 0xfe, 0x2e,
+  0x75, 0x63, 0xfe, 0xfc, 0x2c, 0x67, 0x72, 0xfe,
+  0x27, 0xfe, 0xfe, 0x1b, 0x29, 0x3b, 0xfe, 0x20,
+  0xfe, 0x61, 0x64, 0xfe, 0x6b, 0xfe, 0xfe, 0xfc,
+  0x2d, 0x62, 0x70, 0xfe, 0x76, 0x66,
+};
+
+uint8_t huf::huf273[] = {
+  0x20, 0xfe, 0xfe, 0xea, 0xfe, 0x74, 0x2e, 0xfe,
+  0x63, 0xfe, 0xfe, 0xfc, 0x79, 0x70, 0xfe, 0xfc,
+  0x1b, 0x77, 0xfe, 0xfc, 0x22, 0x27, 0x62, 0x6b,
+  0xfe, 0xf8, 0xfe, 0x65, 0x68, 0xfe, 0x75, 0x61,
+  0xfe, 0xf4, 0x69, 0xfe, 0xfe, 0x2c, 0x6c, 0xfe,
+  0xfe, 0x3b, 0x6d, 0x6e, 0x6f, 0x73,
+};
+
+uint8_t huf::huf274[] = {
+  0xfe, 0xea, 0x68, 0xfe, 0xfe, 0xfc, 0x61, 0x73,
+  0xfe, 0xfc, 0x74, 0x2e, 0x75, 0xfe, 0xfe, 0xfc,
+  0x2c, 0x6c, 0x6e, 0xfe, 0x2d, 0x6d, 0xfe, 0xfc,
+  0x6f, 0x65, 0xfe, 0x20, 0xfe, 0x69, 0xfe, 0x72,
+  0xfe, 0xf8, 0x77, 0xfe, 0xfe, 0x1b, 0x3b, 0x62,
+  0xfe, 0x79, 0x27, 0x63,
+};
+
+uint8_t huf::huf275[] = {
+  0xfe, 0xf8, 0x72, 0xfe, 0xfe, 0x73, 0x6c, 0x70,
+  0xfe, 0xf0, 0xfe, 0x74, 0xfe, 0xfa, 0xfe, 0x63,
+  0x20, 0x62, 0x69, 0xfe, 0xfe, 0x61, 0x1b, 0x6b,
+  0x6e, 0xfe, 0xfe, 0xfc, 0x64, 0x65, 0x67, 0xfe,
+  0xfe, 0x6d, 0x79, 0xfe, 0x6f, 0x76,
+};
+
+uint8_t huf::huf276[] = {
+  0xfe, 0x65, 0xfe, 0x69, 0xfe, 0x61, 0x6f, 0xfe,
+  0x1b, 0xfe, 0x73, 0x79,
+};
+
+uint8_t huf::huf277[] = {
+  0xfe, 0xf0, 0xfe, 0xfc, 0x68, 0x20, 0x61, 0xfe,
+  0x72, 0xfe, 0xfe, 0xfc, 0x2e, 0x1b, 0x6c, 0x6d,
+  0x69, 0xfe, 0x6f, 0xfe, 0x65, 0xfe, 0x73, 0x6e,
+};
+
+uint8_t huf::huf278[] = {
+  0xfe, 0xf8, 0x65, 0xfe, 0x69, 0xfe, 0x20, 0x2c,
+  0x1b, 0xfe, 0xfe, 0x61, 0x2d, 0x74,
+};
+
+uint8_t huf::huf279[] = {
+  0xfe, 0x20, 0xfe, 0xf2, 0xfe, 0xf6, 0xfe, 0x2c,
+  0xfe, 0xfc, 0x6d, 0x64, 0x69, 0x77, 0x65, 0x73,
+  0xfe, 0xf4, 0xfe, 0xf8, 0x6c, 0xfe, 0x27, 0xfe,
+  0x3f, 0x61, 0x1b, 0x6e, 0xfe, 0x2e, 0xfe, 0x6f,
+  0xfe, 0x3b, 0x62, 0x66,
+};
+
+uint8_t huf::huf27a[] = {
+  0xfe, 0xf8, 0xfe, 0xfc, 0x61, 0x65, 0x6c, 0x7a,
+  0xfe, 0xfc, 0x1b, 0x6f, 0x69, 0xfe, 0x20, 0x2e,
+};
+
+uint8_t huf::huf27b[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf27c[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf27d[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf27e[] = {
+  0xff, 0x1b,
+};
+
+uint8_t huf::huf27f[] = {
+  0xff, 0x1b,
+};
+
+uint8_t *huf::huf2[] = {
+  huf200, huf201, huf202, huf203, huf204, huf205, huf206, huf207,
+  huf208, huf209, huf20a, huf20b, huf20c, huf20d, huf20e, huf20f,
+  huf210, huf211, huf212, huf213, huf214, huf215, huf216, huf217,
+  huf218, huf219, huf21a, huf21b, huf21c, huf21d, huf21e, huf21f,
+  huf220, huf221, huf222, huf223, huf224, huf225, huf226, huf227,
+  huf228, huf229, huf22a, huf22b, huf22c, huf22d, huf22e, huf22f,
+  huf230, huf231, huf232, huf233, huf234, huf235, huf236, huf237,
+  huf238, huf239, huf23a, huf23b, huf23c, huf23d, huf23e, huf23f,
+  huf240, huf241, huf242, huf243, huf244, huf245, huf246, huf247,
+  huf248, huf249, huf24a, huf24b, huf24c, huf24d, huf24e, huf24f,
+  huf250, huf251, huf252, huf253, huf254, huf255, huf256, huf257,
+  huf258, huf259, huf25a, huf25b, huf25c, huf25d, huf25e, huf25f,
+  huf260, huf261, huf262, huf263, huf264, huf265, huf266, huf267,
+  huf268, huf269, huf26a, huf26b, huf26c, huf26d, huf26e, huf26f,
+  huf270, huf271, huf272, huf273, huf274, huf275, huf276, huf277,
+  huf278, huf279, huf27a, huf27b, huf27c, huf27d, huf27e, huf27f,
+};
+
+
+int huf::
+huf_decode(uint8_t **tree, uint8_t *msg, int mlen, char *bfr, int blen)
+{
+  int ch = -1, nch = 0, ret = 0;
+  int i, k = 0;
+  char *cp = &bfr[0];
+// there are 128 huffman trees used to decode text, using the
+//  prior character as the index to the next huffman tree.
+//  initial tree index is zero.  termination char is zero.
+  while( ch && k<mlen && ret<blen ) {
+    int8_t *bp = (int8_t *)tree[nch];
+// negative values are offsets to next left/right branch
+// positive values are terminal characters in the tree
+    for( ch=0; k<mlen; bp-=ch ) {
+      ch = bp[((msg[k/8] >> (7-k%8)) & 1)];  ++k;
+      if( zunlikely( ch >= 0 ) ) break;
+      if( zunlikely( ch == -1 ) ) {
+        printf("decode error\n");
+        ch = 0;  break;
+      }
+    }
+// the escape char quotes the next eight bits
+    if( zunlikely( ch == 0x1b ) ) {
+      for(ch=0,i=0; i<8 && k<mlen; ++i ) {
+        ch = (ch<<1) | ((msg[k/8] >> (7-k%8)) & 1);  ++k;
+      }
+    }
+    *cp++ = ch;
+    nch = ch < 128 ? ch : 0;
+    ret = cp - &bfr[0];
+  }
+  return ret;
+}
+
+#if 0
+/* prints out msg "The next" */
+/* 010 0 0 01 10010100 01101110 010 00010011 01 010 */
+/* 0100 0011 0010 1000 1101 1100 1000 0100 1101 0100 */
+uint8_t msg[] =  { 0x43, 0x28, 0xdc, 0x84, 0xd4, 0x00 };
+
+int main(int ac, char **av)
+{
+  char line[128];
+  int ret = huf_decode(huf1, msg, sizeof(msg)*8, line, sizeof(line));
+  printf(" ret=%d, line=%s\n", ret, line);
+  return 0;
+}
+
+#endif
+