Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / JU / Tree.js
index a10c6cc..a69bc77 100644 (file)
-Clazz.declarePackage ("JU");\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.dyn_tree = null;\r
-this.max_code = 0;\r
-this.stat_desc = null;\r
-Clazz.instantialize (this, arguments);\r
-}, JU, "Tree");\r
-c$.d_code = Clazz.defineMethod (c$, "d_code", \r
-function (dist) {\r
-return ((dist) < 256 ? JU.Tree._dist_code[dist] : JU.Tree._dist_code[256 + ((dist) >>> 7)]);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "gen_bitlen", \r
-function (s) {\r
-var tree = this.dyn_tree;\r
-var stree = this.stat_desc.static_tree;\r
-var extra = this.stat_desc.extra_bits;\r
-var base = this.stat_desc.extra_base;\r
-var max_length = this.stat_desc.max_length;\r
-var h;\r
-var n;\r
-var m;\r
-var bits;\r
-var xbits;\r
-var f;\r
-var overflow = 0;\r
-for (bits = 0; bits <= 15; bits++) s.bl_count[bits] = 0;\r
-\r
-tree[s.heap[s.heap_max] * 2 + 1] = 0;\r
-for (h = s.heap_max + 1; h < 573; h++) {\r
-n = s.heap[h];\r
-bits = tree[tree[n * 2 + 1] * 2 + 1] + 1;\r
-if (bits > max_length) {\r
-bits = max_length;\r
-overflow++;\r
-}tree[n * 2 + 1] = bits;\r
-if (n > this.max_code) continue;\r
-s.bl_count[bits]++;\r
-xbits = 0;\r
-if (n >= base) xbits = extra[n - base];\r
-f = tree[n * 2];\r
-s.opt_len += f * (bits + xbits);\r
-if (stree != null) s.static_len += f * (stree[n * 2 + 1] + xbits);\r
-}\r
-if (overflow == 0) return;\r
-do {\r
-bits = max_length - 1;\r
-while (s.bl_count[bits] == 0) bits--;\r
-\r
-s.bl_count[bits]--;\r
-s.bl_count[bits + 1] += 2;\r
-s.bl_count[max_length]--;\r
-overflow -= 2;\r
-} while (overflow > 0);\r
-for (bits = max_length; bits != 0; bits--) {\r
-n = s.bl_count[bits];\r
-while (n != 0) {\r
-m = s.heap[--h];\r
-if (m > this.max_code) continue;\r
-if (tree[m * 2 + 1] != bits) {\r
-s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2];\r
-tree[m * 2 + 1] = bits;\r
-}n--;\r
-}\r
-}\r
-}, "JU.Deflate");\r
-Clazz.defineMethod (c$, "build_tree", \r
-function (s) {\r
-var tree = this.dyn_tree;\r
-var stree = this.stat_desc.static_tree;\r
-var elems = this.stat_desc.elems;\r
-var n;\r
-var m;\r
-var max_code = -1;\r
-var node;\r
-s.heap_len = 0;\r
-s.heap_max = 573;\r
-for (n = 0; n < elems; n++) {\r
-if (tree[n * 2] != 0) {\r
-s.heap[++s.heap_len] = max_code = n;\r
-s.depth[n] = 0;\r
-} else {\r
-tree[n * 2 + 1] = 0;\r
-}}\r
-while (s.heap_len < 2) {\r
-node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\r
-tree[node * 2] = 1;\r
-s.depth[node] = 0;\r
-s.opt_len--;\r
-if (stree != null) s.static_len -= stree[node * 2 + 1];\r
-}\r
-this.max_code = max_code;\r
-for (n = Clazz.doubleToInt (s.heap_len / 2); n >= 1; n--) s.pqdownheap (tree, n);\r
-\r
-node = elems;\r
-do {\r
-n = s.heap[1];\r
-s.heap[1] = s.heap[s.heap_len--];\r
-s.pqdownheap (tree, 1);\r
-m = s.heap[1];\r
-s.heap[--s.heap_max] = n;\r
-s.heap[--s.heap_max] = m;\r
-tree[node * 2] = (tree[n * 2] + tree[m * 2]);\r
-s.depth[node] = (Math.max (s.depth[n], s.depth[m]) + 1);\r
-tree[n * 2 + 1] = tree[m * 2 + 1] = node;\r
-s.heap[1] = node++;\r
-s.pqdownheap (tree, 1);\r
-} while (s.heap_len >= 2);\r
-s.heap[--s.heap_max] = s.heap[1];\r
-this.gen_bitlen (s);\r
-JU.Tree.gen_codes (tree, max_code, s.bl_count);\r
-}, "JU.Deflate");\r
-c$.gen_codes = Clazz.defineMethod (c$, "gen_codes", \r
-function (tree, max_code, bl_count) {\r
-var code = 0;\r
-var bits;\r
-var n;\r
-JU.Tree.next_code[0] = 0;\r
-for (bits = 1; bits <= 15; bits++) {\r
-JU.Tree.next_code[bits] = code = ((code + bl_count[bits - 1]) << 1);\r
-}\r
-for (n = 0; n <= max_code; n++) {\r
-var len = tree[n * 2 + 1];\r
-if (len == 0) continue;\r
-tree[n * 2] = (JU.Tree.bi_reverse (JU.Tree.next_code[len]++, len));\r
-}\r
-}, "~A,~N,~A");\r
-c$.bi_reverse = Clazz.defineMethod (c$, "bi_reverse", \r
-function (code, len) {\r
-var res = 0;\r
-do {\r
-res |= code & 1;\r
-code >>>= 1;\r
-res <<= 1;\r
-} while (--len > 0);\r
-return res >>> 1;\r
-}, "~N,~N");\r
-Clazz.defineStatics (c$,\r
-"MAX_BITS", 15,\r
-"LITERALS", 256,\r
-"LENGTH_CODES", 29,\r
-"L_CODES", (286),\r
-"HEAP_SIZE", (573),\r
-"MAX_BL_BITS", 7,\r
-"END_BLOCK", 256,\r
-"REP_3_6", 16,\r
-"REPZ_3_10", 17,\r
-"REPZ_11_138", 18,\r
-"extra_lbits",  Clazz.newIntArray (-1, [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0]),\r
-"extra_dbits",  Clazz.newIntArray (-1, [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]),\r
-"extra_blbits",  Clazz.newIntArray (-1, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7]),\r
-"bl_order",  Clazz.newByteArray (-1, [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]),\r
-"Buf_size", 16,\r
-"DIST_CODE_LEN", 512,\r
-"_dist_code",  Clazz.newByteArray (-1, [0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17, 18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29]),\r
-"_length_code",  Clazz.newByteArray (-1, [0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28]),\r
-"base_length",  Clazz.newIntArray (-1, [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 0]),\r
-"base_dist",  Clazz.newIntArray (-1, [0, 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576]),\r
-"next_code",  Clazz.newShortArray (16, 0));\r
+Clazz.declarePackage ("JU");
+c$ = Clazz.decorateAsClass (function () {
+this.dyn_tree = null;
+this.max_code = 0;
+this.stat_desc = null;
+Clazz.instantialize (this, arguments);
+}, JU, "Tree");
+c$.d_code = Clazz.defineMethod (c$, "d_code", 
+function (dist) {
+return ((dist) < 256 ? JU.Tree._dist_code[dist] : JU.Tree._dist_code[256 + ((dist) >>> 7)]);
+}, "~N");
+Clazz.defineMethod (c$, "gen_bitlen", 
+function (s) {
+var tree = this.dyn_tree;
+var stree = this.stat_desc.static_tree;
+var extra = this.stat_desc.extra_bits;
+var base = this.stat_desc.extra_base;
+var max_length = this.stat_desc.max_length;
+var h;
+var n;
+var m;
+var bits;
+var xbits;
+var f;
+var overflow = 0;
+for (bits = 0; bits <= 15; bits++) s.bl_count[bits] = 0;
+
+tree[s.heap[s.heap_max] * 2 + 1] = 0;
+for (h = s.heap_max + 1; h < 573; h++) {
+n = s.heap[h];
+bits = tree[tree[n * 2 + 1] * 2 + 1] + 1;
+if (bits > max_length) {
+bits = max_length;
+overflow++;
+}tree[n * 2 + 1] = bits;
+if (n > this.max_code) continue;
+s.bl_count[bits]++;
+xbits = 0;
+if (n >= base) xbits = extra[n - base];
+f = tree[n * 2];
+s.opt_len += f * (bits + xbits);
+if (stree != null) s.static_len += f * (stree[n * 2 + 1] + xbits);
+}
+if (overflow == 0) return;
+do {
+bits = max_length - 1;
+while (s.bl_count[bits] == 0) bits--;
+
+s.bl_count[bits]--;
+s.bl_count[bits + 1] += 2;
+s.bl_count[max_length]--;
+overflow -= 2;
+} while (overflow > 0);
+for (bits = max_length; bits != 0; bits--) {
+n = s.bl_count[bits];
+while (n != 0) {
+m = s.heap[--h];
+if (m > this.max_code) continue;
+if (tree[m * 2 + 1] != bits) {
+s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2];
+tree[m * 2 + 1] = bits;
+}n--;
+}
+}
+}, "JU.Deflate");
+Clazz.defineMethod (c$, "build_tree", 
+function (s) {
+var tree = this.dyn_tree;
+var stree = this.stat_desc.static_tree;
+var elems = this.stat_desc.elems;
+var n;
+var m;
+var max_code = -1;
+var node;
+s.heap_len = 0;
+s.heap_max = 573;
+for (n = 0; n < elems; n++) {
+if (tree[n * 2] != 0) {
+s.heap[++s.heap_len] = max_code = n;
+s.depth[n] = 0;
+} else {
+tree[n * 2 + 1] = 0;
+}}
+while (s.heap_len < 2) {
+node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);
+tree[node * 2] = 1;
+s.depth[node] = 0;
+s.opt_len--;
+if (stree != null) s.static_len -= stree[node * 2 + 1];
+}
+this.max_code = max_code;
+for (n = Clazz.doubleToInt (s.heap_len / 2); n >= 1; n--) s.pqdownheap (tree, n);
+
+node = elems;
+do {
+n = s.heap[1];
+s.heap[1] = s.heap[s.heap_len--];
+s.pqdownheap (tree, 1);
+m = s.heap[1];
+s.heap[--s.heap_max] = n;
+s.heap[--s.heap_max] = m;
+tree[node * 2] = (tree[n * 2] + tree[m * 2]);
+s.depth[node] = (Math.max (s.depth[n], s.depth[m]) + 1);
+tree[n * 2 + 1] = tree[m * 2 + 1] = node;
+s.heap[1] = node++;
+s.pqdownheap (tree, 1);
+} while (s.heap_len >= 2);
+s.heap[--s.heap_max] = s.heap[1];
+this.gen_bitlen (s);
+JU.Tree.gen_codes (tree, max_code, s.bl_count);
+}, "JU.Deflate");
+c$.gen_codes = Clazz.defineMethod (c$, "gen_codes", 
+function (tree, max_code, bl_count) {
+var code = 0;
+var bits;
+var n;
+JU.Tree.next_code[0] = 0;
+for (bits = 1; bits <= 15; bits++) {
+JU.Tree.next_code[bits] = code = ((code + bl_count[bits - 1]) << 1);
+}
+for (n = 0; n <= max_code; n++) {
+var len = tree[n * 2 + 1];
+if (len == 0) continue;
+tree[n * 2] = (JU.Tree.bi_reverse (JU.Tree.next_code[len]++, len));
+}
+}, "~A,~N,~A");
+c$.bi_reverse = Clazz.defineMethod (c$, "bi_reverse", 
+function (code, len) {
+var res = 0;
+do {
+res |= code & 1;
+code >>>= 1;
+res <<= 1;
+} while (--len > 0);
+return res >>> 1;
+}, "~N,~N");
+Clazz.defineStatics (c$,
+"MAX_BITS", 15,
+"LITERALS", 256,
+"LENGTH_CODES", 29,
+"L_CODES", (286),
+"HEAP_SIZE", (573),
+"MAX_BL_BITS", 7,
+"END_BLOCK", 256,
+"REP_3_6", 16,
+"REPZ_3_10", 17,
+"REPZ_11_138", 18,
+"extra_lbits",  Clazz.newIntArray (-1, [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0]),
+"extra_dbits",  Clazz.newIntArray (-1, [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]),
+"extra_blbits",  Clazz.newIntArray (-1, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7]),
+"bl_order",  Clazz.newByteArray (-1, [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]),
+"Buf_size", 16,
+"DIST_CODE_LEN", 512,
+"_dist_code",  Clazz.newByteArray (-1, [0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17, 18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29]),
+"_length_code",  Clazz.newByteArray (-1, [0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28]),
+"base_length",  Clazz.newIntArray (-1, [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 0]),
+"base_dist",  Clazz.newIntArray (-1, [0, 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576]),
+"next_code",  Clazz.newShortArray (16, 0));