@loaders.gl/excel 4.0.0-beta.1 → 4.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/{dist.min.js → dist.dev.js} +1134 -170
  2. package/dist/{esm/excel-loader.js → excel-loader.js} +1 -1
  3. package/dist/excel-loader.js.map +1 -0
  4. package/dist/excel-worker.js +1099 -106
  5. package/dist/index.cjs +86 -0
  6. package/dist/{esm/index.js → index.js} +2 -2
  7. package/dist/index.js.map +1 -0
  8. package/dist/lib/encode-excel.js.map +1 -0
  9. package/dist/lib/parse-excel.js.map +1 -0
  10. package/dist/{esm/workers → workers}/excel-worker.js +1 -1
  11. package/dist/workers/excel-worker.js.map +1 -0
  12. package/package.json +16 -8
  13. package/dist/bundle.d.ts +0 -2
  14. package/dist/bundle.d.ts.map +0 -1
  15. package/dist/es5/bundle.js +0 -6
  16. package/dist/es5/bundle.js.map +0 -1
  17. package/dist/es5/excel-loader.js +0 -27
  18. package/dist/es5/excel-loader.js.map +0 -1
  19. package/dist/es5/index.js +0 -42
  20. package/dist/es5/index.js.map +0 -1
  21. package/dist/es5/lib/encode-excel.js +0 -2
  22. package/dist/es5/lib/encode-excel.js.map +0 -1
  23. package/dist/es5/lib/parse-excel.js +0 -31
  24. package/dist/es5/lib/parse-excel.js.map +0 -1
  25. package/dist/es5/workers/excel-worker.js +0 -6
  26. package/dist/es5/workers/excel-worker.js.map +0 -1
  27. package/dist/esm/bundle.js +0 -4
  28. package/dist/esm/bundle.js.map +0 -1
  29. package/dist/esm/excel-loader.js.map +0 -1
  30. package/dist/esm/index.js.map +0 -1
  31. package/dist/esm/lib/encode-excel.js.map +0 -1
  32. package/dist/esm/lib/parse-excel.js.map +0 -1
  33. package/dist/esm/workers/excel-worker.js.map +0 -1
  34. package/src/bundle.ts +0 -4
  35. /package/dist/{esm/lib → lib}/encode-excel.js +0 -0
  36. /package/dist/{esm/lib → lib}/parse-excel.js +0 -0
@@ -1,11 +1,17 @@
1
- (() => {
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if (typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if (typeof define === 'function' && define.amd) define([], factory);
5
+ else if (typeof exports === 'object') exports['loader'] = factory();
6
+ else root['loader'] = factory();})(globalThis, function () {
7
+ "use strict";
8
+ var __exports__ = (() => {
2
9
  var __create = Object.create;
3
10
  var __defProp = Object.defineProperty;
4
11
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
12
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
13
  var __getProtoOf = Object.getPrototypeOf;
7
14
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
9
15
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
10
16
  get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
11
17
  }) : x)(function(x) {
@@ -13,64 +19,37 @@
13
19
  return require.apply(this, arguments);
14
20
  throw new Error('Dynamic require of "' + x + '" is not supported');
15
21
  });
16
- var __esm = (fn, res) => function __init() {
17
- return fn && (res = (0, fn[Object.keys(fn)[0]])(fn = 0)), res;
18
- };
19
22
  var __commonJS = (cb, mod) => function __require2() {
20
- return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
23
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
21
24
  };
22
25
  var __export = (target, all) => {
23
- __markAsModule(target);
24
26
  for (var name in all)
25
27
  __defProp(target, name, { get: all[name], enumerable: true });
26
28
  };
27
- var __reExport = (target, module, desc) => {
28
- if (module && typeof module === "object" || typeof module === "function") {
29
- for (let key of __getOwnPropNames(module))
30
- if (!__hasOwnProp.call(target, key) && key !== "default")
31
- __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
29
+ var __copyProps = (to, from, except, desc) => {
30
+ if (from && typeof from === "object" || typeof from === "function") {
31
+ for (let key of __getOwnPropNames(from))
32
+ if (!__hasOwnProp.call(to, key) && key !== except)
33
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
32
34
  }
33
- return target;
34
- };
35
- var __toModule = (module) => {
36
- return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
35
+ return to;
37
36
  };
38
-
39
- // src/excel-loader.ts
40
- var VERSION, DEFAULT_EXCEL_LOADER_OPTIONS, ExcelLoader;
41
- var init_excel_loader = __esm({
42
- "src/excel-loader.ts"() {
43
- VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
44
- DEFAULT_EXCEL_LOADER_OPTIONS = {
45
- excel: {
46
- shape: "object-row-table",
47
- sheet: void 0
48
- }
49
- };
50
- ExcelLoader = {
51
- name: "Excel",
52
- id: "excel",
53
- module: "excel",
54
- version: VERSION,
55
- worker: true,
56
- extensions: ["xls", "xlsb", "xlsm", "xlsx"],
57
- mimeTypes: [
58
- "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
59
- "application/vnd.ms-excel"
60
- ],
61
- category: "table",
62
- binary: true,
63
- options: DEFAULT_EXCEL_LOADER_OPTIONS
64
- };
65
- }
66
- });
37
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
38
+ // If the importer is in node compatibility mode or this is not an ESM
39
+ // file that has been converted to a CommonJS file using a Babel-
40
+ // compatible transform (i.e. "__esModule" has not been set), then set
41
+ // "default" to the CommonJS "module.exports" for node compatibility.
42
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
43
+ mod
44
+ ));
45
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
67
46
 
68
47
  // ../../node_modules/xlsx/dist/cpexcel.js
69
48
  var require_cpexcel = __commonJS({
70
49
  "../../node_modules/xlsx/dist/cpexcel.js"(exports, module) {
71
50
  var cptable2 = { version: "1.15.0" };
72
51
  cptable2[437] = function() {
73
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
52
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
74
53
  for (var i = 0; i != d.length; ++i) {
75
54
  if (d.charCodeAt(i) !== 65533)
76
55
  e[d.charAt(i)] = i;
@@ -79,7 +58,7 @@
79
58
  return { "enc": e, "dec": D };
80
59
  }();
81
60
  cptable2[620] = function() {
82
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\u0105\xE7\xEA\xEB\xE8\xEF\xEE\u0107\xC4\u0104\u0118\u0119\u0142\xF4\xF6\u0106\xFB\xF9\u015A\xD6\xDC\xA2\u0141\xA5\u015B\u0192\u0179\u017B\xF3\xD3\u0144\u0143\u017A\u017C\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
61
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\u0105\xE7\xEA\xEB\xE8\xEF\xEE\u0107\xC4\u0104\u0118\u0119\u0142\xF4\xF6\u0106\xFB\xF9\u015A\xD6\xDC\xA2\u0141\xA5\u015B\u0192\u0179\u017B\xF3\xD3\u0144\u0143\u017A\u017C\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
83
62
  for (var i = 0; i != d.length; ++i) {
84
63
  if (d.charCodeAt(i) !== 65533)
85
64
  e[d.charAt(i)] = i;
@@ -88,7 +67,7 @@
88
67
  return { "enc": e, "dec": D };
89
68
  }();
90
69
  cptable2[737] = function() {
91
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
70
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
92
71
  for (var i = 0; i != d.length; ++i) {
93
72
  if (d.charCodeAt(i) !== 65533)
94
73
  e[d.charAt(i)] = i;
@@ -97,7 +76,7 @@
97
76
  return { "enc": e, "dec": D };
98
77
  }();
99
78
  cptable2[850] = function() {
100
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0", D = [], e = {};
79
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0", D = [], e = {};
101
80
  for (var i = 0; i != d.length; ++i) {
102
81
  if (d.charCodeAt(i) !== 65533)
103
82
  e[d.charAt(i)] = i;
@@ -106,7 +85,7 @@
106
85
  return { "enc": e, "dec": D };
107
86
  }();
108
87
  cptable2[852] = function() {
109
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0", D = [], e = {};
88
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0", D = [], e = {};
110
89
  for (var i = 0; i != d.length; ++i) {
111
90
  if (d.charCodeAt(i) !== 65533)
112
91
  e[d.charAt(i)] = i;
@@ -115,7 +94,7 @@
115
94
  return { "enc": e, "dec": D };
116
95
  }();
117
96
  cptable2[857] = function() {
118
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0", D = [], e = {};
97
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0", D = [], e = {};
119
98
  for (var i = 0; i != d.length; ++i) {
120
99
  if (d.charCodeAt(i) !== 65533)
121
100
  e[d.charAt(i)] = i;
@@ -124,7 +103,7 @@
124
103
  return { "enc": e, "dec": D };
125
104
  }();
126
105
  cptable2[861] = function() {
127
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
106
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
128
107
  for (var i = 0; i != d.length; ++i) {
129
108
  if (d.charCodeAt(i) !== 65533)
130
109
  e[d.charAt(i)] = i;
@@ -133,7 +112,7 @@
133
112
  return { "enc": e, "dec": D };
134
113
  }();
135
114
  cptable2[865] = function() {
136
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
115
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
137
116
  for (var i = 0; i != d.length; ++i) {
138
117
  if (d.charCodeAt(i) !== 65533)
139
118
  e[d.charAt(i)] = i;
@@ -142,7 +121,7 @@
142
121
  return { "enc": e, "dec": D };
143
122
  }();
144
123
  cptable2[866] = function() {
145
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0", D = [], e = {};
124
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0", D = [], e = {};
146
125
  for (var i = 0; i != d.length; ++i) {
147
126
  if (d.charCodeAt(i) !== 65533)
148
127
  e[d.charAt(i)] = i;
@@ -151,7 +130,7 @@
151
130
  return { "enc": e, "dec": D };
152
131
  }();
153
132
  cptable2[874] = function() {
154
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD", D = [], e = {};
133
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD", D = [], e = {};
155
134
  for (var i = 0; i != d.length; ++i) {
156
135
  if (d.charCodeAt(i) !== 65533)
157
136
  e[d.charAt(i)] = i;
@@ -160,7 +139,7 @@
160
139
  return { "enc": e, "dec": D };
161
140
  }();
162
141
  cptable2[895] = function() {
163
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u010C\xFC\xE9\u010F\xE4\u010E\u0164\u010D\u011B\u011A\u0139\xCD\u013E\u01EA\xC4\xC1\xC9\u017E\u017D\xF4\xF6\xD3\u016F\xDA\xFD\xD6\xDC\u0160\u013D\xDD\u0158\u0165\xE1\xED\xF3\xFA\u0148\u0147\u016E\xD4\u0161\u0159\u0155\u0154\xBC\xA7\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
142
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u010C\xFC\xE9\u010F\xE4\u010E\u0164\u010D\u011B\u011A\u0139\xCD\u013E\u01EA\xC4\xC1\xC9\u017E\u017D\xF4\xF6\xD3\u016F\xDA\xFD\xD6\xDC\u0160\u013D\xDD\u0158\u0165\xE1\xED\xF3\xFA\u0148\u0147\u016E\xD4\u0161\u0159\u0155\u0154\xBC\xA7\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0", D = [], e = {};
164
143
  for (var i = 0; i != d.length; ++i) {
165
144
  if (d.charCodeAt(i) !== 65533)
166
145
  e[d.charAt(i)] = i;
@@ -170,7 +149,7 @@
170
149
  }();
171
150
  cptable2[932] = function() {
172
151
  var d = [], e = {}, D = [], j;
173
- D[0] = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFF61\uFF62\uFF63\uFF64\uFF65\uFF66\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\uFF71\uFF72\uFF73\uFF74\uFF75\uFF76\uFF77\uFF78\uFF79\uFF7A\uFF7B\uFF7C\uFF7D\uFF7E\uFF7F\uFF80\uFF81\uFF82\uFF83\uFF84\uFF85\uFF86\uFF87\uFF88\uFF89\uFF8A\uFF8B\uFF8C\uFF8D\uFF8E\uFF8F\uFF90\uFF91\uFF92\uFF93\uFF94\uFF95\uFF96\uFF97\uFF98\uFF99\uFF9A\uFF9B\uFF9C\uFF9D\uFF9E\uFF9F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
152
+ D[0] = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFF61\uFF62\uFF63\uFF64\uFF65\uFF66\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\uFF71\uFF72\uFF73\uFF74\uFF75\uFF76\uFF77\uFF78\uFF79\uFF7A\uFF7B\uFF7C\uFF7D\uFF7E\uFF7F\uFF80\uFF81\uFF82\uFF83\uFF84\uFF85\uFF86\uFF87\uFF88\uFF89\uFF8A\uFF8B\uFF8C\uFF8D\uFF8E\uFF8F\uFF90\uFF91\uFF92\uFF93\uFF94\uFF95\uFF96\uFF97\uFF98\uFF99\uFF9A\uFF9B\uFF9C\uFF9D\uFF9E\uFF9F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
174
153
  for (j = 0; j != D[0].length; ++j)
175
154
  if (D[0][j].charCodeAt(0) !== 65533) {
176
155
  e[D[0][j]] = 0 + j;
@@ -450,7 +429,7 @@
450
429
  }();
451
430
  cptable2[936] = function() {
452
431
  var d = [], e = {}, D = [], j;
453
- D[0] = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
432
+ D[0] = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
454
433
  for (j = 0; j != D[0].length; ++j)
455
434
  if (D[0][j].charCodeAt(0) !== 65533) {
456
435
  e[D[0][j]] = 0 + j;
@@ -1216,7 +1195,7 @@
1216
1195
  }();
1217
1196
  cptable2[949] = function() {
1218
1197
  var d = [], e = {}, D = [], j;
1219
- D[0] = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
1198
+ D[0] = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
1220
1199
  for (j = 0; j != D[0].length; ++j)
1221
1200
  if (D[0][j].charCodeAt(0) !== 65533) {
1222
1201
  e[D[0][j]] = 0 + j;
@@ -1970,7 +1949,7 @@
1970
1949
  }();
1971
1950
  cptable2[950] = function() {
1972
1951
  var d = [], e = {}, D = [], j;
1973
- D[0] = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
1952
+ D[0] = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD".split("");
1974
1953
  for (j = 0; j != D[0].length; ++j)
1975
1954
  if (D[0][j].charCodeAt(0) !== 65533) {
1976
1955
  e[D[0][j]] = 0 + j;
@@ -2501,7 +2480,7 @@
2501
2480
  return { "enc": e, "dec": d };
2502
2481
  }();
2503
2482
  cptable2[1250] = function() {
2504
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9", D = [], e = {};
2483
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9", D = [], e = {};
2505
2484
  for (var i = 0; i != d.length; ++i) {
2506
2485
  if (d.charCodeAt(i) !== 65533)
2507
2486
  e[d.charAt(i)] = i;
@@ -2510,7 +2489,7 @@
2510
2489
  return { "enc": e, "dec": D };
2511
2490
  }();
2512
2491
  cptable2[1251] = function() {
2513
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F", D = [], e = {};
2492
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F", D = [], e = {};
2514
2493
  for (var i = 0; i != d.length; ++i) {
2515
2494
  if (d.charCodeAt(i) !== 65533)
2516
2495
  e[d.charAt(i)] = i;
@@ -2519,7 +2498,7 @@
2519
2498
  return { "enc": e, "dec": D };
2520
2499
  }();
2521
2500
  cptable2[1252] = function() {
2522
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF", D = [], e = {};
2501
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF", D = [], e = {};
2523
2502
  for (var i = 0; i != d.length; ++i) {
2524
2503
  if (d.charCodeAt(i) !== 65533)
2525
2504
  e[d.charAt(i)] = i;
@@ -2528,7 +2507,7 @@
2528
2507
  return { "enc": e, "dec": D };
2529
2508
  }();
2530
2509
  cptable2[1253] = function() {
2531
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD", D = [], e = {};
2510
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD", D = [], e = {};
2532
2511
  for (var i = 0; i != d.length; ++i) {
2533
2512
  if (d.charCodeAt(i) !== 65533)
2534
2513
  e[d.charAt(i)] = i;
@@ -2537,7 +2516,7 @@
2537
2516
  return { "enc": e, "dec": D };
2538
2517
  }();
2539
2518
  cptable2[1254] = function() {
2540
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF", D = [], e = {};
2519
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF", D = [], e = {};
2541
2520
  for (var i = 0; i != d.length; ++i) {
2542
2521
  if (d.charCodeAt(i) !== 65533)
2543
2522
  e[d.charAt(i)] = i;
@@ -2546,7 +2525,7 @@
2546
2525
  return { "enc": e, "dec": D };
2547
2526
  }();
2548
2527
  cptable2[1255] = function() {
2549
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\uFFFD\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD", D = [], e = {};
2528
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\uFFFD\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD", D = [], e = {};
2550
2529
  for (var i = 0; i != d.length; ++i) {
2551
2530
  if (d.charCodeAt(i) !== 65533)
2552
2531
  e[d.charAt(i)] = i;
@@ -2555,7 +2534,7 @@
2555
2534
  return { "enc": e, "dec": D };
2556
2535
  }();
2557
2536
  cptable2[1256] = function() {
2558
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2", D = [], e = {};
2537
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2", D = [], e = {};
2559
2538
  for (var i = 0; i != d.length; ++i) {
2560
2539
  if (d.charCodeAt(i) !== 65533)
2561
2540
  e[d.charAt(i)] = i;
@@ -2564,7 +2543,7 @@
2564
2543
  return { "enc": e, "dec": D };
2565
2544
  }();
2566
2545
  cptable2[1257] = function() {
2567
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9", D = [], e = {};
2546
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9", D = [], e = {};
2568
2547
  for (var i = 0; i != d.length; ++i) {
2569
2548
  if (d.charCodeAt(i) !== 65533)
2570
2549
  e[d.charAt(i)] = i;
@@ -2573,7 +2552,7 @@
2573
2552
  return { "enc": e, "dec": D };
2574
2553
  }();
2575
2554
  cptable2[1258] = function() {
2576
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF", D = [], e = {};
2555
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF", D = [], e = {};
2577
2556
  for (var i = 0; i != d.length; ++i) {
2578
2557
  if (d.charCodeAt(i) !== 65533)
2579
2558
  e[d.charAt(i)] = i;
@@ -2582,7 +2561,7 @@
2582
2561
  return { "enc": e, "dec": D };
2583
2562
  }();
2584
2563
  cptable2[1e4] = function() {
2585
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
2564
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
2586
2565
  for (var i = 0; i != d.length; ++i) {
2587
2566
  if (d.charCodeAt(i) !== 65533)
2588
2567
  e[d.charAt(i)] = i;
@@ -2591,7 +2570,7 @@
2591
2570
  return { "enc": e, "dec": D };
2592
2571
  }();
2593
2572
  cptable2[10006] = function() {
2594
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD", D = [], e = {};
2573
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD", D = [], e = {};
2595
2574
  for (var i = 0; i != d.length; ++i) {
2596
2575
  if (d.charCodeAt(i) !== 65533)
2597
2576
  e[d.charAt(i)] = i;
@@ -2600,7 +2579,7 @@
2600
2579
  return { "enc": e, "dec": D };
2601
2580
  }();
2602
2581
  cptable2[10007] = function() {
2603
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4", D = [], e = {};
2582
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4", D = [], e = {};
2604
2583
  for (var i = 0; i != d.length; ++i) {
2605
2584
  if (d.charCodeAt(i) !== 65533)
2606
2585
  e[d.charAt(i)] = i;
@@ -2610,7 +2589,7 @@
2610
2589
  }();
2611
2590
  cptable2[10008] = function() {
2612
2591
  var d = [], e = {}, D = [], j;
2613
- D[0] = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\x80\uF8D8\uF8D9\uF8DA\uF8DB\uF8DC\uF8DD\uF8DE\uF8DF\uF8E0\uF8E1\uF8E2\uF8E3\uF8E4\uF8E5\uF8E6\uF8E7\uF8E8\uF8E9\uF8EA\uF8EB\uF8EC\uF8ED\uF8EE\uF8EF\uF8F0\uF8F1\uF8F2\uF8F3\uF8F4\uF8F5\uF8F6\uF8F7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uF8F8\uF8F9\uF8FA\uF8FB\uF8FC\uF8FD\uF8FE\uF8FF".split("");
2592
+ D[0] = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\x80\uF8D8\uF8D9\uF8DA\uF8DB\uF8DC\uF8DD\uF8DE\uF8DF\uF8E0\uF8E1\uF8E2\uF8E3\uF8E4\uF8E5\uF8E6\uF8E7\uF8E8\uF8E9\uF8EA\uF8EB\uF8EC\uF8ED\uF8EE\uF8EF\uF8F0\uF8F1\uF8F2\uF8F3\uF8F4\uF8F5\uF8F6\uF8F7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uF8F8\uF8F9\uF8FA\uF8FB\uF8FC\uF8FD\uF8FE\uF8FF".split("");
2614
2593
  for (j = 0; j != D[0].length; ++j)
2615
2594
  if (D[0][j].charCodeAt(0) !== 65533) {
2616
2595
  e[D[0][j]] = 0 + j;
@@ -3105,7 +3084,7 @@
3105
3084
  return { "enc": e, "dec": d };
3106
3085
  }();
3107
3086
  cptable2[10029] = function() {
3108
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7", D = [], e = {};
3087
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7", D = [], e = {};
3109
3088
  for (var i = 0; i != d.length; ++i) {
3110
3089
  if (d.charCodeAt(i) !== 65533)
3111
3090
  e[d.charAt(i)] = i;
@@ -3114,7 +3093,7 @@
3114
3093
  return { "enc": e, "dec": D };
3115
3094
  }();
3116
3095
  cptable2[10079] = function() {
3117
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
3096
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
3118
3097
  for (var i = 0; i != d.length; ++i) {
3119
3098
  if (d.charCodeAt(i) !== 65533)
3120
3099
  e[d.charAt(i)] = i;
@@ -3123,7 +3102,7 @@
3123
3102
  return { "enc": e, "dec": D };
3124
3103
  }();
3125
3104
  cptable2[10081] = function() {
3126
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
3105
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7", D = [], e = {};
3127
3106
  for (var i = 0; i != d.length; ++i) {
3128
3107
  if (d.charCodeAt(i) !== 65533)
3129
3108
  e[d.charAt(i)] = i;
@@ -3132,7 +3111,7 @@
3132
3111
  return { "enc": e, "dec": D };
3133
3112
  }();
3134
3113
  cptable2[28591] = function() {
3135
- var d = "\0\x07\b \n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF", D = [], e = {};
3114
+ var d = "\0\x07\b \n\v\f\r\x1B !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7F\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF", D = [], e = {};
3136
3115
  for (var i = 0; i != d.length; ++i) {
3137
3116
  if (d.charCodeAt(i) !== 65533)
3138
3117
  e[d.charAt(i)] = i;
@@ -3532,7 +3511,6 @@
3532
3511
  }
3533
3512
  };
3534
3513
  var null_enc = function(data, ofmt) {
3535
- void 0;
3536
3514
  return "";
3537
3515
  };
3538
3516
  var cp_decache = function cp_decache2(cp) {
@@ -3899,14 +3877,14 @@
3899
3877
  var require_jszip = __commonJS({
3900
3878
  "../../node_modules/xlsx/jszip.js"(exports, module) {
3901
3879
  (function(e) {
3902
- if (typeof exports == "object" && typeof module != "undefined" && typeof DO_NOT_EXPORT_JSZIP == "undefined")
3880
+ if ("object" == typeof exports && "undefined" != typeof module && "undefined" == typeof DO_NOT_EXPORT_JSZIP)
3903
3881
  module.exports = e();
3904
- else if (typeof define == "function" && define.amd && typeof DO_NOT_EXPORT_JSZIP == "undefined") {
3882
+ else if ("function" == typeof define && define.amd && "undefined" == typeof DO_NOT_EXPORT_JSZIP) {
3905
3883
  JSZipSync = e();
3906
3884
  define("j", [], e);
3907
3885
  } else {
3908
3886
  var f;
3909
- typeof globalThis != "undefined" ? f = globalThis : typeof window != "undefined" ? f = window : typeof global != "undefined" ? f = global : typeof $ != "undefined" && $.global ? f = $.global : typeof self != "undefined" && (f = self), f.JSZipSync = e();
3887
+ "undefined" != typeof globalThis ? f = globalThis : "undefined" != typeof window ? f = window : "undefined" != typeof global ? f = global : "undefined" != typeof $ && $.global ? f = $.global : "undefined" != typeof self && (f = self), f.JSZipSync = e();
3910
3888
  }
3911
3889
  })(function() {
3912
3890
  var define2, module2, exports2;
@@ -3991,9 +3969,19 @@
3991
3969
  this.compressedContent = null;
3992
3970
  }
3993
3971
  CompressedObject.prototype = {
3972
+ /**
3973
+ * Return the decompressed content in an unspecified format.
3974
+ * The format will depend on the decompressor.
3975
+ * @return {Object} the decompressed content.
3976
+ */
3994
3977
  getContent: function() {
3995
3978
  return null;
3996
3979
  },
3980
+ /**
3981
+ * Return the compressed content in an unspecified format.
3982
+ * The format will depend on the compressed conten source.
3983
+ * @return {Object} the compressed content.
3984
+ */
3997
3985
  getCompressedContent: function() {
3998
3986
  return null;
3999
3987
  }
@@ -4303,23 +4291,53 @@
4303
4291
  this.index = 0;
4304
4292
  }
4305
4293
  DataReader.prototype = {
4294
+ /**
4295
+ * Check that the offset will not go too far.
4296
+ * @param {string} offset the additional offset to check.
4297
+ * @throws {Error} an Error if the offset is out of bounds.
4298
+ */
4306
4299
  checkOffset: function(offset) {
4307
4300
  this.checkIndex(this.index + offset);
4308
4301
  },
4302
+ /**
4303
+ * Check that the specifed index will not be too far.
4304
+ * @param {string} newIndex the index to check.
4305
+ * @throws {Error} an Error if the index is out of bounds.
4306
+ */
4309
4307
  checkIndex: function(newIndex) {
4310
4308
  if (this.length < newIndex || newIndex < 0) {
4311
4309
  throw new Error("End of data reached (data length = " + this.length + ", asked index = " + newIndex + "). Corrupted zip ?");
4312
4310
  }
4313
4311
  },
4312
+ /**
4313
+ * Change the index.
4314
+ * @param {number} newIndex The new index.
4315
+ * @throws {Error} if the new index is out of the data.
4316
+ */
4314
4317
  setIndex: function(newIndex) {
4315
4318
  this.checkIndex(newIndex);
4316
4319
  this.index = newIndex;
4317
4320
  },
4321
+ /**
4322
+ * Skip the next n bytes.
4323
+ * @param {number} n the number of bytes to skip.
4324
+ * @throws {Error} if the new index is out of the data.
4325
+ */
4318
4326
  skip: function(n) {
4319
4327
  this.setIndex(this.index + n);
4320
4328
  },
4329
+ /**
4330
+ * Get the byte at the specified index.
4331
+ * @param {number} i the index to use.
4332
+ * @return {number} a byte.
4333
+ */
4321
4334
  byteAt: function(i) {
4322
4335
  },
4336
+ /**
4337
+ * Get the next number with a given byte size.
4338
+ * @param {number} size the number of bytes to read.
4339
+ * @return {number} the corresponding number.
4340
+ */
4323
4341
  readInt: function(size) {
4324
4342
  var result = 0, i;
4325
4343
  this.checkOffset(size);
@@ -4329,16 +4347,47 @@
4329
4347
  this.index += size;
4330
4348
  return result;
4331
4349
  },
4350
+ /**
4351
+ * Get the next string with a given byte size.
4352
+ * @param {number} size the number of bytes to read.
4353
+ * @return {string} the corresponding string.
4354
+ */
4332
4355
  readString: function(size) {
4333
4356
  return utils2.transformTo("string", this.readData(size));
4334
4357
  },
4358
+ /**
4359
+ * Get raw data without conversion, <size> bytes.
4360
+ * @param {number} size the number of bytes to read.
4361
+ * @return {Object} the raw data, implementation specific.
4362
+ */
4335
4363
  readData: function(size) {
4336
4364
  },
4365
+ /**
4366
+ * Find the last occurrence of a zip signature (4 bytes).
4367
+ * @param {string} sig the signature to find.
4368
+ * @return {number} the index of the last occurrence, -1 if not found.
4369
+ */
4337
4370
  lastIndexOfSignature: function(sig) {
4338
4371
  },
4372
+ /**
4373
+ * Get the next date.
4374
+ * @return {Date} the date.
4375
+ */
4339
4376
  readDate: function() {
4340
4377
  var dostime = this.readInt(4);
4341
- return new Date((dostime >> 25 & 127) + 1980, (dostime >> 21 & 15) - 1, dostime >> 16 & 31, dostime >> 11 & 31, dostime >> 5 & 63, (dostime & 31) << 1);
4378
+ return new Date(
4379
+ (dostime >> 25 & 127) + 1980,
4380
+ // year
4381
+ (dostime >> 21 & 15) - 1,
4382
+ // month
4383
+ dostime >> 16 & 31,
4384
+ // day
4385
+ dostime >> 11 & 31,
4386
+ // hour
4387
+ dostime >> 5 & 63,
4388
+ // minute
4389
+ (dostime & 31) << 1
4390
+ );
4342
4391
  }
4343
4392
  };
4344
4393
  module3.exports = DataReader;
@@ -4431,9 +4480,17 @@
4431
4480
  JSZipSync2.defaults = _dereq_("./defaults");
4432
4481
  JSZipSync2.utils = _dereq_("./deprecatedPublicUtils");
4433
4482
  JSZipSync2.base64 = {
4483
+ /**
4484
+ * @deprecated
4485
+ * This method will be removed in a future version without replacement.
4486
+ */
4434
4487
  encode: function(input) {
4435
4488
  return base64.encode(input);
4436
4489
  },
4490
+ /**
4491
+ * @deprecated
4492
+ * This method will be removed in a future version without replacement.
4493
+ */
4437
4494
  decode: function(input) {
4438
4495
  return base64.decode(input);
4439
4496
  }
@@ -4471,8 +4528,11 @@
4471
4528
  }, { "./base64": 1, "./zipEntries": 22 }], 11: [function(_dereq_, module3, exports3) {
4472
4529
  (function(Buffer2) {
4473
4530
  "use strict";
4474
- var Buffer_from = function() {
4475
- };
4531
+ var Buffer_from = (
4532
+ /*::(*/
4533
+ function() {
4534
+ }
4535
+ );
4476
4536
  if (typeof Buffer2 !== "undefined") {
4477
4537
  var nbfs = !Buffer2.from;
4478
4538
  if (!nbfs)
@@ -4584,20 +4644,40 @@
4584
4644
  };
4585
4645
  };
4586
4646
  ZipObject.prototype = {
4647
+ /**
4648
+ * Return the content as UTF8 string.
4649
+ * @return {string} the UTF8 string.
4650
+ */
4587
4651
  asText: function() {
4588
4652
  return dataToString.call(this, true);
4589
4653
  },
4654
+ /**
4655
+ * Returns the binary content.
4656
+ * @return {string} the content as binary.
4657
+ */
4590
4658
  asBinary: function() {
4591
4659
  return dataToString.call(this, false);
4592
4660
  },
4661
+ /**
4662
+ * Returns the content as a nodejs Buffer.
4663
+ * @return {Buffer} the content as a Buffer.
4664
+ */
4593
4665
  asNodeBuffer: function() {
4594
4666
  var result = getBinaryData(this);
4595
4667
  return utils2.transformTo("nodebuffer", result);
4596
4668
  },
4669
+ /**
4670
+ * Returns the content as an Uint8Array.
4671
+ * @return {Uint8Array} the content as an Uint8Array.
4672
+ */
4597
4673
  asUint8Array: function() {
4598
4674
  var result = getBinaryData(this);
4599
4675
  return utils2.transformTo("uint8array", result);
4600
4676
  },
4677
+ /**
4678
+ * Returns the content as an ArrayBuffer.
4679
+ * @return {ArrayBuffer} the content as an ArrayBufer.
4680
+ */
4601
4681
  asArrayBuffer: function() {
4602
4682
  return this.asUint8Array().buffer;
4603
4683
  }
@@ -4734,12 +4814,24 @@
4734
4814
  dosDate = dosDate << 5;
4735
4815
  dosDate = dosDate | date.getDate();
4736
4816
  if (useUTF8ForFileName) {
4737
- unicodePathExtraField = decToHex(1, 1) + decToHex(crc32(utfEncodedFileName), 4) + utfEncodedFileName;
4738
- extraFields += "up" + decToHex(unicodePathExtraField.length, 2) + unicodePathExtraField;
4817
+ unicodePathExtraField = // Version
4818
+ decToHex(1, 1) + // NameCRC32
4819
+ decToHex(crc32(utfEncodedFileName), 4) + // UnicodeName
4820
+ utfEncodedFileName;
4821
+ extraFields += // Info-ZIP Unicode Path Extra Field
4822
+ "up" + // size
4823
+ decToHex(unicodePathExtraField.length, 2) + // content
4824
+ unicodePathExtraField;
4739
4825
  }
4740
4826
  if (useUTF8ForComment) {
4741
- unicodeCommentExtraField = decToHex(1, 1) + decToHex(this.crc32(utfEncodedComment), 4) + utfEncodedComment;
4742
- extraFields += "uc" + decToHex(unicodeCommentExtraField.length, 2) + unicodeCommentExtraField;
4827
+ unicodeCommentExtraField = // Version
4828
+ decToHex(1, 1) + // CommentCRC32
4829
+ decToHex(this.crc32(utfEncodedComment), 4) + // UnicodeName
4830
+ utfEncodedComment;
4831
+ extraFields += // Info-ZIP Unicode Path Extra Field
4832
+ "uc" + // size
4833
+ decToHex(unicodeCommentExtraField.length, 2) + // content
4834
+ unicodeCommentExtraField;
4743
4835
  }
4744
4836
  var header = "";
4745
4837
  header += "\n\0";
@@ -4753,7 +4845,16 @@
4753
4845
  header += decToHex(utfEncodedFileName.length, 2);
4754
4846
  header += decToHex(extraFields.length, 2);
4755
4847
  var fileRecord = signature.LOCAL_FILE_HEADER + header + utfEncodedFileName + extraFields;
4756
- var dirRecord = signature.CENTRAL_FILE_HEADER + "\0" + header + decToHex(utfEncodedComment.length, 2) + "\0\0\0\0" + (dir === true ? "\0\0\0" : "\0\0\0\0") + decToHex(offset, 4) + utfEncodedFileName + extraFields + utfEncodedComment;
4848
+ var dirRecord = signature.CENTRAL_FILE_HEADER + // version made by (00: DOS)
4849
+ "\0" + // file header (common to file and central directory)
4850
+ header + // file comment length
4851
+ decToHex(utfEncodedComment.length, 2) + // disk number start
4852
+ "\0\0\0\0" + // external file attributes
4853
+ (dir === true ? "\0\0\0" : "\0\0\0\0") + // relative offset of local header
4854
+ decToHex(offset, 4) + // file name
4855
+ utfEncodedFileName + // extra field
4856
+ extraFields + // file comment
4857
+ utfEncodedComment;
4757
4858
  return {
4758
4859
  fileRecord,
4759
4860
  dirRecord,
@@ -4761,9 +4862,24 @@
4761
4862
  };
4762
4863
  };
4763
4864
  var out = {
4865
+ /**
4866
+ * Read an existing zip and merge the data in the current JSZip object.
4867
+ * The implementation is in jszip-load.js, don't forget to include it.
4868
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} stream The stream to load
4869
+ * @param {Object} options Options for loading the stream.
4870
+ * options.base64 : is the stream in base64 ? default : false
4871
+ * @return {JSZip} the current JSZip object
4872
+ */
4764
4873
  load: function(stream, options) {
4765
4874
  throw new Error("Load method is not defined. Is the file jszip-load.js included ?");
4766
4875
  },
4876
+ /**
4877
+ * Filter nested files/folders with the specified function.
4878
+ * @param {Function} search the predicate to use :
4879
+ * function (relativePath, file) {...}
4880
+ * It takes 2 arguments : the relative path and the file.
4881
+ * @return {Array} An array of matching elements.
4882
+ */
4767
4883
  filter: function(search) {
4768
4884
  var result = [], filename, relativePath, file, fileClone;
4769
4885
  for (filename in this.files) {
@@ -4773,12 +4889,22 @@
4773
4889
  file = this.files[filename];
4774
4890
  fileClone = new ZipObject(file.name, file._data, extend(file.options));
4775
4891
  relativePath = filename.slice(this.root.length, filename.length);
4776
- if (filename.slice(0, this.root.length) === this.root && search(relativePath, fileClone)) {
4892
+ if (filename.slice(0, this.root.length) === this.root && // the file is in the current root
4893
+ search(relativePath, fileClone)) {
4777
4894
  result.push(fileClone);
4778
4895
  }
4779
4896
  }
4780
4897
  return result;
4781
4898
  },
4899
+ /**
4900
+ * Add a file to the zip file, or search a file.
4901
+ * @param {string|RegExp} name The name of the file to add (if data is defined),
4902
+ * the name of the file to find (if no data) or a regex to match files.
4903
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} data The file data, either raw or base64 encoded
4904
+ * @param {Object} o File options
4905
+ * @return {JSZip|Object|Array} this JSZip object (when adding a file),
4906
+ * a file (when searching by string) or an array of files (when searching by regex).
4907
+ */
4782
4908
  file: function(name, data, o) {
4783
4909
  if (arguments.length === 1) {
4784
4910
  if (utils2.isRegExp(name)) {
@@ -4797,6 +4923,11 @@
4797
4923
  }
4798
4924
  return this;
4799
4925
  },
4926
+ /**
4927
+ * Add a directory to the zip file, or search.
4928
+ * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders.
4929
+ * @return {JSZip} an object with the new directory as the root, or an array containing matching folders.
4930
+ */
4800
4931
  folder: function(arg) {
4801
4932
  if (!arg) {
4802
4933
  return this;
@@ -4812,6 +4943,11 @@
4812
4943
  ret.root = newFolder.name;
4813
4944
  return ret;
4814
4945
  },
4946
+ /**
4947
+ * Delete a file, or a directory and all sub-files, from the zip
4948
+ * @param {string} name the name of the file to delete
4949
+ * @return {JSZip} this JSZip object
4950
+ */
4815
4951
  remove: function(name) {
4816
4952
  name = this.root + name;
4817
4953
  var file = this.files[name];
@@ -4833,6 +4969,14 @@
4833
4969
  }
4834
4970
  return this;
4835
4971
  },
4972
+ /**
4973
+ * Generate the complete zip file
4974
+ * @param {Object} options the options to generate the zip file :
4975
+ * - base64, (deprecated, use type instead) true to generate base64.
4976
+ * - compression, "STORE" by default.
4977
+ * - type, "base64" by default. Values are : string, base64, uint8array, arraybuffer, blob.
4978
+ * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the zip file
4979
+ */
4836
4980
  generate: function(options) {
4837
4981
  options = extend(options || {}, {
4838
4982
  base64: true,
@@ -4859,7 +5003,14 @@
4859
5003
  zipData.push(zipPart);
4860
5004
  }
4861
5005
  var dirEnd = "";
4862
- dirEnd = signature.CENTRAL_DIRECTORY_END + "\0\0\0\0" + decToHex(zipData.length, 2) + decToHex(zipData.length, 2) + decToHex(centralDirLength, 4) + decToHex(localDirLength, 4) + decToHex(utfEncodedComment.length, 2) + utfEncodedComment;
5006
+ dirEnd = signature.CENTRAL_DIRECTORY_END + // number of this disk
5007
+ "\0\0\0\0" + // total number of entries in the central directory on this disk
5008
+ decToHex(zipData.length, 2) + // total number of entries in the central directory
5009
+ decToHex(zipData.length, 2) + // size of the central directory 4 bytes
5010
+ decToHex(centralDirLength, 4) + // offset of start of central directory with respect to the starting disk number
5011
+ decToHex(localDirLength, 4) + // .ZIP file comment length
5012
+ decToHex(utfEncodedComment.length, 2) + // .ZIP file comment
5013
+ utfEncodedComment;
4863
5014
  var typeName = options.type.toLowerCase();
4864
5015
  if (typeName === "uint8array" || typeName === "arraybuffer" || typeName === "blob" || typeName === "nodebuffer") {
4865
5016
  writer = new Uint8ArrayWriter(localDirLength + centralDirLength + dirEnd.length);
@@ -4888,12 +5039,24 @@
4888
5039
  return zip;
4889
5040
  }
4890
5041
  },
5042
+ /**
5043
+ * @deprecated
5044
+ * This method will be removed in a future version without replacement.
5045
+ */
4891
5046
  crc32: function(input, crc) {
4892
5047
  return crc32(input, crc);
4893
5048
  },
5049
+ /**
5050
+ * @deprecated
5051
+ * This method will be removed in a future version without replacement.
5052
+ */
4894
5053
  utf8encode: function(string) {
4895
5054
  return utils2.transformTo("string", utf8.utf8encode(string));
4896
5055
  },
5056
+ /**
5057
+ * @deprecated
5058
+ * This method will be removed in a future version without replacement.
5059
+ */
4897
5060
  utf8decode: function(input) {
4898
5061
  return utf8.utf8decode(input);
4899
5062
  }
@@ -4940,10 +5103,18 @@
4940
5103
  this.data = [];
4941
5104
  };
4942
5105
  StringWriter.prototype = {
5106
+ /**
5107
+ * Append any content to the current string.
5108
+ * @param {Object} input the content to add.
5109
+ */
4943
5110
  append: function(input) {
4944
5111
  input = utils2.transformTo("string", input);
4945
5112
  this.data.push(input);
4946
5113
  },
5114
+ /**
5115
+ * Finalize the construction an return the result.
5116
+ * @return {string} the generated string.
5117
+ */
4947
5118
  finalize: function() {
4948
5119
  return this.data.join("");
4949
5120
  }
@@ -5019,6 +5190,10 @@
5019
5190
  this.index = 0;
5020
5191
  };
5021
5192
  Uint8ArrayWriter.prototype = {
5193
+ /**
5194
+ * Append any content to the current array.
5195
+ * @param {Object} input the content to add.
5196
+ */
5022
5197
  append: function(input) {
5023
5198
  if (input.length !== 0) {
5024
5199
  input = utils2.transformTo("uint8array", input);
@@ -5026,6 +5201,10 @@
5026
5201
  this.index += input.length;
5027
5202
  }
5028
5203
  },
5204
+ /**
5205
+ * Finalize the construction an return the result.
5206
+ * @return {Uint8Array} the generated array.
5207
+ */
5029
5208
  finalize: function() {
5030
5209
  return this.data;
5031
5210
  }
@@ -5397,12 +5576,20 @@
5397
5576
  }
5398
5577
  }
5399
5578
  ZipEntries.prototype = {
5579
+ /**
5580
+ * Check that the reader is on the speficied signature.
5581
+ * @param {string} expectedSignature the expected signature.
5582
+ * @throws {Error} if it is an other signature.
5583
+ */
5400
5584
  checkSignature: function(expectedSignature) {
5401
5585
  var signature = this.reader.readString(4);
5402
5586
  if (signature !== expectedSignature) {
5403
5587
  throw new Error("Corrupted zip or bug : unexpected signature (" + utils2.pretty(signature) + ", expected " + utils2.pretty(expectedSignature) + ")");
5404
5588
  }
5405
5589
  },
5590
+ /**
5591
+ * Read the end of the central directory.
5592
+ */
5406
5593
  readBlockEndOfCentral: function() {
5407
5594
  this.diskNumber = this.reader.readInt(2);
5408
5595
  this.diskWithCentralDirStart = this.reader.readInt(2);
@@ -5414,6 +5601,12 @@
5414
5601
  this.zipComment = this.reader.readString(this.zipCommentLength);
5415
5602
  this.zipComment = jszipProto.utf8decode(this.zipComment);
5416
5603
  },
5604
+ /**
5605
+ * Read the end of the Zip 64 central directory.
5606
+ * Not merged with the method readEndOfCentral :
5607
+ * The end of central can coexist with its Zip64 brother,
5608
+ * I don't want to read the wrong number of bytes !
5609
+ */
5417
5610
  readBlockZip64EndOfCentral: function() {
5418
5611
  this.zip64EndOfCentralSize = this.reader.readInt(8);
5419
5612
  this.versionMadeBy = this.reader.readString(2);
@@ -5437,6 +5630,9 @@
5437
5630
  };
5438
5631
  }
5439
5632
  },
5633
+ /**
5634
+ * Read the end of the Zip 64 central directory locator.
5635
+ */
5440
5636
  readBlockZip64EndOfCentralLocator: function() {
5441
5637
  this.diskWithZip64CentralDirStart = this.reader.readInt(4);
5442
5638
  this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8);
@@ -5445,6 +5641,9 @@
5445
5641
  throw new Error("Multi-volumes zip are not supported");
5446
5642
  }
5447
5643
  },
5644
+ /**
5645
+ * Read the local files, based on the offset read in the central part.
5646
+ */
5448
5647
  readLocalFiles: function() {
5449
5648
  var i, file;
5450
5649
  for (i = 0; i < this.files.length; i++) {
@@ -5455,6 +5654,9 @@
5455
5654
  file.handleUTF8();
5456
5655
  }
5457
5656
  },
5657
+ /**
5658
+ * Read the central directory.
5659
+ */
5458
5660
  readCentralDir: function() {
5459
5661
  var file;
5460
5662
  this.reader.setIndex(this.centralDirOffset);
@@ -5466,6 +5668,9 @@
5466
5668
  this.files.push(file);
5467
5669
  }
5468
5670
  },
5671
+ /**
5672
+ * Read the end of central directory.
5673
+ */
5469
5674
  readEndOfCentral: function() {
5470
5675
  var offset = this.reader.lastIndexOfSignature(sig.CENTRAL_DIRECTORY_END);
5471
5676
  if (offset === -1) {
@@ -5498,6 +5703,10 @@
5498
5703
  this.reader = new Uint8ArrayReader(utils2.transformTo("uint8array", data));
5499
5704
  }
5500
5705
  },
5706
+ /**
5707
+ * Read a zip file and create ZipEntries.
5708
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} data the binary string representing a zip file.
5709
+ */
5501
5710
  load: function(data) {
5502
5711
  this.prepareReader(data);
5503
5712
  this.readEndOfCentral();
@@ -5517,12 +5726,27 @@
5517
5726
  this.loadOptions = loadOptions;
5518
5727
  }
5519
5728
  ZipEntry.prototype = {
5729
+ /**
5730
+ * say if the file is encrypted.
5731
+ * @return {boolean} true if the file is encrypted, false otherwise.
5732
+ */
5520
5733
  isEncrypted: function() {
5521
5734
  return (this.bitFlag & 1) === 1;
5522
5735
  },
5736
+ /**
5737
+ * say if the file has utf-8 filename/comment.
5738
+ * @return {boolean} true if the filename/comment is in utf-8, false otherwise.
5739
+ */
5523
5740
  useUTF8: function() {
5524
5741
  return (this.bitFlag & 2048) === 2048;
5525
5742
  },
5743
+ /**
5744
+ * Prepare the function used to generate the compressed content from this ZipFile.
5745
+ * @param {DataReader} reader the reader to use.
5746
+ * @param {number} from the offset from where we should read the data.
5747
+ * @param {number} length the length of the data to read.
5748
+ * @return {Function} the callback to get the compressed content (the type depends of the DataReader class).
5749
+ */
5526
5750
  prepareCompressedContent: function(reader, from, length) {
5527
5751
  return function() {
5528
5752
  var previousIndex = reader.index;
@@ -5532,6 +5756,15 @@
5532
5756
  return compressedFileData;
5533
5757
  };
5534
5758
  },
5759
+ /**
5760
+ * Prepare the function used to generate the uncompressed content from this ZipFile.
5761
+ * @param {DataReader} reader the reader to use.
5762
+ * @param {number} from the offset from where we should read the data.
5763
+ * @param {number} length the length of the data to read.
5764
+ * @param {JSZip.compression} compression the compression used on this file.
5765
+ * @param {number} uncompressedSize the uncompressed size to expect.
5766
+ * @return {Function} the callback to get the uncompressed content (the type depends of the DataReader class).
5767
+ */
5535
5768
  prepareContent: function(reader, from, length, compression, uncompressedSize) {
5536
5769
  return function() {
5537
5770
  var compressedFileData = utils2.transformTo(compression.uncompressInputType, this.getCompressedContent());
@@ -5542,6 +5775,10 @@
5542
5775
  return uncompressedFileData;
5543
5776
  };
5544
5777
  },
5778
+ /**
5779
+ * Read the local part of a zip file and add the info in this object.
5780
+ * @param {DataReader} reader the reader to use.
5781
+ */
5545
5782
  readLocalPart: function(reader) {
5546
5783
  var compression, localExtraFieldsLength;
5547
5784
  reader.skip(22);
@@ -5570,6 +5807,10 @@
5570
5807
  }
5571
5808
  }
5572
5809
  },
5810
+ /**
5811
+ * Read the central part of a zip file and add the info in this object.
5812
+ * @param {DataReader} reader the reader to use.
5813
+ */
5573
5814
  readCentralPart: function(reader) {
5574
5815
  this.versionMadeBy = reader.readString(2);
5575
5816
  this.versionNeeded = reader.readInt(2);
@@ -5595,6 +5836,10 @@
5595
5836
  this.fileComment = reader.readString(this.fileCommentLength);
5596
5837
  this.dir = this.externalFileAttributes & 16 ? true : false;
5597
5838
  },
5839
+ /**
5840
+ * Parse the ZIP64 extra field and merge the info in the current ZipEntry.
5841
+ * @param {DataReader} reader the reader to use.
5842
+ */
5598
5843
  parseZIP64ExtraField: function(reader) {
5599
5844
  if (!this.extraFields[1]) {
5600
5845
  return;
@@ -5613,6 +5858,10 @@
5613
5858
  this.diskNumberStart = extraReader.readInt(4);
5614
5859
  }
5615
5860
  },
5861
+ /**
5862
+ * Read the central part of a zip file and add the info in this object.
5863
+ * @param {DataReader} reader the reader to use.
5864
+ */
5616
5865
  readExtraFields: function(reader) {
5617
5866
  var start = reader.index, extraFieldId, extraFieldLength, extraFieldValue;
5618
5867
  this.extraFields = this.extraFields || {};
@@ -5627,6 +5876,9 @@
5627
5876
  };
5628
5877
  }
5629
5878
  },
5879
+ /**
5880
+ * Apply an UTF8 transformation if needed.
5881
+ */
5630
5882
  handleUTF8: function() {
5631
5883
  if (this.useUTF8()) {
5632
5884
  this.fileName = jszipProto.utf8decode(this.fileName);
@@ -5642,6 +5894,10 @@
5642
5894
  }
5643
5895
  }
5644
5896
  },
5897
+ /**
5898
+ * Find the unicode path declared in the extra field, if any.
5899
+ * @return {String} the unicode path, null otherwise.
5900
+ */
5645
5901
  findExtraFieldUnicodePath: function() {
5646
5902
  var upathField = this.extraFields[28789];
5647
5903
  if (upathField) {
@@ -5656,6 +5912,10 @@
5656
5912
  }
5657
5913
  return null;
5658
5914
  },
5915
+ /**
5916
+ * Find the unicode comment declared in the extra field, if any.
5917
+ * @return {String} the unicode comment, null otherwise.
5918
+ */
5659
5919
  findExtraFieldUnicodeComment: function() {
5660
5920
  var ucommentField = this.extraFields[25461];
5661
5921
  if (ucommentField) {
@@ -5717,7 +5977,14 @@
5717
5977
  this.chunks = [];
5718
5978
  this.strm = new zstream();
5719
5979
  this.strm.avail_out = 0;
5720
- var status = zlib_deflate.deflateInit2(this.strm, opt.level, opt.method, opt.windowBits, opt.memLevel, opt.strategy);
5980
+ var status = zlib_deflate.deflateInit2(
5981
+ this.strm,
5982
+ opt.level,
5983
+ opt.method,
5984
+ opt.windowBits,
5985
+ opt.memLevel,
5986
+ opt.strategy
5987
+ );
5721
5988
  if (status !== Z_OK) {
5722
5989
  throw new Error(msg[status]);
5723
5990
  }
@@ -5841,7 +6108,10 @@
5841
6108
  this.chunks = [];
5842
6109
  this.strm = new zstream();
5843
6110
  this.strm.avail_out = 0;
5844
- var status = zlib_inflate.inflateInit2(this.strm, opt.windowBits);
6111
+ var status = zlib_inflate.inflateInit2(
6112
+ this.strm,
6113
+ opt.windowBits
6114
+ );
5845
6115
  if (status !== c.Z_OK) {
5846
6116
  throw new Error(msg[status]);
5847
6117
  }
@@ -5978,6 +6248,7 @@
5978
6248
  dest[dest_offs + i] = src[src_offs + i];
5979
6249
  }
5980
6250
  },
6251
+ // Join array of chunks to single array.
5981
6252
  flattenChunks: function(chunks) {
5982
6253
  var i, l, len, pos, chunk, result;
5983
6254
  len = 0;
@@ -6000,6 +6271,7 @@
6000
6271
  dest[dest_offs + i] = src[src_offs + i];
6001
6272
  }
6002
6273
  },
6274
+ // Join array of chunks to single array.
6003
6275
  flattenChunks: function(chunks) {
6004
6276
  return [].concat.apply([], chunks);
6005
6277
  }
@@ -6173,6 +6445,7 @@
6173
6445
  module3.exports = adler32;
6174
6446
  }, {}], 30: [function(_dereq_, module3, exports3) {
6175
6447
  module3.exports = {
6448
+ /* Allowed flush values; see deflate() and inflate() below for details */
6176
6449
  Z_NO_FLUSH: 0,
6177
6450
  Z_PARTIAL_FLUSH: 1,
6178
6451
  Z_SYNC_FLUSH: 2,
@@ -6180,13 +6453,19 @@
6180
6453
  Z_FINISH: 4,
6181
6454
  Z_BLOCK: 5,
6182
6455
  Z_TREES: 6,
6456
+ /* Return codes for the compression/decompression functions. Negative values
6457
+ * are errors, positive values are used for special but normal events.
6458
+ */
6183
6459
  Z_OK: 0,
6184
6460
  Z_STREAM_END: 1,
6185
6461
  Z_NEED_DICT: 2,
6186
6462
  Z_ERRNO: -1,
6187
6463
  Z_STREAM_ERROR: -2,
6188
6464
  Z_DATA_ERROR: -3,
6465
+ //Z_MEM_ERROR: -4,
6189
6466
  Z_BUF_ERROR: -5,
6467
+ //Z_VERSION_ERROR: -6,
6468
+ /* compression levels */
6190
6469
  Z_NO_COMPRESSION: 0,
6191
6470
  Z_BEST_SPEED: 1,
6192
6471
  Z_BEST_COMPRESSION: 9,
@@ -6196,10 +6475,14 @@
6196
6475
  Z_RLE: 3,
6197
6476
  Z_FIXED: 4,
6198
6477
  Z_DEFAULT_STRATEGY: 0,
6478
+ /* Possible values of the data_type field (though see inflate()) */
6199
6479
  Z_BINARY: 0,
6200
6480
  Z_TEXT: 1,
6481
+ //Z_ASCII: 1, // = Z_TEXT (deprecated)
6201
6482
  Z_UNKNOWN: 2,
6483
+ /* The deflate compression method */
6202
6484
  Z_DEFLATED: 8
6485
+ //Z_NULL: null // Use -1 or null inline, depending on var type
6203
6486
  };
6204
6487
  }, {}], 31: [function(_dereq_, module3, exports3) {
6205
6488
  "use strict";
@@ -6743,16 +7026,27 @@
6743
7026
  };
6744
7027
  var configuration_table;
6745
7028
  configuration_table = [
7029
+ /* good lazy nice chain */
6746
7030
  new Config(0, 0, 0, 0, deflate_stored),
7031
+ /* 0 store only */
6747
7032
  new Config(4, 4, 8, 4, deflate_fast),
7033
+ /* 1 max speed, no lazy matches */
6748
7034
  new Config(4, 5, 16, 8, deflate_fast),
7035
+ /* 2 */
6749
7036
  new Config(4, 6, 32, 32, deflate_fast),
7037
+ /* 3 */
6750
7038
  new Config(4, 4, 16, 16, deflate_slow),
7039
+ /* 4 lazy matches */
6751
7040
  new Config(8, 16, 32, 32, deflate_slow),
7041
+ /* 5 */
6752
7042
  new Config(8, 16, 128, 128, deflate_slow),
7043
+ /* 6 */
6753
7044
  new Config(8, 32, 128, 256, deflate_slow),
7045
+ /* 7 */
6754
7046
  new Config(32, 128, 258, 1024, deflate_slow),
7047
+ /* 8 */
6755
7048
  new Config(32, 258, 258, 4096, deflate_slow)
7049
+ /* 9 max compression */
6756
7050
  ];
6757
7051
  function lm_init(s) {
6758
7052
  s.window_size = 2 * s.w_size;
@@ -6948,7 +7242,10 @@
6948
7242
  put_byte(s, OS_CODE);
6949
7243
  s.status = BUSY_STATE;
6950
7244
  } else {
6951
- put_byte(s, (s.gzhead.text ? 1 : 0) + (s.gzhead.hcrc ? 2 : 0) + (!s.gzhead.extra ? 0 : 4) + (!s.gzhead.name ? 0 : 8) + (!s.gzhead.comment ? 0 : 16));
7245
+ put_byte(
7246
+ s,
7247
+ (s.gzhead.text ? 1 : 0) + (s.gzhead.hcrc ? 2 : 0) + (!s.gzhead.extra ? 0 : 4) + (!s.gzhead.name ? 0 : 8) + (!s.gzhead.comment ? 0 : 16)
7248
+ );
6952
7249
  put_byte(s, s.gzhead.time & 255);
6953
7250
  put_byte(s, s.gzhead.time >> 8 & 255);
6954
7251
  put_byte(s, s.gzhead.time >> 16 & 255);
@@ -7692,7 +7989,10 @@
7692
7989
  var hbuf = new utils2.Buf8(4);
7693
7990
  var opts;
7694
7991
  var n;
7695
- var order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
7992
+ var order = (
7993
+ /* permutation of code lengths */
7994
+ [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]
7995
+ );
7696
7996
  if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0) {
7697
7997
  return Z_STREAM_ERROR;
7698
7998
  }
@@ -7741,7 +8041,8 @@
7741
8041
  if (state.head) {
7742
8042
  state.head.done = false;
7743
8043
  }
7744
- if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) {
8044
+ if (!(state.wrap & 1) || /* check if zlib header allowed */
8045
+ (((hold & 255) << 8) + (hold >> 8)) % 31) {
7745
8046
  strm.msg = "incorrect header check";
7746
8047
  state.mode = BAD;
7747
8048
  break;
@@ -7878,7 +8179,16 @@
7878
8179
  if (!state.head.extra) {
7879
8180
  state.head.extra = new Array(state.head.extra_len);
7880
8181
  }
7881
- utils2.arraySet(state.head.extra, input, next, copy, len);
8182
+ utils2.arraySet(
8183
+ state.head.extra,
8184
+ input,
8185
+ next,
8186
+ // extra field is limited to 65536 bytes
8187
+ // - no need for additional size check
8188
+ copy,
8189
+ /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/
8190
+ len
8191
+ );
7882
8192
  }
7883
8193
  if (state.flags & 512) {
7884
8194
  state.check = crc32(state.check, input, copy, next);
@@ -8491,7 +8801,8 @@
8491
8801
  strm.total_out += _out;
8492
8802
  state.total += _out;
8493
8803
  if (_out) {
8494
- strm.adler = state.check = state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out);
8804
+ strm.adler = state.check = /*UPDATE(state.check, put - _out, _out);*/
8805
+ state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out);
8495
8806
  }
8496
8807
  _out = left;
8497
8808
  if ((state.flags ? hold : ZSWAP32(hold)) !== state.check) {
@@ -8553,7 +8864,8 @@
8553
8864
  strm.total_out += _out;
8554
8865
  state.total += _out;
8555
8866
  if (state.wrap && _out) {
8556
- strm.adler = state.check = state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out);
8867
+ strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/
8868
+ state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out);
8557
8869
  }
8558
8870
  strm.data_type = state.bits + (state.last ? 64 : 0) + (state.mode === TYPE ? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);
8559
8871
  if ((_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK) {
@@ -8604,6 +8916,7 @@
8604
8916
  var LENS = 1;
8605
8917
  var DISTS = 2;
8606
8918
  var lbase = [
8919
+ /* Length codes 257..285 base */
8607
8920
  3,
8608
8921
  4,
8609
8922
  5,
@@ -8637,6 +8950,7 @@
8637
8950
  0
8638
8951
  ];
8639
8952
  var lext = [
8953
+ /* Length codes 257..285 extra */
8640
8954
  16,
8641
8955
  16,
8642
8956
  16,
@@ -8670,6 +8984,7 @@
8670
8984
  78
8671
8985
  ];
8672
8986
  var dbase = [
8987
+ /* Distance codes 0..29 base */
8673
8988
  1,
8674
8989
  2,
8675
8990
  3,
@@ -8704,6 +9019,7 @@
8704
9019
  0
8705
9020
  ];
8706
9021
  var dext = [
9022
+ /* Distance codes 0..29 extra */
8707
9023
  16,
8708
9024
  16,
8709
9025
  16,
@@ -8907,14 +9223,23 @@
8907
9223
  "use strict";
8908
9224
  module3.exports = {
8909
9225
  "2": "need dictionary",
9226
+ /* Z_NEED_DICT 2 */
8910
9227
  "1": "stream end",
9228
+ /* Z_STREAM_END 1 */
8911
9229
  "0": "",
9230
+ /* Z_OK 0 */
8912
9231
  "-1": "file error",
9232
+ /* Z_ERRNO (-1) */
8913
9233
  "-2": "stream error",
9234
+ /* Z_STREAM_ERROR (-2) */
8914
9235
  "-3": "data error",
9236
+ /* Z_DATA_ERROR (-3) */
8915
9237
  "-4": "insufficient memory",
9238
+ /* Z_MEM_ERROR (-4) */
8916
9239
  "-5": "buffer error",
9240
+ /* Z_BUF_ERROR (-5) */
8917
9241
  "-6": "incompatible version"
9242
+ /* Z_VERSION_ERROR (-6) */
8918
9243
  };
8919
9244
  }, {}], 38: [function(_dereq_, module3, exports3) {
8920
9245
  "use strict";
@@ -8947,9 +9272,18 @@
8947
9272
  var REP_3_6 = 16;
8948
9273
  var REPZ_3_10 = 17;
8949
9274
  var REPZ_11_138 = 18;
8950
- var extra_lbits = [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];
8951
- var extra_dbits = [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];
8952
- var extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7];
9275
+ var extra_lbits = (
9276
+ /* extra bits for each length code */
9277
+ [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]
9278
+ );
9279
+ var extra_dbits = (
9280
+ /* extra bits for each distance code */
9281
+ [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]
9282
+ );
9283
+ var extra_blbits = (
9284
+ /* extra bits for each bit length code */
9285
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7]
9286
+ );
8953
9287
  var bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
8954
9288
  var DIST_CODE_LEN = 512;
8955
9289
  var static_ltree = new Array((L_CODES + 2) * 2);
@@ -8999,7 +9333,12 @@
8999
9333
  }
9000
9334
  }
9001
9335
  function send_code(s, c, tree) {
9002
- send_bits(s, tree[c * 2], tree[c * 2 + 1]);
9336
+ send_bits(
9337
+ s,
9338
+ tree[c * 2],
9339
+ tree[c * 2 + 1]
9340
+ /*.Len*/
9341
+ );
9003
9342
  }
9004
9343
  function bi_reverse(code, len) {
9005
9344
  var res = 0;
@@ -9288,19 +9627,44 @@
9288
9627
  }
9289
9628
  node = elems;
9290
9629
  do {
9291
- n = s.heap[1];
9292
- s.heap[1] = s.heap[s.heap_len--];
9293
- pqdownheap(s, tree, 1);
9294
- m = s.heap[1];
9630
+ n = s.heap[
9631
+ 1
9632
+ /*SMALLEST*/
9633
+ ];
9634
+ s.heap[
9635
+ 1
9636
+ /*SMALLEST*/
9637
+ ] = s.heap[s.heap_len--];
9638
+ pqdownheap(
9639
+ s,
9640
+ tree,
9641
+ 1
9642
+ /*SMALLEST*/
9643
+ );
9644
+ m = s.heap[
9645
+ 1
9646
+ /*SMALLEST*/
9647
+ ];
9295
9648
  s.heap[--s.heap_max] = n;
9296
9649
  s.heap[--s.heap_max] = m;
9297
9650
  tree[node * 2] = tree[n * 2] + tree[m * 2];
9298
9651
  s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;
9299
9652
  tree[n * 2 + 1] = tree[m * 2 + 1] = node;
9300
- s.heap[1] = node++;
9301
- pqdownheap(s, tree, 1);
9653
+ s.heap[
9654
+ 1
9655
+ /*SMALLEST*/
9656
+ ] = node++;
9657
+ pqdownheap(
9658
+ s,
9659
+ tree,
9660
+ 1
9661
+ /*SMALLEST*/
9662
+ );
9302
9663
  } while (s.heap_len >= 2);
9303
- s.heap[--s.heap_max] = s.heap[1];
9664
+ s.heap[--s.heap_max] = s.heap[
9665
+ 1
9666
+ /*SMALLEST*/
9667
+ ];
9304
9668
  gen_bitlen(s, desc);
9305
9669
  gen_codes(tree, max_code, s.bl_count);
9306
9670
  }
@@ -9568,25 +9932,45 @@
9568
9932
  VALID_ANSI.push(1250 + i);
9569
9933
  var CS2CP = {
9570
9934
  0: 1252,
9935
+ /* ANSI */
9571
9936
  1: 65001,
9937
+ /* DEFAULT */
9572
9938
  2: 65001,
9939
+ /* SYMBOL */
9573
9940
  77: 1e4,
9941
+ /* MAC */
9574
9942
  128: 932,
9943
+ /* SHIFTJIS */
9575
9944
  129: 949,
9945
+ /* HANGUL */
9576
9946
  130: 1361,
9947
+ /* JOHAB */
9577
9948
  134: 936,
9949
+ /* GB2312 */
9578
9950
  136: 950,
9951
+ /* CHINESEBIG5 */
9579
9952
  161: 1253,
9953
+ /* GREEK */
9580
9954
  162: 1254,
9955
+ /* TURKISH */
9581
9956
  163: 1258,
9957
+ /* VIETNAMESE */
9582
9958
  177: 1255,
9959
+ /* HEBREW */
9583
9960
  178: 1256,
9961
+ /* ARABIC */
9584
9962
  186: 1257,
9963
+ /* BALTIC */
9585
9964
  204: 1251,
9965
+ /* RUSSIAN */
9586
9966
  222: 874,
9967
+ /* THAI */
9587
9968
  238: 1250,
9969
+ /* EASTEUROPE */
9588
9970
  255: 1252,
9971
+ /* OEM */
9589
9972
  69: 6969
9973
+ /* MISC */
9590
9974
  };
9591
9975
  var set_ansi = function(cp) {
9592
9976
  if (VALID_ANSI.indexOf(cp) == -1)
@@ -10578,7 +10962,10 @@
10578
10962
  var out = [];
10579
10963
  var in_str = false;
10580
10964
  for (var i2 = 0, j = 0; i2 < fmt.length; ++i2)
10581
- switch (fmt.charCodeAt(i2)) {
10965
+ switch (
10966
+ /*cc=*/
10967
+ fmt.charCodeAt(i2)
10968
+ ) {
10582
10969
  case 34:
10583
10970
  in_str = !in_str;
10584
10971
  break;
@@ -10608,7 +10995,11 @@
10608
10995
  i2++;
10609
10996
  break;
10610
10997
  case '"':
10611
- for (; fmt.charCodeAt(++i2) !== 34 && i2 < fmt.length; ) {
10998
+ for (
10999
+ ;
11000
+ /*cc=*/
11001
+ fmt.charCodeAt(++i2) !== 34 && i2 < fmt.length;
11002
+ ) {
10612
11003
  }
10613
11004
  ++i2;
10614
11005
  break;
@@ -11556,7 +11947,11 @@
11556
11947
  }
11557
11948
  if (ssz !== 512) {
11558
11949
  blob = file.slice(0, ssz);
11559
- prep_blob(blob, 28);
11950
+ prep_blob(
11951
+ blob,
11952
+ 28
11953
+ /* blob.l */
11954
+ );
11560
11955
  }
11561
11956
  var header = file.slice(0, ssz);
11562
11957
  check_shifts(blob, mver);
@@ -11678,7 +12073,7 @@
11678
12073
  do {
11679
12074
  j = dad[j];
11680
12075
  FP[i3] = FP[j] + "/" + FP[i3];
11681
- } while (j !== 0 && dad[j] !== -1 && j != dad[j]);
12076
+ } while (j !== 0 && -1 !== dad[j] && j != dad[j]);
11682
12077
  dad[i3] = -1;
11683
12078
  }
11684
12079
  FP[0] += "/";
@@ -12169,16 +12564,19 @@
12169
12564
  var HEADER_SIG = [208, 207, 17, 224, 161, 177, 26, 225];
12170
12565
  var HEADER_CLSID = "00000000000000000000000000000000";
12171
12566
  var consts = {
12567
+ /* 2.1 Compund File Sector Numbers and Types */
12172
12568
  MAXREGSECT: -6,
12173
12569
  DIFSECT: -4,
12174
12570
  FATSECT: -3,
12175
12571
  ENDOFCHAIN,
12176
12572
  FREESECT: -1,
12573
+ /* 2.2 Compound File Header */
12177
12574
  HEADER_SIGNATURE,
12178
12575
  HEADER_MINOR_VERSION: "3e00",
12179
12576
  MAXREGSID: -6,
12180
12577
  NOSTREAM: -1,
12181
12578
  HEADER_CLSID,
12579
+ /* 2.6.1 Compound File Directory Entry */
12182
12580
  EntryTypes: ["unknown", "storage", "stream", "lockbytes", "property", "root"]
12183
12581
  };
12184
12582
  function write_file(cfb, filename2, options) {
@@ -14818,6 +15216,7 @@
14818
15216
  28: { n: "Language", t: VT_STRING },
14819
15217
  29: { n: "Version", t: VT_STRING },
14820
15218
  255: {},
15219
+ /* [MS-OLEPS] 2.18 */
14821
15220
  2147483648: { n: "Locale", t: VT_UI4 },
14822
15221
  2147483651: { n: "Behavior", t: VT_UI4 },
14823
15222
  1919054434: {}
@@ -14843,6 +15242,7 @@
14843
15242
  18: { n: "Application", t: VT_STRING },
14844
15243
  19: { n: "DocSecurity", t: VT_I4 },
14845
15244
  255: {},
15245
+ /* [MS-OLEPS] 2.18 */
14846
15246
  2147483648: { n: "Locale", t: VT_UI4 },
14847
15247
  2147483651: { n: "Behavior", t: VT_UI4 },
14848
15248
  1919054434: {}
@@ -14851,55 +15251,105 @@
14851
15251
  var SummaryRE = evert_key(SummaryPIDSI, "n");
14852
15252
  var CountryEnum = {
14853
15253
  1: "US",
15254
+ // United States
14854
15255
  2: "CA",
15256
+ // Canada
14855
15257
  3: "",
15258
+ // Latin America (except Brazil)
14856
15259
  7: "RU",
15260
+ // Russia
14857
15261
  20: "EG",
15262
+ // Egypt
14858
15263
  30: "GR",
15264
+ // Greece
14859
15265
  31: "NL",
15266
+ // Netherlands
14860
15267
  32: "BE",
15268
+ // Belgium
14861
15269
  33: "FR",
15270
+ // France
14862
15271
  34: "ES",
15272
+ // Spain
14863
15273
  36: "HU",
15274
+ // Hungary
14864
15275
  39: "IT",
15276
+ // Italy
14865
15277
  41: "CH",
15278
+ // Switzerland
14866
15279
  43: "AT",
15280
+ // Austria
14867
15281
  44: "GB",
15282
+ // United Kingdom
14868
15283
  45: "DK",
15284
+ // Denmark
14869
15285
  46: "SE",
15286
+ // Sweden
14870
15287
  47: "NO",
15288
+ // Norway
14871
15289
  48: "PL",
15290
+ // Poland
14872
15291
  49: "DE",
15292
+ // Germany
14873
15293
  52: "MX",
15294
+ // Mexico
14874
15295
  55: "BR",
15296
+ // Brazil
14875
15297
  61: "AU",
15298
+ // Australia
14876
15299
  64: "NZ",
15300
+ // New Zealand
14877
15301
  66: "TH",
15302
+ // Thailand
14878
15303
  81: "JP",
15304
+ // Japan
14879
15305
  82: "KR",
15306
+ // Korea
14880
15307
  84: "VN",
15308
+ // Viet Nam
14881
15309
  86: "CN",
15310
+ // China
14882
15311
  90: "TR",
15312
+ // Turkey
14883
15313
  105: "JS",
15314
+ // Ramastan
14884
15315
  213: "DZ",
15316
+ // Algeria
14885
15317
  216: "MA",
15318
+ // Morocco
14886
15319
  218: "LY",
15320
+ // Libya
14887
15321
  351: "PT",
15322
+ // Portugal
14888
15323
  354: "IS",
15324
+ // Iceland
14889
15325
  358: "FI",
15326
+ // Finland
14890
15327
  420: "CZ",
15328
+ // Czech Republic
14891
15329
  886: "TW",
15330
+ // Taiwan
14892
15331
  961: "LB",
15332
+ // Lebanon
14893
15333
  962: "JO",
15334
+ // Jordan
14894
15335
  963: "SY",
15336
+ // Syria
14895
15337
  964: "IQ",
15338
+ // Iraq
14896
15339
  965: "KW",
15340
+ // Kuwait
14897
15341
  966: "SA",
15342
+ // Saudi Arabia
14898
15343
  971: "AE",
15344
+ // United Arab Emirates
14899
15345
  972: "IL",
15346
+ // Israel
14900
15347
  974: "QA",
15348
+ // Qatar
14901
15349
  981: "IR",
15350
+ // Iran
14902
15351
  65535: "US"
15352
+ // United States
14903
15353
  };
14904
15354
  var XLSFillPattern = [
14905
15355
  null,
@@ -14928,6 +15378,7 @@
14928
15378
  });
14929
15379
  }
14930
15380
  var _XLSIcv = rgbify([
15381
+ /* Color Constants */
14931
15382
  0,
14932
15383
  16777215,
14933
15384
  16711680,
@@ -14936,6 +15387,7 @@
14936
15387
  16776960,
14937
15388
  16711935,
14938
15389
  65535,
15390
+ /* Overridable Defaults */
14939
15391
  0,
14940
15392
  16777215,
14941
15393
  16711680,
@@ -14992,24 +15444,43 @@
14992
15444
  10040166,
14993
15445
  3355545,
14994
15446
  3355443,
15447
+ /* Other entries to appease BIFF8/12 */
14995
15448
  16777215,
15449
+ /* 0x40 icvForeground ?? */
14996
15450
  0,
15451
+ /* 0x41 icvBackground ?? */
14997
15452
  0,
15453
+ /* 0x42 icvFrame ?? */
14998
15454
  0,
15455
+ /* 0x43 icv3D ?? */
14999
15456
  0,
15457
+ /* 0x44 icv3DText ?? */
15000
15458
  0,
15459
+ /* 0x45 icv3DHilite ?? */
15001
15460
  0,
15461
+ /* 0x46 icv3DShadow ?? */
15002
15462
  0,
15463
+ /* 0x47 icvHilite ?? */
15003
15464
  0,
15465
+ /* 0x48 icvCtlText ?? */
15004
15466
  0,
15467
+ /* 0x49 icvCtlScrl ?? */
15005
15468
  0,
15469
+ /* 0x4A icvCtlInv ?? */
15006
15470
  0,
15471
+ /* 0x4B icvCtlBody ?? */
15007
15472
  0,
15473
+ /* 0x4C icvCtlFrame ?? */
15008
15474
  0,
15475
+ /* 0x4D icvCtlFore ?? */
15009
15476
  0,
15477
+ /* 0x4E icvCtlBack ?? */
15010
15478
  0,
15479
+ /* 0x4F icvCtlNeutral */
15011
15480
  0,
15481
+ /* 0x50 icvInfoBk ?? */
15012
15482
  0
15483
+ /* 0x51 icvInfoText ?? */
15013
15484
  ]);
15014
15485
  var XLSIcv = dup(_XLSIcv);
15015
15486
  var BErr = {
@@ -15025,74 +15496,113 @@
15025
15496
  };
15026
15497
  var RBErr = evert_num(BErr);
15027
15498
  var ct2type = {
15499
+ /* Workbook */
15028
15500
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks",
15501
+ /* Worksheet */
15029
15502
  "application/vnd.ms-excel.binIndexWs": "TODO",
15503
+ /* Binary Index */
15504
+ /* Macrosheet */
15030
15505
  "application/vnd.ms-excel.intlmacrosheet": "TODO",
15031
15506
  "application/vnd.ms-excel.binIndexMs": "TODO",
15507
+ /* Binary Index */
15508
+ /* File Properties */
15032
15509
  "application/vnd.openxmlformats-package.core-properties+xml": "coreprops",
15033
15510
  "application/vnd.openxmlformats-officedocument.custom-properties+xml": "custprops",
15034
15511
  "application/vnd.openxmlformats-officedocument.extended-properties+xml": "extprops",
15512
+ /* Custom Data Properties */
15035
15513
  "application/vnd.openxmlformats-officedocument.customXmlProperties+xml": "TODO",
15036
15514
  "application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty": "TODO",
15515
+ /* PivotTable */
15037
15516
  "application/vnd.ms-excel.pivotTable": "TODO",
15038
15517
  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml": "TODO",
15518
+ /* Chart Objects */
15039
15519
  "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": "TODO",
15520
+ /* Chart Colors */
15040
15521
  "application/vnd.ms-office.chartcolorstyle+xml": "TODO",
15522
+ /* Chart Style */
15041
15523
  "application/vnd.ms-office.chartstyle+xml": "TODO",
15524
+ /* Chart Advanced */
15042
15525
  "application/vnd.ms-office.chartex+xml": "TODO",
15526
+ /* Calculation Chain */
15043
15527
  "application/vnd.ms-excel.calcChain": "calcchains",
15044
15528
  "application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml": "calcchains",
15529
+ /* Printer Settings */
15045
15530
  "application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings": "TODO",
15531
+ /* ActiveX */
15046
15532
  "application/vnd.ms-office.activeX": "TODO",
15047
15533
  "application/vnd.ms-office.activeX+xml": "TODO",
15534
+ /* Custom Toolbars */
15048
15535
  "application/vnd.ms-excel.attachedToolbars": "TODO",
15536
+ /* External Data Connections */
15049
15537
  "application/vnd.ms-excel.connections": "TODO",
15050
15538
  "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": "TODO",
15539
+ /* External Links */
15051
15540
  "application/vnd.ms-excel.externalLink": "links",
15052
15541
  "application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml": "links",
15542
+ /* Metadata */
15053
15543
  "application/vnd.ms-excel.sheetMetadata": "TODO",
15054
15544
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml": "TODO",
15545
+ /* PivotCache */
15055
15546
  "application/vnd.ms-excel.pivotCacheDefinition": "TODO",
15056
15547
  "application/vnd.ms-excel.pivotCacheRecords": "TODO",
15057
15548
  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml": "TODO",
15058
15549
  "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml": "TODO",
15550
+ /* Query Table */
15059
15551
  "application/vnd.ms-excel.queryTable": "TODO",
15060
15552
  "application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml": "TODO",
15553
+ /* Shared Workbook */
15061
15554
  "application/vnd.ms-excel.userNames": "TODO",
15062
15555
  "application/vnd.ms-excel.revisionHeaders": "TODO",
15063
15556
  "application/vnd.ms-excel.revisionLog": "TODO",
15064
15557
  "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml": "TODO",
15065
15558
  "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml": "TODO",
15066
15559
  "application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml": "TODO",
15560
+ /* Single Cell Table */
15067
15561
  "application/vnd.ms-excel.tableSingleCells": "TODO",
15068
15562
  "application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml": "TODO",
15563
+ /* Slicer */
15069
15564
  "application/vnd.ms-excel.slicer": "TODO",
15070
15565
  "application/vnd.ms-excel.slicerCache": "TODO",
15071
15566
  "application/vnd.ms-excel.slicer+xml": "TODO",
15072
15567
  "application/vnd.ms-excel.slicerCache+xml": "TODO",
15568
+ /* Sort Map */
15073
15569
  "application/vnd.ms-excel.wsSortMap": "TODO",
15570
+ /* Table */
15074
15571
  "application/vnd.ms-excel.table": "TODO",
15075
15572
  "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": "TODO",
15573
+ /* Themes */
15076
15574
  "application/vnd.openxmlformats-officedocument.theme+xml": "themes",
15575
+ /* Theme Override */
15077
15576
  "application/vnd.openxmlformats-officedocument.themeOverride+xml": "TODO",
15577
+ /* Timeline */
15078
15578
  "application/vnd.ms-excel.Timeline+xml": "TODO",
15579
+ /* verify */
15079
15580
  "application/vnd.ms-excel.TimelineCache+xml": "TODO",
15581
+ /* verify */
15582
+ /* VBA */
15080
15583
  "application/vnd.ms-office.vbaProject": "vba",
15081
15584
  "application/vnd.ms-office.vbaProjectSignature": "vba",
15585
+ /* Volatile Dependencies */
15082
15586
  "application/vnd.ms-office.volatileDependencies": "TODO",
15083
15587
  "application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml": "TODO",
15588
+ /* Control Properties */
15084
15589
  "application/vnd.ms-excel.controlproperties+xml": "TODO",
15590
+ /* Data Model */
15085
15591
  "application/vnd.openxmlformats-officedocument.model+data": "TODO",
15592
+ /* Survey */
15086
15593
  "application/vnd.ms-excel.Survey+xml": "TODO",
15594
+ /* Drawing */
15087
15595
  "application/vnd.openxmlformats-officedocument.drawing+xml": "drawings",
15088
15596
  "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": "TODO",
15089
15597
  "application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml": "TODO",
15090
15598
  "application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml": "TODO",
15091
15599
  "application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml": "TODO",
15092
15600
  "application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml": "TODO",
15601
+ /* VML */
15093
15602
  "application/vnd.openxmlformats-officedocument.vmlDrawing": "TODO",
15094
15603
  "application/vnd.openxmlformats-package.relationships+xml": "rels",
15095
15604
  "application/vnd.openxmlformats-officedocument.oleObject": "TODO",
15605
+ /* Image */
15096
15606
  "image/png": "TODO",
15097
15607
  "sheet": "js"
15098
15608
  };
@@ -15106,30 +15616,37 @@
15106
15616
  xltx: "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"
15107
15617
  },
15108
15618
  strs: {
15619
+ /* Shared Strings */
15109
15620
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",
15110
15621
  xlsb: "application/vnd.ms-excel.sharedStrings"
15111
15622
  },
15112
15623
  comments: {
15624
+ /* Comments */
15113
15625
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",
15114
15626
  xlsb: "application/vnd.ms-excel.comments"
15115
15627
  },
15116
15628
  sheets: {
15629
+ /* Worksheet */
15117
15630
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",
15118
15631
  xlsb: "application/vnd.ms-excel.worksheet"
15119
15632
  },
15120
15633
  charts: {
15634
+ /* Chartsheet */
15121
15635
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",
15122
15636
  xlsb: "application/vnd.ms-excel.chartsheet"
15123
15637
  },
15124
15638
  dialogs: {
15639
+ /* Dialogsheet */
15125
15640
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",
15126
15641
  xlsb: "application/vnd.ms-excel.dialogsheet"
15127
15642
  },
15128
15643
  macros: {
15644
+ /* Macrosheet (Excel 4.0 Macros) */
15129
15645
  xlsx: "application/vnd.ms-excel.macrosheet+xml",
15130
15646
  xlsb: "application/vnd.ms-excel.macrosheet"
15131
15647
  },
15132
15648
  styles: {
15649
+ /* Styles */
15133
15650
  xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",
15134
15651
  xlsb: "application/vnd.ms-excel.styles"
15135
15652
  }
@@ -15213,6 +15730,7 @@
15213
15730
  ["bin", "application/vnd.ms-excel.sheet.binary.macroEnabled.main"],
15214
15731
  ["vml", "application/vnd.openxmlformats-officedocument.vmlDrawing"],
15215
15732
  ["data", "application/vnd.openxmlformats-officedocument.model+data"],
15733
+ /* from test files */
15216
15734
  ["bmp", "image/bmp"],
15217
15735
  ["png", "image/png"],
15218
15736
  ["gif", "image/gif"],
@@ -15315,6 +15833,7 @@
15315
15833
  }
15316
15834
  XMLNS.RELS = "http://schemas.openxmlformats.org/package/2006/relationships";
15317
15835
  var RELS_ROOT = writextag("Relationships", null, {
15836
+ //'xmlns:ns0': XMLNS.RELS,
15318
15837
  "xmlns": XMLNS.RELS
15319
15838
  });
15320
15839
  function write_rels(rels) {
@@ -15455,6 +15974,7 @@
15455
15974
  return p;
15456
15975
  }
15457
15976
  var CORE_PROPS_XML_ROOT = writextag("cp:coreProperties", null, {
15977
+ //'xmlns': XMLNS.CORE_PROPS,
15458
15978
  "xmlns:cp": XMLNS.CORE_PROPS,
15459
15979
  "xmlns:dc": XMLNS.dc,
15460
15980
  "xmlns:dcterms": XMLNS.dcterms,
@@ -15733,16 +16253,30 @@
15733
16253
  LastAuthor: "LastAuthor",
15734
16254
  RevNumber: "Revision",
15735
16255
  Application: "AppName",
16256
+ /* TotalTime: 'TotalTime', */
15736
16257
  LastPrinted: "LastPrinted",
15737
16258
  CreatedDate: "Created",
15738
16259
  ModifiedDate: "LastSaved",
16260
+ /* Pages */
16261
+ /* Words */
16262
+ /* Characters */
15739
16263
  Category: "Category",
16264
+ /* PresentationFormat */
15740
16265
  Manager: "Manager",
15741
16266
  Company: "Company",
16267
+ /* Guid */
16268
+ /* HyperlinkBase */
16269
+ /* Bytes */
16270
+ /* Lines */
16271
+ /* Paragraphs */
16272
+ /* CharactersWithSpaces */
15742
16273
  AppVersion: "Version",
15743
16274
  ContentStatus: "ContentStatus",
16275
+ /* NOTE: missing from schema */
15744
16276
  Identifier: "Identifier",
16277
+ /* NOTE: missing from schema */
15745
16278
  Language: "Language"
16279
+ /* NOTE: missing from schema */
15746
16280
  };
15747
16281
  var evert_XLMLDPM = evert(XLMLDocPropsMap);
15748
16282
  function xlml_set_prop(Props, tag, val) {
@@ -15972,7 +16506,11 @@
15972
16506
  case 80:
15973
16507
  return parse_VtString(blob, t, !opts.raw).replace(chr0, "");
15974
16508
  case 81:
15975
- return parse_VtUnalignedString(blob, t).replace(chr0, "");
16509
+ return parse_VtUnalignedString(
16510
+ blob,
16511
+ t
16512
+ /*, 4*/
16513
+ ).replace(chr0, "");
15976
16514
  case 4108:
15977
16515
  return parse_VtVecHeadingPairValue(blob);
15978
16516
  case 4126:
@@ -16543,7 +17081,10 @@
16543
17081
  if (flags & 32)
16544
17082
  guid = blob.read_shift(16);
16545
17083
  if (flags & 64)
16546
- fileTime = parse_FILETIME(blob);
17084
+ fileTime = parse_FILETIME(
17085
+ blob
17086
+ /*, 8*/
17087
+ );
16547
17088
  blob.l = end;
16548
17089
  var target = targetFrameName || moniker || oleMoniker || "";
16549
17090
  if (target && Loc)
@@ -16720,23 +17261,41 @@
16720
17261
  }
16721
17262
  var FtTab = {
16722
17263
  0: parse_FtSkip,
17264
+ /* FtEnd */
16723
17265
  4: parse_FtSkip,
17266
+ /* FtMacro */
16724
17267
  5: parse_FtSkip,
17268
+ /* FtButton */
16725
17269
  6: parse_FtSkip,
17270
+ /* FtGmo */
16726
17271
  7: parse_FtCf,
17272
+ /* FtCf */
16727
17273
  8: parse_FtSkip,
17274
+ /* FtPioGrbit */
16728
17275
  9: parse_FtSkip,
17276
+ /* FtPictFmla */
16729
17277
  10: parse_FtSkip,
17278
+ /* FtCbls */
16730
17279
  11: parse_FtSkip,
17280
+ /* FtRbo */
16731
17281
  12: parse_FtSkip,
17282
+ /* FtSbs */
16732
17283
  13: parse_FtNts,
17284
+ /* FtNts */
16733
17285
  14: parse_FtSkip,
17286
+ /* FtSbsFmla */
16734
17287
  15: parse_FtSkip,
17288
+ /* FtGboData */
16735
17289
  16: parse_FtSkip,
17290
+ /* FtEdoData */
16736
17291
  17: parse_FtSkip,
17292
+ /* FtRboData */
16737
17293
  18: parse_FtSkip,
17294
+ /* FtCblsData */
16738
17295
  19: parse_FtSkip,
17296
+ /* FtLbsData */
16739
17297
  20: parse_FtSkip,
17298
+ /* FtCblsFmla */
16740
17299
  21: parse_FtCmo
16741
17300
  };
16742
17301
  function parse_FtArray(blob, length) {
@@ -17713,6 +18272,7 @@
17713
18272
  }
17714
18273
  var DBF = function() {
17715
18274
  var dbf_codepage_map = {
18275
+ /* Code Pages Supported by Visual FoxPro */
17716
18276
  1: 437,
17717
18277
  2: 850,
17718
18278
  3: 1252,
@@ -17739,6 +18299,7 @@
17739
18299
  201: 1251,
17740
18300
  202: 1254,
17741
18301
  203: 1253,
18302
+ /* shapefile DBF extension */
17742
18303
  0: 20127,
17743
18304
  8: 865,
17744
18305
  9: 437,
@@ -18268,7 +18829,7 @@
18268
18829
  "?": 191,
18269
18830
  "{": 223
18270
18831
  };
18271
- var sylk_char_regex = new RegExp("N(" + keys(sylk_escapes).join("|").replace(/\|\|\|/, "|\\||").replace(/([?()+])/g, "\\$1") + "|\\|)", "gm");
18832
+ var sylk_char_regex = new RegExp("\x1BN(" + keys(sylk_escapes).join("|").replace(/\|\|\|/, "|\\||").replace(/([?()+])/g, "\\$1") + "|\\|)", "gm");
18272
18833
  var sylk_char_fn = function(_, $1) {
18273
18834
  var o = sylk_escapes[$1];
18274
18835
  return typeof o == "number" ? _getansi(o) : o;
@@ -20305,7 +20866,10 @@
20305
20866
  z.r = utf8read(x);
20306
20867
  if (html)
20307
20868
  z.h = escapehtml(z.t);
20308
- } else if (x.match(sirregex)) {
20869
+ } else if (
20870
+ /*y = */
20871
+ x.match(sirregex)
20872
+ ) {
20309
20873
  z.r = utf8read(x);
20310
20874
  z.t = unescapexml(utf8read((x.replace(sirphregex, "").match(sitregex) || []).join("").replace(tagregex, "")));
20311
20875
  if (html)
@@ -21399,7 +21963,12 @@
21399
21963
  }
21400
21964
  function write_numFmts(NF) {
21401
21965
  var o = ["<numFmts>"];
21402
- [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(r) {
21966
+ [[5, 8], [23, 26], [41, 44], [
21967
+ /*63*/
21968
+ 50,
21969
+ /*66],[164,*/
21970
+ 392
21971
+ ]].forEach(function(r) {
21403
21972
  for (var i2 = r[0]; i2 <= r[1]; ++i2)
21404
21973
  if (NF[i2] != null)
21405
21974
  o[o.length] = writextag("numFmt", null, { numFmtId: i2, formatCode: escapexml(NF[i2]) });
@@ -21821,7 +22390,12 @@
21821
22390
  if (!NF)
21822
22391
  return;
21823
22392
  var cnt = 0;
21824
- [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(r) {
22393
+ [[5, 8], [23, 26], [41, 44], [
22394
+ /*63*/
22395
+ 50,
22396
+ /*66],[164,*/
22397
+ 392
22398
+ ]].forEach(function(r) {
21825
22399
  for (var i2 = r[0]; i2 <= r[1]; ++i2)
21826
22400
  if (NF[i2] != null)
21827
22401
  ++cnt;
@@ -21829,7 +22403,12 @@
21829
22403
  if (cnt == 0)
21830
22404
  return;
21831
22405
  write_record(ba, "BrtBeginFmts", write_UInt32LE(cnt));
21832
- [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(r) {
22406
+ [[5, 8], [23, 26], [41, 44], [
22407
+ /*63*/
22408
+ 50,
22409
+ /*66],[164,*/
22410
+ 392
22411
+ ]].forEach(function(r) {
21833
22412
  for (var i2 = r[0]; i2 <= r[1]; ++i2)
21834
22413
  if (NF[i2] != null)
21835
22414
  write_record(ba, "BrtFmt", write_BrtFmt(i2, NF[i2]));
@@ -22002,8 +22581,11 @@
22002
22581
  themes.themeElements = {};
22003
22582
  var t;
22004
22583
  [
22584
+ /* clrScheme CT_ColorScheme */
22005
22585
  ["clrScheme", clrsregex, parse_clrScheme],
22586
+ /* fontScheme CT_FontScheme */
22006
22587
  ["fontScheme", fntsregex, parse_fontScheme],
22588
+ /* fmtScheme CT_StyleMatrix */
22007
22589
  ["fmtScheme", fmtsregex, parse_fmtScheme]
22008
22590
  ].forEach(function(m) {
22009
22591
  if (!(t = data.match(m[1])))
@@ -22463,6 +23045,7 @@
22463
23045
  '<x:ClientData ObjectType="Note">',
22464
23046
  "<x:MoveWithCells/>",
22465
23047
  "<x:SizeWithCells/>",
23048
+ /* Part 4 19.4.2.3 Anchor (Anchor) */
22466
23049
  writetag("x:Anchor", [c.c + 1, 0, c.r + 1, 0, c.c + 3, 20, c.r + 5, 20].join(",")),
22467
23050
  writetag("x:AutoFill", "False"),
22468
23051
  writetag("x:Row", String(c.r)),
@@ -23528,7 +24111,10 @@
23528
24111
  }
23529
24112
  function stringify_formula(formula, range, cell, supbooks, opts) {
23530
24113
  var biff = opts && opts.biff || 8;
23531
- var _range = { s: { c: 0, r: 0 }, e: { c: 0, r: 0 } };
24114
+ var _range = (
24115
+ /*range != null ? range :*/
24116
+ { s: { c: 0, r: 0 }, e: { c: 0, r: 0 } }
24117
+ );
23532
24118
  var stack = [], e1, e2, c, ixti = 0, nameidx = 0, r, sname = "";
23533
24119
  if (!formula[0] || !formula[0][0])
23534
24120
  return "";
@@ -24836,256 +25422,507 @@
24836
25422
  };
24837
25423
  var FtabArgc = {
24838
25424
  2: 1,
25425
+ /* ISNA */
24839
25426
  3: 1,
25427
+ /* ISERROR */
24840
25428
  10: 0,
25429
+ /* NA */
24841
25430
  15: 1,
25431
+ /* SIN */
24842
25432
  16: 1,
25433
+ /* COS */
24843
25434
  17: 1,
25435
+ /* TAN */
24844
25436
  18: 1,
25437
+ /* ATAN */
24845
25438
  19: 0,
25439
+ /* PI */
24846
25440
  20: 1,
25441
+ /* SQRT */
24847
25442
  21: 1,
25443
+ /* EXP */
24848
25444
  22: 1,
25445
+ /* LN */
24849
25446
  23: 1,
25447
+ /* LOG10 */
24850
25448
  24: 1,
25449
+ /* ABS */
24851
25450
  25: 1,
25451
+ /* INT */
24852
25452
  26: 1,
25453
+ /* SIGN */
24853
25454
  27: 2,
25455
+ /* ROUND */
24854
25456
  30: 2,
25457
+ /* REPT */
24855
25458
  31: 3,
25459
+ /* MID */
24856
25460
  32: 1,
25461
+ /* LEN */
24857
25462
  33: 1,
25463
+ /* VALUE */
24858
25464
  34: 0,
25465
+ /* TRUE */
24859
25466
  35: 0,
25467
+ /* FALSE */
24860
25468
  38: 1,
25469
+ /* NOT */
24861
25470
  39: 2,
25471
+ /* MOD */
24862
25472
  40: 3,
25473
+ /* DCOUNT */
24863
25474
  41: 3,
25475
+ /* DSUM */
24864
25476
  42: 3,
25477
+ /* DAVERAGE */
24865
25478
  43: 3,
25479
+ /* DMIN */
24866
25480
  44: 3,
25481
+ /* DMAX */
24867
25482
  45: 3,
25483
+ /* DSTDEV */
24868
25484
  47: 3,
25485
+ /* DVAR */
24869
25486
  48: 2,
25487
+ /* TEXT */
24870
25488
  53: 1,
25489
+ /* GOTO */
24871
25490
  61: 3,
25491
+ /* MIRR */
24872
25492
  63: 0,
25493
+ /* RAND */
24873
25494
  65: 3,
25495
+ /* DATE */
24874
25496
  66: 3,
25497
+ /* TIME */
24875
25498
  67: 1,
25499
+ /* DAY */
24876
25500
  68: 1,
25501
+ /* MONTH */
24877
25502
  69: 1,
25503
+ /* YEAR */
24878
25504
  70: 1,
25505
+ /* WEEKDAY */
24879
25506
  71: 1,
25507
+ /* HOUR */
24880
25508
  72: 1,
25509
+ /* MINUTE */
24881
25510
  73: 1,
25511
+ /* SECOND */
24882
25512
  74: 0,
25513
+ /* NOW */
24883
25514
  75: 1,
25515
+ /* AREAS */
24884
25516
  76: 1,
25517
+ /* ROWS */
24885
25518
  77: 1,
25519
+ /* COLUMNS */
24886
25520
  79: 2,
25521
+ /* ABSREF */
24887
25522
  80: 2,
25523
+ /* RELREF */
24888
25524
  83: 1,
25525
+ /* TRANSPOSE */
24889
25526
  85: 0,
25527
+ /* STEP */
24890
25528
  86: 1,
25529
+ /* TYPE */
24891
25530
  89: 0,
25531
+ /* CALLER */
24892
25532
  90: 1,
25533
+ /* DEREF */
24893
25534
  94: 0,
25535
+ /* ACTIVE.CELL */
24894
25536
  95: 0,
25537
+ /* SELECTION */
24895
25538
  97: 2,
25539
+ /* ATAN2 */
24896
25540
  98: 1,
25541
+ /* ASIN */
24897
25542
  99: 1,
25543
+ /* ACOS */
24898
25544
  101: 3,
25545
+ /* HLOOKUP */
24899
25546
  102: 3,
25547
+ /* VLOOKUP */
24900
25548
  105: 1,
25549
+ /* ISREF */
24901
25550
  106: 1,
25551
+ /* GET.FORMULA */
24902
25552
  108: 2,
25553
+ /* SET.VALUE */
24903
25554
  111: 1,
25555
+ /* CHAR */
24904
25556
  112: 1,
25557
+ /* LOWER */
24905
25558
  113: 1,
25559
+ /* UPPER */
24906
25560
  114: 1,
25561
+ /* PROPER */
24907
25562
  117: 2,
25563
+ /* EXACT */
24908
25564
  118: 1,
25565
+ /* TRIM */
24909
25566
  119: 4,
25567
+ /* REPLACE */
24910
25568
  121: 1,
25569
+ /* CODE */
24911
25570
  126: 1,
25571
+ /* ISERR */
24912
25572
  127: 1,
25573
+ /* ISTEXT */
24913
25574
  128: 1,
25575
+ /* ISNUMBER */
24914
25576
  129: 1,
25577
+ /* ISBLANK */
24915
25578
  130: 1,
25579
+ /* T */
24916
25580
  131: 1,
25581
+ /* N */
24917
25582
  133: 1,
25583
+ /* FCLOSE */
24918
25584
  134: 1,
25585
+ /* FSIZE */
24919
25586
  135: 1,
25587
+ /* FREADLN */
24920
25588
  136: 2,
25589
+ /* FREAD */
24921
25590
  137: 2,
25591
+ /* FWRITELN */
24922
25592
  138: 2,
25593
+ /* FWRITE */
24923
25594
  140: 1,
25595
+ /* DATEVALUE */
24924
25596
  141: 1,
25597
+ /* TIMEVALUE */
24925
25598
  142: 3,
25599
+ /* SLN */
24926
25600
  143: 4,
25601
+ /* SYD */
24927
25602
  144: 4,
25603
+ /* DDB */
24928
25604
  161: 1,
25605
+ /* DIALOG.BOX */
24929
25606
  162: 1,
25607
+ /* CLEAN */
24930
25608
  163: 1,
25609
+ /* MDETERM */
24931
25610
  164: 1,
25611
+ /* MINVERSE */
24932
25612
  165: 2,
25613
+ /* MMULT */
24933
25614
  172: 1,
25615
+ /* WHILE */
24934
25616
  175: 2,
25617
+ /* INITIATE */
24935
25618
  176: 2,
25619
+ /* REQUEST */
24936
25620
  177: 3,
25621
+ /* POKE */
24937
25622
  178: 2,
25623
+ /* EXECUTE */
24938
25624
  179: 1,
25625
+ /* TERMINATE */
24939
25626
  184: 1,
25627
+ /* FACT */
24940
25628
  186: 1,
25629
+ /* GET.WORKSPACE */
24941
25630
  189: 3,
25631
+ /* DPRODUCT */
24942
25632
  190: 1,
25633
+ /* ISNONTEXT */
24943
25634
  195: 3,
25635
+ /* DSTDEVP */
24944
25636
  196: 3,
25637
+ /* DVARP */
24945
25638
  197: 1,
25639
+ /* TRUNC */
24946
25640
  198: 1,
25641
+ /* ISLOGICAL */
24947
25642
  199: 3,
25643
+ /* DCOUNTA */
24948
25644
  201: 1,
25645
+ /* UNREGISTER */
24949
25646
  207: 4,
25647
+ /* REPLACEB */
24950
25648
  210: 3,
25649
+ /* MIDB */
24951
25650
  211: 1,
25651
+ /* LENB */
24952
25652
  212: 2,
25653
+ /* ROUNDUP */
24953
25654
  213: 2,
25655
+ /* ROUNDDOWN */
24954
25656
  214: 1,
25657
+ /* ASC */
24955
25658
  215: 1,
25659
+ /* DBCS */
24956
25660
  225: 0,
25661
+ /* END.IF */
24957
25662
  229: 1,
25663
+ /* SINH */
24958
25664
  230: 1,
25665
+ /* COSH */
24959
25666
  231: 1,
25667
+ /* TANH */
24960
25668
  232: 1,
25669
+ /* ASINH */
24961
25670
  233: 1,
25671
+ /* ACOSH */
24962
25672
  234: 1,
25673
+ /* ATANH */
24963
25674
  235: 3,
25675
+ /* DGET */
24964
25676
  244: 1,
25677
+ /* INFO */
24965
25678
  247: 4,
25679
+ /* DB */
24966
25680
  252: 2,
25681
+ /* FREQUENCY */
24967
25682
  257: 1,
25683
+ /* EVALUATE */
24968
25684
  261: 1,
25685
+ /* ERROR.TYPE */
24969
25686
  271: 1,
25687
+ /* GAMMALN */
24970
25688
  273: 4,
25689
+ /* BINOMDIST */
24971
25690
  274: 2,
25691
+ /* CHIDIST */
24972
25692
  275: 2,
25693
+ /* CHIINV */
24973
25694
  276: 2,
25695
+ /* COMBIN */
24974
25696
  277: 3,
25697
+ /* CONFIDENCE */
24975
25698
  278: 3,
25699
+ /* CRITBINOM */
24976
25700
  279: 1,
25701
+ /* EVEN */
24977
25702
  280: 3,
25703
+ /* EXPONDIST */
24978
25704
  281: 3,
25705
+ /* FDIST */
24979
25706
  282: 3,
25707
+ /* FINV */
24980
25708
  283: 1,
25709
+ /* FISHER */
24981
25710
  284: 1,
25711
+ /* FISHERINV */
24982
25712
  285: 2,
25713
+ /* FLOOR */
24983
25714
  286: 4,
25715
+ /* GAMMADIST */
24984
25716
  287: 3,
25717
+ /* GAMMAINV */
24985
25718
  288: 2,
25719
+ /* CEILING */
24986
25720
  289: 4,
25721
+ /* HYPGEOMDIST */
24987
25722
  290: 3,
25723
+ /* LOGNORMDIST */
24988
25724
  291: 3,
25725
+ /* LOGINV */
24989
25726
  292: 3,
25727
+ /* NEGBINOMDIST */
24990
25728
  293: 4,
25729
+ /* NORMDIST */
24991
25730
  294: 1,
25731
+ /* NORMSDIST */
24992
25732
  295: 3,
25733
+ /* NORMINV */
24993
25734
  296: 1,
25735
+ /* NORMSINV */
24994
25736
  297: 3,
25737
+ /* STANDARDIZE */
24995
25738
  298: 1,
25739
+ /* ODD */
24996
25740
  299: 2,
25741
+ /* PERMUT */
24997
25742
  300: 3,
25743
+ /* POISSON */
24998
25744
  301: 3,
25745
+ /* TDIST */
24999
25746
  302: 4,
25747
+ /* WEIBULL */
25000
25748
  303: 2,
25749
+ /* SUMXMY2 */
25001
25750
  304: 2,
25751
+ /* SUMX2MY2 */
25002
25752
  305: 2,
25753
+ /* SUMX2PY2 */
25003
25754
  306: 2,
25755
+ /* CHITEST */
25004
25756
  307: 2,
25757
+ /* CORREL */
25005
25758
  308: 2,
25759
+ /* COVAR */
25006
25760
  309: 3,
25761
+ /* FORECAST */
25007
25762
  310: 2,
25763
+ /* FTEST */
25008
25764
  311: 2,
25765
+ /* INTERCEPT */
25009
25766
  312: 2,
25767
+ /* PEARSON */
25010
25768
  313: 2,
25769
+ /* RSQ */
25011
25770
  314: 2,
25771
+ /* STEYX */
25012
25772
  315: 2,
25773
+ /* SLOPE */
25013
25774
  316: 4,
25775
+ /* TTEST */
25014
25776
  325: 2,
25777
+ /* LARGE */
25015
25778
  326: 2,
25779
+ /* SMALL */
25016
25780
  327: 2,
25781
+ /* QUARTILE */
25017
25782
  328: 2,
25783
+ /* PERCENTILE */
25018
25784
  331: 2,
25785
+ /* TRIMMEAN */
25019
25786
  332: 2,
25787
+ /* TINV */
25020
25788
  337: 2,
25789
+ /* POWER */
25021
25790
  342: 1,
25791
+ /* RADIANS */
25022
25792
  343: 1,
25793
+ /* DEGREES */
25023
25794
  346: 2,
25795
+ /* COUNTIF */
25024
25796
  347: 1,
25797
+ /* COUNTBLANK */
25025
25798
  350: 4,
25799
+ /* ISPMT */
25026
25800
  351: 3,
25801
+ /* DATEDIF */
25027
25802
  352: 1,
25803
+ /* DATESTRING */
25028
25804
  353: 2,
25805
+ /* NUMBERSTRING */
25029
25806
  360: 1,
25807
+ /* PHONETIC */
25030
25808
  368: 1,
25809
+ /* BAHTTEXT */
25031
25810
  369: 1,
25811
+ /* THAIDAYOFWEEK */
25032
25812
  370: 1,
25813
+ /* THAIDIGIT */
25033
25814
  371: 1,
25815
+ /* THAIMONTHOFYEAR */
25034
25816
  372: 1,
25817
+ /* THAINUMSOUND */
25035
25818
  373: 1,
25819
+ /* THAINUMSTRING */
25036
25820
  374: 1,
25821
+ /* THAISTRINGLENGTH */
25037
25822
  375: 1,
25823
+ /* ISTHAIDIGIT */
25038
25824
  376: 1,
25825
+ /* ROUNDBAHTDOWN */
25039
25826
  377: 1,
25827
+ /* ROUNDBAHTUP */
25040
25828
  378: 1,
25829
+ /* THAIYEAR */
25041
25830
  382: 3,
25831
+ /* CUBEMEMBERPROPERTY */
25042
25832
  385: 1,
25833
+ /* HEX2DEC */
25043
25834
  392: 1,
25835
+ /* OCT2DEC */
25044
25836
  393: 1,
25837
+ /* BIN2DEC */
25045
25838
  396: 2,
25839
+ /* IMSUB */
25046
25840
  397: 2,
25841
+ /* IMDIV */
25047
25842
  398: 2,
25843
+ /* IMPOWER */
25048
25844
  399: 1,
25845
+ /* IMABS */
25049
25846
  400: 1,
25847
+ /* IMSQRT */
25050
25848
  401: 1,
25849
+ /* IMLN */
25051
25850
  402: 1,
25851
+ /* IMLOG2 */
25052
25852
  403: 1,
25853
+ /* IMLOG10 */
25053
25854
  404: 1,
25855
+ /* IMSIN */
25054
25856
  405: 1,
25857
+ /* IMCOS */
25055
25858
  406: 1,
25859
+ /* IMEXP */
25056
25860
  407: 1,
25861
+ /* IMARGUMENT */
25057
25862
  408: 1,
25863
+ /* IMCONJUGATE */
25058
25864
  409: 1,
25865
+ /* IMAGINARY */
25059
25866
  410: 1,
25867
+ /* IMREAL */
25060
25868
  414: 4,
25869
+ /* SERIESSUM */
25061
25870
  415: 1,
25871
+ /* FACTDOUBLE */
25062
25872
  416: 1,
25873
+ /* SQRTPI */
25063
25874
  417: 2,
25875
+ /* QUOTIENT */
25064
25876
  420: 1,
25877
+ /* ISEVEN */
25065
25878
  421: 1,
25879
+ /* ISODD */
25066
25880
  422: 2,
25881
+ /* MROUND */
25067
25882
  424: 1,
25883
+ /* ERFC */
25068
25884
  425: 2,
25885
+ /* BESSELJ */
25069
25886
  426: 2,
25887
+ /* BESSELK */
25070
25888
  427: 2,
25889
+ /* BESSELY */
25071
25890
  428: 2,
25891
+ /* BESSELI */
25072
25892
  430: 3,
25893
+ /* XNPV */
25073
25894
  438: 3,
25895
+ /* TBILLEQ */
25074
25896
  439: 3,
25897
+ /* TBILLPRICE */
25075
25898
  440: 3,
25899
+ /* TBILLYIELD */
25076
25900
  443: 2,
25901
+ /* DOLLARDE */
25077
25902
  444: 2,
25903
+ /* DOLLARFR */
25078
25904
  445: 2,
25905
+ /* NOMINAL */
25079
25906
  446: 2,
25907
+ /* EFFECT */
25080
25908
  447: 6,
25909
+ /* CUMPRINC */
25081
25910
  448: 6,
25911
+ /* CUMIPMT */
25082
25912
  449: 2,
25913
+ /* EDATE */
25083
25914
  450: 2,
25915
+ /* EOMONTH */
25084
25916
  464: 2,
25917
+ /* RANDBETWEEN */
25085
25918
  468: 3,
25919
+ /* CONVERT */
25086
25920
  476: 2,
25921
+ /* FVSCHEDULE */
25087
25922
  479: 1,
25923
+ /* CUBESETCOUNT */
25088
25924
  480: 2,
25925
+ /* IFERROR */
25089
25926
  65535: 0
25090
25927
  };
25091
25928
  var XLSXFutureFunctions = {
@@ -25818,9 +26655,15 @@
25818
26655
  var rstarti = 0;
25819
26656
  outa:
25820
26657
  for (ri = 0; ri < xlen; ++ri)
25821
- switch (x[ri]) {
26658
+ switch (
26659
+ /*x.charCodeAt(ri)*/
26660
+ x[ri]
26661
+ ) {
25822
26662
  case ">":
25823
- if (x[ri - 1] != "/") {
26663
+ if (
26664
+ /*x.charCodeAt(ri-1) != 47*/
26665
+ x[ri - 1] != "/"
26666
+ ) {
25824
26667
  ++ri;
25825
26668
  break outa;
25826
26669
  }
@@ -26592,7 +27435,11 @@
26592
27435
  o.write_shift(-4, C);
26593
27436
  o.write_shift(-4, C);
26594
27437
  o.write_shift(4, (p.width || 10) * 256);
26595
- o.write_shift(4, 0);
27438
+ o.write_shift(
27439
+ 4,
27440
+ 0
27441
+ /*ixfe*/
27442
+ );
26596
27443
  var flags = 0;
26597
27444
  if (col.hidden)
26598
27445
  flags |= 1;
@@ -26659,20 +27506,35 @@
26659
27506
  o.write_shift(4, 1);
26660
27507
  [
26661
27508
  ["objects", false],
27509
+ // fObjects
26662
27510
  ["scenarios", false],
27511
+ // fScenarios
26663
27512
  ["formatCells", true],
27513
+ // fFormatCells
26664
27514
  ["formatColumns", true],
27515
+ // fFormatColumns
26665
27516
  ["formatRows", true],
27517
+ // fFormatRows
26666
27518
  ["insertColumns", true],
27519
+ // fInsertColumns
26667
27520
  ["insertRows", true],
27521
+ // fInsertRows
26668
27522
  ["insertHyperlinks", true],
27523
+ // fInsertHyperlinks
26669
27524
  ["deleteColumns", true],
27525
+ // fDeleteColumns
26670
27526
  ["deleteRows", true],
27527
+ // fDeleteRows
26671
27528
  ["selectLockedCells", false],
27529
+ // fSelLockedCells
26672
27530
  ["sort", true],
27531
+ // fSort
26673
27532
  ["autoFilter", true],
27533
+ // fAutoFilter
26674
27534
  ["pivotTables", true],
27535
+ // fPivotTables
26675
27536
  ["selectUnlockedCells", false]
27537
+ // fSelUnlockedCells
26676
27538
  ].forEach(function(n) {
26677
27539
  if (n[1])
26678
27540
  o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);
@@ -27421,8 +28283,11 @@
27421
28283
  ["showVerticalScroll", true, "bool"],
27422
28284
  ["tabRatio", 600, "int"],
27423
28285
  ["visibility", "visible"]
28286
+ //window{Height,Width}, {x,y}Window
28287
+ ];
28288
+ var SheetDef = [
28289
+ //['state', 'visible']
27424
28290
  ];
27425
- var SheetDef = [];
27426
28291
  var CalcPrDef = [
27427
28292
  ["calcCompleted", "true"],
27428
28293
  ["calcMode", "auto"],
@@ -27738,6 +28603,8 @@
27738
28603
  }
27739
28604
  var WB_XML_ROOT = writextag("workbook", null, {
27740
28605
  "xmlns": XMLNS.main[0],
28606
+ //'xmlns:mx': XMLNS.mx,
28607
+ //'xmlns:s': XMLNS.main[0],
27741
28608
  "xmlns:r": XMLNS.r
27742
28609
  });
27743
28610
  function write_wb_xml(wb) {
@@ -28429,7 +29296,8 @@
28429
29296
  if (state[state.length - 1][1])
28430
29297
  break;
28431
29298
  if (Rn[1] === "/")
28432
- parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length - 1][0] == "comment" ? comment : cell, { c, r }, styles, cstys[c], row, arrayf, opts);
29299
+ parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length - 1][0] == /*"Comment"*/
29300
+ "comment" ? comment : cell, { c, r }, styles, cstys[c], row, arrayf, opts);
28433
29301
  else {
28434
29302
  ss = "";
28435
29303
  dtag = xlml_parsexmltag(Rn[0]);
@@ -28592,7 +29460,8 @@
28592
29460
  }
28593
29461
  break;
28594
29462
  case "column":
28595
- if (state[state.length - 1][0] !== "table")
29463
+ if (state[state.length - 1][0] !== /*'Table'*/
29464
+ "table")
28596
29465
  break;
28597
29466
  csty = xlml_parsexmltag(Rn[0]);
28598
29467
  if (csty.Hidden) {
@@ -29478,7 +30347,8 @@
29478
30347
  break;
29479
30348
  if (!state[state.length - 1][1])
29480
30349
  throw "Unrecognized tag: " + Rn[3] + "|" + state.join("|");
29481
- if (state[state.length - 1][0] === "customdocumentproperties") {
30350
+ if (state[state.length - 1][0] === /*'CustomDocumentProperties'*/
30351
+ "customdocumentproperties") {
29482
30352
  if (Rn[0].slice(-2) === "/>")
29483
30353
  break;
29484
30354
  else if (Rn[1] === "/")
@@ -30013,15 +30883,25 @@
30013
30883
  };
30014
30884
  var opts = {
30015
30885
  enc: false,
30886
+ // encrypted
30016
30887
  sbcch: 0,
30888
+ // cch in the preceding SupBook
30017
30889
  snames: [],
30890
+ // sheetnames
30018
30891
  sharedf,
30892
+ // shared formulae by address
30019
30893
  arrayf,
30894
+ // array formulae array
30020
30895
  rrtabid: [],
30896
+ // RRTabId
30021
30897
  lastuser: "",
30898
+ // Last User from WriteAccess
30022
30899
  biff: 8,
30900
+ // BIFF version
30023
30901
  codepage: 0,
30902
+ // CP from CodePage record
30024
30903
  winlocked: 0,
30904
+ // fLockWn from WinProtect
30025
30905
  cellStyles: !!options && !!options.cellStyles,
30026
30906
  WTF: !!options && !!options.wtf
30027
30907
  };
@@ -32083,6 +32963,7 @@
32083
32963
  var XLSBRE = evert_key(XLSBRecordEnum, "n");
32084
32964
  XLSBRE["BrtFRTArchID$"] = 16;
32085
32965
  var XLSRecordEnum = {
32966
+ /* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */
32086
32967
  6: { n: "Formula", f: parse_Formula },
32087
32968
  10: { n: "EOF", f: parsenoop2 },
32088
32969
  12: { n: "CalcCount", f: parseuint16 },
@@ -32449,29 +33330,64 @@
32449
33330
  22: { n: "ExternCount", f: parseuint16 },
32450
33331
  30: { n: "BIFF2FORMAT", f: parse_BIFF2Format },
32451
33332
  31: { n: "BIFF2FMTCNT" },
33333
+ /* 16-bit cnt of BIFF2FORMAT records */
32452
33334
  32: { n: "BIFF2COLINFO" },
32453
33335
  33: { n: "Array", f: parse_Array },
32454
33336
  36: { n: "COLWIDTH" },
32455
33337
  37: { n: "DefaultRowHeight", f: parse_DefaultRowHeight },
33338
+ // 0x2c ??
33339
+ // 0x2d ??
33340
+ // 0x2e ??
33341
+ // 0x30 FONTCOUNT: number of fonts
32456
33342
  50: { n: "BIFF2FONTXTRA", f: parse_BIFF2FONTXTRA },
33343
+ // 0x35: INFOOPTS
33344
+ // 0x36: TABLE (BIFF2 only)
33345
+ // 0x37: TABLE2 (BIFF2 only)
33346
+ // 0x38: WNDESK
33347
+ // 0x39 ??
33348
+ // 0x3a: BEGINPREF
33349
+ // 0x3b: ENDPREF
32457
33350
  62: { n: "BIFF2WINDOW2" },
33351
+ // 0x3f ??
33352
+ // 0x46: SHOWSCROLL
33353
+ // 0x47: SHOWFORMULA
33354
+ // 0x48: STATUSBAR
33355
+ // 0x49: SHORTMENUS
33356
+ // 0x4A:
33357
+ // 0x4B:
33358
+ // 0x4C:
33359
+ // 0x4E:
33360
+ // 0x4F:
33361
+ // 0x58: TOOLBAR (BIFF3)
33362
+ /* - - - */
32458
33363
  52: { n: "DDEObjName" },
32459
33364
  67: { n: "BIFF2XF" },
32460
33365
  68: { n: "BIFF2XFINDEX", f: parseuint16 },
32461
33366
  69: { n: "BIFF2FONTCLR" },
32462
33367
  86: { n: "BIFF4FMTCNT" },
33368
+ /* 16-bit cnt, similar to BIFF2 */
32463
33369
  126: { n: "RK" },
33370
+ /* Not necessarily same as 0x027e */
32464
33371
  127: { n: "ImData", f: parse_ImData },
32465
33372
  135: { n: "Addin" },
32466
33373
  136: { n: "Edg" },
32467
33374
  137: { n: "Pub" },
33375
+ // 0x8A
33376
+ // 0x8B LH: alternate menu key flag (BIFF3/4)
33377
+ // 0x8E
33378
+ // 0x8F
32468
33379
  145: { n: "Sub" },
33380
+ // 0x93 STYLE
32469
33381
  148: { n: "LHRecord" },
32470
33382
  149: { n: "LHNGraph" },
32471
33383
  150: { n: "Sound" },
33384
+ // 0xA2 FNPROTO: function prototypes (BIFF4)
33385
+ // 0xA3
33386
+ // 0xA8
32472
33387
  169: { n: "CoordList" },
32473
33388
  171: { n: "GCW" },
32474
33389
  188: { n: "ShrFmla" },
33390
+ /* Not necessarily same as 0x04bc */
32475
33391
  191: { n: "ToolbarHdr" },
32476
33392
  192: { n: "ToolbarEnd" },
32477
33393
  194: { n: "AddMenu" },
@@ -32646,7 +33562,12 @@
32646
33562
  function write_FMTS_biff8(ba, NF, opts) {
32647
33563
  if (!NF)
32648
33564
  return;
32649
- [[5, 8], [23, 26], [41, 44], [50, 392]].forEach(function(r) {
33565
+ [[5, 8], [23, 26], [41, 44], [
33566
+ /*63*/
33567
+ 50,
33568
+ /*66],[164,*/
33569
+ 392
33570
+ ]].forEach(function(r) {
32650
33571
  for (var i2 = r[0]; i2 <= r[1]; ++i2)
32651
33572
  if (NF[i2] != null)
32652
33573
  write_biff_rec(ba, "Format", write_Format(i2, NF[i2], opts));
@@ -33240,6 +34161,7 @@
33240
34161
  return [v];
33241
34162
  };
33242
34163
  var number_formats = {
34164
+ /* ods name: [short ssf fmt, long ssf fmt] */
33243
34165
  day: ["d", "dd"],
33244
34166
  month: ["m", "mm"],
33245
34167
  year: ["y", "yy"],
@@ -33249,6 +34171,7 @@
33249
34171
  "am-pm": ["A/P", "AM/PM"],
33250
34172
  "day-of-week": ["ddd", "dddd"],
33251
34173
  era: ["e", "ee"],
34174
+ /* there is no native representation of LO "Q" format */
33252
34175
  quarter: ["\\Qm", 'm\\"th quarter"']
33253
34176
  };
33254
34177
  return function pcx(d, _opts) {
@@ -34220,10 +35143,16 @@
34220
35143
  manifest.push([f, "text/xml"]);
34221
35144
  rdf.push([f, "MetadataFile"]);
34222
35145
  f = "manifest.rdf";
34223
- zip_add_file(zip, f, write_rdf(rdf));
35146
+ zip_add_file(zip, f, write_rdf(
35147
+ rdf
35148
+ /*, opts*/
35149
+ ));
34224
35150
  manifest.push([f, "application/rdf+xml"]);
34225
35151
  f = "META-INF/manifest.xml";
34226
- zip_add_file(zip, f, write_manifest(manifest));
35152
+ zip_add_file(zip, f, write_manifest(
35153
+ manifest
35154
+ /*, opts*/
35155
+ ));
34227
35156
  return zip;
34228
35157
  }
34229
35158
  function write_sheet_index(wb, sheet) {
@@ -34264,28 +35193,48 @@
34264
35193
  var fix_read_opts = function(opts) {
34265
35194
  fix_opts_func([
34266
35195
  ["cellNF", false],
35196
+ /* emit cell number format string as .z */
34267
35197
  ["cellHTML", true],
35198
+ /* emit html string as .h */
34268
35199
  ["cellFormula", true],
35200
+ /* emit formulae as .f */
34269
35201
  ["cellStyles", false],
35202
+ /* emits style/theme as .s */
34270
35203
  ["cellText", true],
35204
+ /* emit formatted text as .w */
34271
35205
  ["cellDates", false],
35206
+ /* emit date cells with type `d` */
34272
35207
  ["sheetStubs", false],
35208
+ /* emit empty cells */
34273
35209
  ["sheetRows", 0, "n"],
35210
+ /* read n rows (0 = read all rows) */
34274
35211
  ["bookDeps", false],
35212
+ /* parse calculation chains */
34275
35213
  ["bookSheets", false],
35214
+ /* only try to get sheet names (no Sheets) */
34276
35215
  ["bookProps", false],
35216
+ /* only try to get properties (no Sheets) */
34277
35217
  ["bookFiles", false],
35218
+ /* include raw file structure (keys, files, cfb) */
34278
35219
  ["bookVBA", false],
35220
+ /* include vba raw data (vbaraw) */
34279
35221
  ["password", ""],
35222
+ /* password */
34280
35223
  ["WTF", false]
35224
+ /* WTF mode (throws errors) */
34281
35225
  ])(opts);
34282
35226
  };
34283
35227
  var fix_write_opts = fix_opts_func([
34284
35228
  ["cellDates", false],
35229
+ /* write date cells with type `d` */
34285
35230
  ["bookSST", false],
35231
+ /* Generate Shared String Table */
34286
35232
  ["bookType", "xlsx"],
35233
+ /* Type of workbook (xlsx/m/b) */
34287
35234
  ["compression", false],
35235
+ /* Use file compression */
34288
35236
  ["WTF", false]
35237
+ /* WTF mode (throws errors) */
34289
35238
  ]);
34290
35239
  function get_sheet_type(n) {
34291
35240
  if (RELS.WS.indexOf(n) > -1)
@@ -34620,7 +35569,7 @@
34620
35569
  opts.Strings.Count = 0;
34621
35570
  opts.Strings.Unique = 0;
34622
35571
  if (browser_has_Map)
34623
- opts.revStrings = new Map();
35572
+ opts.revStrings = /* @__PURE__ */ new Map();
34624
35573
  else {
34625
35574
  opts.revStrings = {};
34626
35575
  opts.revStrings.foo = [];
@@ -35806,11 +36755,43 @@
35806
36755
  }
35807
36756
  });
35808
36757
 
36758
+ // src/index.ts
36759
+ var src_exports = {};
36760
+ __export(src_exports, {
36761
+ ExcelLoader: () => ExcelLoader2,
36762
+ ExcelWorkerLoader: () => ExcelLoader
36763
+ });
36764
+
36765
+ // src/excel-loader.ts
36766
+ var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
36767
+ var DEFAULT_EXCEL_LOADER_OPTIONS = {
36768
+ excel: {
36769
+ shape: "object-row-table",
36770
+ sheet: void 0
36771
+ // Load default Sheet
36772
+ }
36773
+ };
36774
+ var ExcelLoader = {
36775
+ name: "Excel",
36776
+ id: "excel",
36777
+ module: "excel",
36778
+ version: VERSION,
36779
+ worker: true,
36780
+ extensions: ["xls", "xlsb", "xlsm", "xlsx"],
36781
+ mimeTypes: ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.ms-excel"],
36782
+ category: "table",
36783
+ binary: true,
36784
+ options: DEFAULT_EXCEL_LOADER_OPTIONS
36785
+ };
36786
+
35809
36787
  // src/lib/parse-excel.ts
36788
+ var import_xlsx = __toESM(require_xlsx(), 1);
36789
+ var dataTableNamesMap = {};
35810
36790
  function parseExcel(arrayBuffer, options) {
35811
36791
  const dataUrl = "dummy";
35812
36792
  const workbook = (0, import_xlsx.read)(arrayBuffer, {
35813
36793
  type: "array"
36794
+ // cellDates: true
35814
36795
  });
35815
36796
  let dataRows = [];
35816
36797
  dataTableNamesMap[dataUrl] = [];
@@ -35827,45 +36808,28 @@
35827
36808
  }
35828
36809
  return dataRows;
35829
36810
  }
35830
- var import_xlsx, dataTableNamesMap;
35831
- var init_parse_excel = __esm({
35832
- "src/lib/parse-excel.ts"() {
35833
- import_xlsx = __toModule(require_xlsx());
35834
- dataTableNamesMap = {};
35835
- }
35836
- });
35837
36811
 
35838
36812
  // src/index.ts
35839
- var src_exports = {};
35840
- __export(src_exports, {
35841
- ExcelLoader: () => ExcelLoader2,
35842
- ExcelWorkerLoader: () => ExcelLoader
35843
- });
35844
- var ExcelLoader2;
35845
- var init_src = __esm({
35846
- "src/index.ts"() {
35847
- init_excel_loader();
35848
- init_parse_excel();
35849
- ExcelLoader2 = {
35850
- ...ExcelLoader,
35851
- async parse(arrayBuffer, options) {
35852
- const data = parseExcel(arrayBuffer, options);
35853
- return { shape: "object-row-table", data };
35854
- }
36813
+ var ExcelLoader2 = {
36814
+ ...ExcelLoader,
36815
+ async parse(arrayBuffer, options) {
36816
+ const data = parseExcel(arrayBuffer, options);
36817
+ return {
36818
+ shape: "object-row-table",
36819
+ data
35855
36820
  };
35856
36821
  }
35857
- });
35858
-
35859
- // src/bundle.ts
35860
- var require_bundle = __commonJS({
35861
- "src/bundle.ts"(exports, module) {
35862
- var moduleExports = (init_src(), src_exports);
35863
- globalThis.loaders = globalThis.loaders || {};
35864
- module.exports = Object.assign(globalThis.loaders, moduleExports);
35865
- }
35866
- });
35867
- require_bundle();
36822
+ };
36823
+ return __toCommonJS(src_exports);
35868
36824
  })();
35869
- /*! cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */
35870
- /*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */
35871
- /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
36825
+ /*! Bundled license information:
36826
+
36827
+ xlsx/dist/cpexcel.js:
36828
+ (*! cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com *)
36829
+ (*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com *)
36830
+
36831
+ xlsx/xlsx.js:
36832
+ (*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com *)
36833
+ */
36834
+ return __exports__;
36835
+ });