@highlight-run/rrweb 1.2.0 → 2.0.1

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 (185) hide show
  1. package/dist/plugins/console-record.js +655 -0
  2. package/dist/plugins/console-record.min.js +1 -1
  3. package/dist/plugins/console-record.min.js.map +1 -1
  4. package/dist/plugins/console-replay.js +293 -0
  5. package/dist/plugins/console-replay.min.js +16 -0
  6. package/dist/plugins/console-replay.min.js.map +1 -0
  7. package/dist/plugins/sequential-id-record.js +33 -0
  8. package/dist/plugins/sequential-id-record.min.js +2 -0
  9. package/dist/plugins/sequential-id-record.min.js.map +1 -0
  10. package/dist/plugins/sequential-id-replay.js +37 -0
  11. package/dist/plugins/sequential-id-replay.min.js +2 -0
  12. package/dist/plugins/sequential-id-replay.min.js.map +1 -0
  13. package/dist/record/rrweb-record-pack.js +747 -0
  14. package/dist/record/rrweb-record-pack.min.js +16 -0
  15. package/dist/record/rrweb-record-pack.min.js.map +1 -0
  16. package/dist/record/rrweb-record.js +3318 -0
  17. package/dist/record/rrweb-record.min.js +16 -0
  18. package/dist/record/rrweb-record.min.js.map +1 -0
  19. package/dist/replay/rrweb-replay-unpack.js +4626 -0
  20. package/dist/replay/rrweb-replay-unpack.min.css +2 -0
  21. package/dist/replay/rrweb-replay-unpack.min.css.map +1 -0
  22. package/dist/replay/rrweb-replay-unpack.min.js +30 -0
  23. package/dist/replay/rrweb-replay-unpack.min.js.map +1 -0
  24. package/dist/replay/rrweb-replay.js +4216 -0
  25. package/dist/replay/rrweb-replay.min.css +2 -0
  26. package/dist/replay/rrweb-replay.min.css.map +1 -0
  27. package/dist/replay/rrweb-replay.min.js +30 -0
  28. package/dist/replay/rrweb-replay.min.js.map +1 -0
  29. package/dist/rrweb-all.js +8708 -0
  30. package/dist/rrweb-all.min.css +2 -0
  31. package/dist/rrweb-all.min.css.map +1 -0
  32. package/dist/rrweb-all.min.js +30 -0
  33. package/dist/rrweb-all.min.js.map +1 -0
  34. package/dist/rrweb.js +7294 -0
  35. package/dist/rrweb.min.css +2 -0
  36. package/dist/rrweb.min.css.map +1 -0
  37. package/dist/rrweb.min.js +2 -2
  38. package/dist/rrweb.min.js.map +1 -1
  39. package/es/rrweb/ext/@xstate/fsm/es/index.js +17 -0
  40. package/es/rrweb/ext/base64-arraybuffer/dist/base64-arraybuffer.es5.js +49 -0
  41. package/es/rrweb/ext/fflate/esm/browser.js +777 -0
  42. package/es/rrweb/ext/mitt/dist/mitt.es.js +63 -0
  43. package/es/rrweb/packages/rrweb/ext/tslib/tslib.es6.js +78 -0
  44. package/es/rrweb/packages/rrweb/src/entries/all.js +13 -0
  45. package/es/rrweb/packages/rrweb/src/index.js +12 -0
  46. package/es/rrweb/packages/rrweb/src/packer/base.js +3 -0
  47. package/es/rrweb/packages/rrweb/src/packer/pack.js +10 -0
  48. package/es/rrweb/packages/rrweb/src/packer/unpack.js +29 -0
  49. package/es/rrweb/packages/rrweb/src/plugins/console/record/error-stack-parser.js +179 -0
  50. package/es/rrweb/packages/rrweb/src/plugins/console/record/index.js +134 -0
  51. package/es/rrweb/packages/rrweb/src/plugins/console/record/stringify.js +141 -0
  52. package/es/rrweb/packages/rrweb/src/plugins/console/replay/index.js +111 -0
  53. package/es/rrweb/packages/rrweb/src/plugins/sequential-id/record/index.js +23 -0
  54. package/es/rrweb/packages/rrweb/src/plugins/sequential-id/replay/index.js +28 -0
  55. package/es/rrweb/packages/rrweb/src/record/iframe-manager.js +32 -0
  56. package/es/rrweb/packages/rrweb/src/record/index.js +381 -0
  57. package/es/rrweb/packages/rrweb/src/record/mutation.js +532 -0
  58. package/es/rrweb/packages/rrweb/src/record/observer.js +665 -0
  59. package/es/rrweb/packages/rrweb/src/record/observers/canvas/2d.js +78 -0
  60. package/es/rrweb/packages/rrweb/src/record/observers/canvas/canvas-manager.js +93 -0
  61. package/es/rrweb/packages/rrweb/src/record/observers/canvas/canvas.js +30 -0
  62. package/es/rrweb/packages/rrweb/src/record/observers/canvas/serialize-args.js +116 -0
  63. package/es/rrweb/packages/rrweb/src/record/observers/canvas/webgl.js +78 -0
  64. package/es/rrweb/packages/rrweb/src/record/shadow-dom-manager.js +45 -0
  65. package/es/rrweb/packages/rrweb/src/replay/canvas/2d.js +25 -0
  66. package/es/rrweb/packages/rrweb/src/replay/canvas/index.js +35 -0
  67. package/es/rrweb/packages/rrweb/src/replay/canvas/webgl.js +124 -0
  68. package/es/rrweb/packages/rrweb/src/replay/index.js +1864 -0
  69. package/es/rrweb/packages/rrweb/src/replay/machine.js +321 -0
  70. package/es/rrweb/packages/rrweb/src/replay/smoothscroll.js +221 -0
  71. package/es/rrweb/packages/rrweb/src/replay/styles/inject-style.js +8 -0
  72. package/es/rrweb/packages/rrweb/src/replay/timer.js +96 -0
  73. package/es/rrweb/packages/rrweb/src/replay/virtual-styles.js +121 -0
  74. package/es/rrweb/packages/rrweb/src/types.js +75 -0
  75. package/es/rrweb/packages/rrweb/src/utils.js +509 -0
  76. package/es/rrweb/packages/rrweb-snapshot/es/rrweb-snapshot.js +1697 -0
  77. package/lib/plugins/console-record.js +650 -0
  78. package/lib/plugins/console-replay.js +288 -0
  79. package/lib/plugins/sequential-id-record.js +28 -0
  80. package/lib/plugins/sequential-id-replay.js +32 -0
  81. package/lib/record/rrweb-record-pack.js +742 -0
  82. package/lib/record/rrweb-record.js +3315 -0
  83. package/lib/replay/rrweb-replay-unpack.js +4621 -0
  84. package/lib/replay/rrweb-replay.js +4211 -0
  85. package/lib/rrweb-all.js +8703 -0
  86. package/lib/rrweb.js +7289 -0
  87. package/package.json +41 -43
  88. package/typings/entries/all.d.ts +6 -0
  89. package/{dist → typings}/entries/record-pack.d.ts +0 -0
  90. package/{dist → typings}/entries/replay-unpack.d.ts +0 -0
  91. package/{dist → typings}/index.d.ts +1 -2
  92. package/{dist → typings}/packer/base.d.ts +0 -0
  93. package/{dist → typings}/packer/index.d.ts +0 -0
  94. package/{dist → typings}/packer/pack.d.ts +0 -0
  95. package/{dist → typings}/packer/unpack.d.ts +0 -0
  96. package/{dist → typings}/plugins/console/record/error-stack-parser.d.ts +0 -0
  97. package/{dist → typings}/plugins/console/record/index.d.ts +3 -2
  98. package/{dist → typings}/plugins/console/record/stringify.d.ts +0 -0
  99. package/{dist → typings}/plugins/console/replay/index.d.ts +2 -2
  100. package/{dist → typings}/plugins/sequential-id/record/index.d.ts +0 -0
  101. package/{dist → typings}/plugins/sequential-id/replay/index.d.ts +0 -0
  102. package/{dist → typings}/record/iframe-manager.d.ts +1 -1
  103. package/{dist → typings}/record/index.d.ts +0 -0
  104. package/{dist → typings}/record/mutation.d.ts +5 -8
  105. package/typings/record/observer.d.ts +7 -0
  106. package/{dist → typings}/record/observers/canvas/2d.d.ts +0 -0
  107. package/{dist → typings}/record/observers/canvas/canvas-manager.d.ts +0 -0
  108. package/{dist → typings}/record/observers/canvas/canvas.d.ts +0 -0
  109. package/{dist → typings}/record/observers/canvas/serialize-args.d.ts +1 -1
  110. package/{dist → typings}/record/observers/canvas/webgl.d.ts +0 -0
  111. package/typings/record/observers/canvas/webgl2.d.ts +2 -0
  112. package/typings/record/shadow-dom-manager.d.ts +21 -0
  113. package/{dist → typings}/replay/canvas/2d.d.ts +0 -0
  114. package/{dist → typings}/replay/canvas/index.d.ts +0 -0
  115. package/{dist → typings}/replay/canvas/webgl.d.ts +0 -0
  116. package/{dist → typings}/replay/index.d.ts +1 -0
  117. package/{dist → typings}/replay/machine.d.ts +0 -0
  118. package/{dist → typings}/replay/smoothscroll.d.ts +0 -0
  119. package/{dist → typings}/replay/styles/inject-style.d.ts +0 -0
  120. package/{dist → typings}/replay/timer.d.ts +0 -0
  121. package/{dist → typings}/replay/virtual-styles.d.ts +1 -1
  122. package/{dist → typings}/rrdom/index.d.ts +0 -0
  123. package/{dist → typings}/rrdom/tree-node.d.ts +0 -0
  124. package/{dist → typings}/types.d.ts +7 -8
  125. package/{dist → typings}/utils.d.ts +3 -4
  126. package/CHANGELOG.md +0 -26
  127. package/README.md +0 -124
  128. package/README.zh_CN.md +0 -122
  129. package/dist/entries/all.d.ts +0 -4
  130. package/dist/index.css +0 -82
  131. package/dist/index.css.map +0 -1
  132. package/dist/index.js +0 -3
  133. package/dist/index.js.LICENSE.txt +0 -14
  134. package/dist/index.js.map +0 -1
  135. package/dist/plugins/entries/all.d.ts +0 -4
  136. package/dist/plugins/entries/record-pack.d.ts +0 -2
  137. package/dist/plugins/entries/replay-unpack.d.ts +0 -2
  138. package/dist/plugins/index.d.ts +0 -9
  139. package/dist/plugins/packer/base.d.ts +0 -7
  140. package/dist/plugins/packer/index.d.ts +0 -2
  141. package/dist/plugins/packer/pack.d.ts +0 -2
  142. package/dist/plugins/packer/unpack.d.ts +0 -2
  143. package/dist/plugins/plugins/console/record/error-stack-parser.d.ts +0 -37
  144. package/dist/plugins/plugins/console/record/index.d.ts +0 -41
  145. package/dist/plugins/plugins/console/record/stringify.d.ts +0 -2
  146. package/dist/plugins/plugins/console/replay/index.d.ts +0 -9
  147. package/dist/plugins/plugins/sequential-id/record/index.d.ts +0 -6
  148. package/dist/plugins/plugins/sequential-id/replay/index.d.ts +0 -7
  149. package/dist/plugins/record/iframe-manager.d.ts +0 -13
  150. package/dist/plugins/record/index.d.ts +0 -9
  151. package/dist/plugins/record/mutation.d.ts +0 -45
  152. package/dist/plugins/record/observer.d.ts +0 -11
  153. package/dist/plugins/record/observers/canvas/2d.d.ts +0 -2
  154. package/dist/plugins/record/observers/canvas/canvas-manager.d.ts +0 -32
  155. package/dist/plugins/record/observers/canvas/canvas.d.ts +0 -2
  156. package/dist/plugins/record/observers/canvas/serialize-args.d.ts +0 -6
  157. package/dist/plugins/record/observers/canvas/webgl.d.ts +0 -2
  158. package/dist/plugins/record/shadow-dom-manager.d.ts +0 -34
  159. package/dist/plugins/replay/canvas/2d.d.ts +0 -9
  160. package/dist/plugins/replay/canvas/index.d.ts +0 -9
  161. package/dist/plugins/replay/canvas/webgl.d.ts +0 -11
  162. package/dist/plugins/replay/index.d.ts +0 -82
  163. package/dist/plugins/replay/machine.d.ts +0 -85
  164. package/dist/plugins/replay/smoothscroll.d.ts +0 -1
  165. package/dist/plugins/replay/styles/inject-style.d.ts +0 -2
  166. package/dist/plugins/replay/timer.d.ts +0 -19
  167. package/dist/plugins/replay/virtual-styles.d.ts +0 -43
  168. package/dist/plugins/rrdom/index.d.ts +0 -1
  169. package/dist/plugins/rrdom/tree-node.d.ts +0 -20
  170. package/dist/plugins/snapshot/css.d.ts +0 -92
  171. package/dist/plugins/snapshot/index.d.ts +0 -5
  172. package/dist/plugins/snapshot/rebuild.d.ts +0 -19
  173. package/dist/plugins/snapshot/snapshot.d.ts +0 -49
  174. package/dist/plugins/snapshot/types.d.ts +0 -99
  175. package/dist/plugins/snapshot/utils.d.ts +0 -11
  176. package/dist/plugins/types.d.ts +0 -509
  177. package/dist/plugins/utils.d.ts +0 -71
  178. package/dist/record/observer.d.ts +0 -11
  179. package/dist/record/shadow-dom-manager.d.ts +0 -34
  180. package/dist/snapshot/css.d.ts +0 -92
  181. package/dist/snapshot/index.d.ts +0 -5
  182. package/dist/snapshot/rebuild.d.ts +0 -19
  183. package/dist/snapshot/snapshot.d.ts +0 -49
  184. package/dist/snapshot/types.d.ts +0 -99
  185. package/dist/snapshot/utils.d.ts +0 -11
@@ -0,0 +1,747 @@
1
+ var rrwebRecord = (function (exports) {
2
+ 'use strict';
3
+
4
+ /*! *****************************************************************************
5
+ Copyright (c) Microsoft Corporation.
6
+
7
+ Permission to use, copy, modify, and/or distribute this software for any
8
+ purpose with or without fee is hereby granted.
9
+
10
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
11
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
12
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
13
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
14
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
15
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16
+ PERFORMANCE OF THIS SOFTWARE.
17
+ ***************************************************************************** */
18
+
19
+ var __assign = function() {
20
+ __assign = Object.assign || function __assign(t) {
21
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
22
+ s = arguments[i];
23
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
24
+ }
25
+ return t;
26
+ };
27
+ return __assign.apply(this, arguments);
28
+ };
29
+
30
+ var NodeType;
31
+ (function (NodeType) {
32
+ NodeType[NodeType["Document"] = 0] = "Document";
33
+ NodeType[NodeType["DocumentType"] = 1] = "DocumentType";
34
+ NodeType[NodeType["Element"] = 2] = "Element";
35
+ NodeType[NodeType["Text"] = 3] = "Text";
36
+ NodeType[NodeType["CDATA"] = 4] = "CDATA";
37
+ NodeType[NodeType["Comment"] = 5] = "Comment";
38
+ })(NodeType || (NodeType = {}));
39
+
40
+ var EventType;
41
+ (function (EventType) {
42
+ EventType[EventType["DomContentLoaded"] = 0] = "DomContentLoaded";
43
+ EventType[EventType["Load"] = 1] = "Load";
44
+ EventType[EventType["FullSnapshot"] = 2] = "FullSnapshot";
45
+ EventType[EventType["IncrementalSnapshot"] = 3] = "IncrementalSnapshot";
46
+ EventType[EventType["Meta"] = 4] = "Meta";
47
+ EventType[EventType["Custom"] = 5] = "Custom";
48
+ EventType[EventType["Plugin"] = 6] = "Plugin";
49
+ })(EventType || (EventType = {}));
50
+ var IncrementalSource;
51
+ (function (IncrementalSource) {
52
+ IncrementalSource[IncrementalSource["Mutation"] = 0] = "Mutation";
53
+ IncrementalSource[IncrementalSource["MouseMove"] = 1] = "MouseMove";
54
+ IncrementalSource[IncrementalSource["MouseInteraction"] = 2] = "MouseInteraction";
55
+ IncrementalSource[IncrementalSource["Scroll"] = 3] = "Scroll";
56
+ IncrementalSource[IncrementalSource["ViewportResize"] = 4] = "ViewportResize";
57
+ IncrementalSource[IncrementalSource["Input"] = 5] = "Input";
58
+ IncrementalSource[IncrementalSource["TouchMove"] = 6] = "TouchMove";
59
+ IncrementalSource[IncrementalSource["MediaInteraction"] = 7] = "MediaInteraction";
60
+ IncrementalSource[IncrementalSource["StyleSheetRule"] = 8] = "StyleSheetRule";
61
+ IncrementalSource[IncrementalSource["CanvasMutation"] = 9] = "CanvasMutation";
62
+ IncrementalSource[IncrementalSource["Font"] = 10] = "Font";
63
+ IncrementalSource[IncrementalSource["Log"] = 11] = "Log";
64
+ IncrementalSource[IncrementalSource["Drag"] = 12] = "Drag";
65
+ IncrementalSource[IncrementalSource["StyleDeclaration"] = 13] = "StyleDeclaration";
66
+ })(IncrementalSource || (IncrementalSource = {}));
67
+ var MouseInteractions;
68
+ (function (MouseInteractions) {
69
+ MouseInteractions[MouseInteractions["MouseUp"] = 0] = "MouseUp";
70
+ MouseInteractions[MouseInteractions["MouseDown"] = 1] = "MouseDown";
71
+ MouseInteractions[MouseInteractions["Click"] = 2] = "Click";
72
+ MouseInteractions[MouseInteractions["ContextMenu"] = 3] = "ContextMenu";
73
+ MouseInteractions[MouseInteractions["DblClick"] = 4] = "DblClick";
74
+ MouseInteractions[MouseInteractions["Focus"] = 5] = "Focus";
75
+ MouseInteractions[MouseInteractions["Blur"] = 6] = "Blur";
76
+ MouseInteractions[MouseInteractions["TouchStart"] = 7] = "TouchStart";
77
+ MouseInteractions[MouseInteractions["TouchMove_Departed"] = 8] = "TouchMove_Departed";
78
+ MouseInteractions[MouseInteractions["TouchEnd"] = 9] = "TouchEnd";
79
+ MouseInteractions[MouseInteractions["TouchCancel"] = 10] = "TouchCancel";
80
+ })(MouseInteractions || (MouseInteractions = {}));
81
+ var CanvasContext;
82
+ (function (CanvasContext) {
83
+ CanvasContext[CanvasContext["2D"] = 0] = "2D";
84
+ CanvasContext[CanvasContext["WebGL"] = 1] = "WebGL";
85
+ CanvasContext[CanvasContext["WebGL2"] = 2] = "WebGL2";
86
+ })(CanvasContext || (CanvasContext = {}));
87
+ var MediaInteractions;
88
+ (function (MediaInteractions) {
89
+ MediaInteractions[MediaInteractions["Play"] = 0] = "Play";
90
+ MediaInteractions[MediaInteractions["Pause"] = 1] = "Pause";
91
+ MediaInteractions[MediaInteractions["Seeked"] = 2] = "Seeked";
92
+ MediaInteractions[MediaInteractions["VolumeChange"] = 3] = "VolumeChange";
93
+ })(MediaInteractions || (MediaInteractions = {}));
94
+ var ReplayerEvents;
95
+ (function (ReplayerEvents) {
96
+ ReplayerEvents["Start"] = "start";
97
+ ReplayerEvents["Pause"] = "pause";
98
+ ReplayerEvents["Resume"] = "resume";
99
+ ReplayerEvents["Resize"] = "resize";
100
+ ReplayerEvents["Finish"] = "finish";
101
+ ReplayerEvents["FullsnapshotRebuilded"] = "fullsnapshot-rebuilded";
102
+ ReplayerEvents["LoadStylesheetStart"] = "load-stylesheet-start";
103
+ ReplayerEvents["LoadStylesheetEnd"] = "load-stylesheet-end";
104
+ ReplayerEvents["SkipStart"] = "skip-start";
105
+ ReplayerEvents["SkipEnd"] = "skip-end";
106
+ ReplayerEvents["MouseInteraction"] = "mouse-interaction";
107
+ ReplayerEvents["EventCast"] = "event-cast";
108
+ ReplayerEvents["CustomEvent"] = "custom-event";
109
+ ReplayerEvents["Flush"] = "flush";
110
+ ReplayerEvents["StateChange"] = "state-change";
111
+ ReplayerEvents["PlayBack"] = "play-back";
112
+ })(ReplayerEvents || (ReplayerEvents = {}));
113
+
114
+ var DEPARTED_MIRROR_ACCESS_WARNING = 'Please stop import mirror directly. Instead of that,' +
115
+ '\r\n' +
116
+ 'now you can use replayer.getMirror() to access the mirror instance of a replayer,' +
117
+ '\r\n' +
118
+ 'or you can use record.mirror to access the mirror instance during recording.';
119
+ var _mirror = {
120
+ map: {},
121
+ getId: function () {
122
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
123
+ return -1;
124
+ },
125
+ getNode: function () {
126
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
127
+ return null;
128
+ },
129
+ removeNodeFromMap: function () {
130
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
131
+ },
132
+ has: function () {
133
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
134
+ return false;
135
+ },
136
+ reset: function () {
137
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
138
+ },
139
+ };
140
+ if (typeof window !== 'undefined' && window.Proxy && window.Reflect) {
141
+ _mirror = new Proxy(_mirror, {
142
+ get: function (target, prop, receiver) {
143
+ if (prop === 'map') {
144
+ console.error(DEPARTED_MIRROR_ACCESS_WARNING);
145
+ }
146
+ return Reflect.get(target, prop, receiver);
147
+ },
148
+ });
149
+ }
150
+
151
+ /*
152
+ * base64-arraybuffer 1.0.1 <https://github.com/niklasvh/base64-arraybuffer>
153
+ * Copyright (c) 2021 Niklas von Hertzen <https://hertzen.com>
154
+ * Released under MIT License
155
+ */
156
+ var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
157
+ // Use a lookup table to find the index.
158
+ var lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);
159
+ for (var i$1 = 0; i$1 < chars.length; i$1++) {
160
+ lookup[chars.charCodeAt(i$1)] = i$1;
161
+ }
162
+
163
+ // DEFLATE is a complex format; to read this code, you should probably check the RFC first:
164
+
165
+ // aliases for shorter compressed code (most minifers don't do this)
166
+ var u8 = Uint8Array, u16 = Uint16Array, u32 = Uint32Array;
167
+ // fixed length extra bits
168
+ var fleb = new u8([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, /* unused */ 0, 0, /* impossible */ 0]);
169
+ // fixed distance extra bits
170
+ // see fleb note
171
+ var fdeb = new u8([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, /* unused */ 0, 0]);
172
+ // code length index map
173
+ var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
174
+ // get base, reverse index map from extra bits
175
+ var freb = function (eb, start) {
176
+ var b = new u16(31);
177
+ for (var i = 0; i < 31; ++i) {
178
+ b[i] = start += 1 << eb[i - 1];
179
+ }
180
+ // numbers here are at max 18 bits
181
+ var r = new u32(b[30]);
182
+ for (var i = 1; i < 30; ++i) {
183
+ for (var j = b[i]; j < b[i + 1]; ++j) {
184
+ r[j] = ((j - b[i]) << 5) | i;
185
+ }
186
+ }
187
+ return [b, r];
188
+ };
189
+ var _a = freb(fleb, 2), fl = _a[0], revfl = _a[1];
190
+ // we can ignore the fact that the other numbers are wrong; they never happen anyway
191
+ fl[28] = 258, revfl[258] = 28;
192
+ var _b = freb(fdeb, 0), revfd = _b[1];
193
+ // map of value to reverse (assuming 16 bits)
194
+ var rev = new u16(32768);
195
+ for (var i = 0; i < 32768; ++i) {
196
+ // reverse table algorithm from SO
197
+ var x = ((i & 0xAAAA) >>> 1) | ((i & 0x5555) << 1);
198
+ x = ((x & 0xCCCC) >>> 2) | ((x & 0x3333) << 2);
199
+ x = ((x & 0xF0F0) >>> 4) | ((x & 0x0F0F) << 4);
200
+ rev[i] = (((x & 0xFF00) >>> 8) | ((x & 0x00FF) << 8)) >>> 1;
201
+ }
202
+ // create huffman tree from u8 "map": index -> code length for code index
203
+ // mb (max bits) must be at most 15
204
+ // TODO: optimize/split up?
205
+ var hMap = (function (cd, mb, r) {
206
+ var s = cd.length;
207
+ // index
208
+ var i = 0;
209
+ // u16 "map": index -> # of codes with bit length = index
210
+ var l = new u16(mb);
211
+ // length of cd must be 288 (total # of codes)
212
+ for (; i < s; ++i)
213
+ ++l[cd[i] - 1];
214
+ // u16 "map": index -> minimum code for bit length = index
215
+ var le = new u16(mb);
216
+ for (i = 0; i < mb; ++i) {
217
+ le[i] = (le[i - 1] + l[i - 1]) << 1;
218
+ }
219
+ var co;
220
+ if (r) {
221
+ // u16 "map": index -> number of actual bits, symbol for code
222
+ co = new u16(1 << mb);
223
+ // bits to remove for reverser
224
+ var rvb = 15 - mb;
225
+ for (i = 0; i < s; ++i) {
226
+ // ignore 0 lengths
227
+ if (cd[i]) {
228
+ // num encoding both symbol and bits read
229
+ var sv = (i << 4) | cd[i];
230
+ // free bits
231
+ var r_1 = mb - cd[i];
232
+ // start value
233
+ var v = le[cd[i] - 1]++ << r_1;
234
+ // m is end value
235
+ for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {
236
+ // every 16 bit value starting with the code yields the same result
237
+ co[rev[v] >>> rvb] = sv;
238
+ }
239
+ }
240
+ }
241
+ }
242
+ else {
243
+ co = new u16(s);
244
+ for (i = 0; i < s; ++i)
245
+ co[i] = rev[le[cd[i] - 1]++] >>> (15 - cd[i]);
246
+ }
247
+ return co;
248
+ });
249
+ // fixed length tree
250
+ var flt = new u8(288);
251
+ for (var i = 0; i < 144; ++i)
252
+ flt[i] = 8;
253
+ for (var i = 144; i < 256; ++i)
254
+ flt[i] = 9;
255
+ for (var i = 256; i < 280; ++i)
256
+ flt[i] = 7;
257
+ for (var i = 280; i < 288; ++i)
258
+ flt[i] = 8;
259
+ // fixed distance tree
260
+ var fdt = new u8(32);
261
+ for (var i = 0; i < 32; ++i)
262
+ fdt[i] = 5;
263
+ // fixed length map
264
+ var flm = /*#__PURE__*/ hMap(flt, 9, 0);
265
+ // fixed distance map
266
+ var fdm = /*#__PURE__*/ hMap(fdt, 5, 0);
267
+ // get end of byte
268
+ var shft = function (p) { return ((p / 8) >> 0) + (p & 7 && 1); };
269
+ // typed array slice - allows garbage collector to free original reference,
270
+ // while being more compatible than .slice
271
+ var slc = function (v, s, e) {
272
+ if (s == null || s < 0)
273
+ s = 0;
274
+ if (e == null || e > v.length)
275
+ e = v.length;
276
+ // can't use .constructor in case user-supplied
277
+ var n = new (v instanceof u16 ? u16 : v instanceof u32 ? u32 : u8)(e - s);
278
+ n.set(v.subarray(s, e));
279
+ return n;
280
+ };
281
+ // starting at p, write the minimum number of bits that can hold v to d
282
+ var wbits = function (d, p, v) {
283
+ v <<= p & 7;
284
+ var o = (p / 8) >> 0;
285
+ d[o] |= v;
286
+ d[o + 1] |= v >>> 8;
287
+ };
288
+ // starting at p, write the minimum number of bits (>8) that can hold v to d
289
+ var wbits16 = function (d, p, v) {
290
+ v <<= p & 7;
291
+ var o = (p / 8) >> 0;
292
+ d[o] |= v;
293
+ d[o + 1] |= v >>> 8;
294
+ d[o + 2] |= v >>> 16;
295
+ };
296
+ // creates code lengths from a frequency table
297
+ var hTree = function (d, mb) {
298
+ // Need extra info to make a tree
299
+ var t = [];
300
+ for (var i = 0; i < d.length; ++i) {
301
+ if (d[i])
302
+ t.push({ s: i, f: d[i] });
303
+ }
304
+ var s = t.length;
305
+ var t2 = t.slice();
306
+ if (!s)
307
+ return [new u8(0), 0];
308
+ if (s == 1) {
309
+ var v = new u8(t[0].s + 1);
310
+ v[t[0].s] = 1;
311
+ return [v, 1];
312
+ }
313
+ t.sort(function (a, b) { return a.f - b.f; });
314
+ // after i2 reaches last ind, will be stopped
315
+ // freq must be greater than largest possible number of symbols
316
+ t.push({ s: -1, f: 25001 });
317
+ var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;
318
+ t[0] = { s: -1, f: l.f + r.f, l: l, r: r };
319
+ // efficient algorithm from UZIP.js
320
+ // i0 is lookbehind, i2 is lookahead - after processing two low-freq
321
+ // symbols that combined have high freq, will start processing i2 (high-freq,
322
+ // non-composite) symbols instead
323
+ // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/
324
+ while (i1 != s - 1) {
325
+ l = t[t[i0].f < t[i2].f ? i0++ : i2++];
326
+ r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];
327
+ t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };
328
+ }
329
+ var maxSym = t2[0].s;
330
+ for (var i = 1; i < s; ++i) {
331
+ if (t2[i].s > maxSym)
332
+ maxSym = t2[i].s;
333
+ }
334
+ // code lengths
335
+ var tr = new u16(maxSym + 1);
336
+ // max bits in tree
337
+ var mbt = ln(t[i1 - 1], tr, 0);
338
+ if (mbt > mb) {
339
+ // more algorithms from UZIP.js
340
+ // TODO: find out how this code works (debt)
341
+ // ind debt
342
+ var i = 0, dt = 0;
343
+ // left cost
344
+ var lft = mbt - mb, cst = 1 << lft;
345
+ t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });
346
+ for (; i < s; ++i) {
347
+ var i2_1 = t2[i].s;
348
+ if (tr[i2_1] > mb) {
349
+ dt += cst - (1 << (mbt - tr[i2_1]));
350
+ tr[i2_1] = mb;
351
+ }
352
+ else
353
+ break;
354
+ }
355
+ dt >>>= lft;
356
+ while (dt > 0) {
357
+ var i2_2 = t2[i].s;
358
+ if (tr[i2_2] < mb)
359
+ dt -= 1 << (mb - tr[i2_2]++ - 1);
360
+ else
361
+ ++i;
362
+ }
363
+ for (; i >= 0 && dt; --i) {
364
+ var i2_3 = t2[i].s;
365
+ if (tr[i2_3] == mb) {
366
+ --tr[i2_3];
367
+ ++dt;
368
+ }
369
+ }
370
+ mbt = mb;
371
+ }
372
+ return [new u8(tr), mbt];
373
+ };
374
+ // get the max length and assign length codes
375
+ var ln = function (n, l, d) {
376
+ return n.s == -1
377
+ ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))
378
+ : (l[n.s] = d);
379
+ };
380
+ // length codes generation
381
+ var lc = function (c) {
382
+ var s = c.length;
383
+ // Note that the semicolon was intentional
384
+ while (s && !c[--s])
385
+ ;
386
+ var cl = new u16(++s);
387
+ // ind num streak
388
+ var cli = 0, cln = c[0], cls = 1;
389
+ var w = function (v) { cl[cli++] = v; };
390
+ for (var i = 1; i <= s; ++i) {
391
+ if (c[i] == cln && i != s)
392
+ ++cls;
393
+ else {
394
+ if (!cln && cls > 2) {
395
+ for (; cls > 138; cls -= 138)
396
+ w(32754);
397
+ if (cls > 2) {
398
+ w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);
399
+ cls = 0;
400
+ }
401
+ }
402
+ else if (cls > 3) {
403
+ w(cln), --cls;
404
+ for (; cls > 6; cls -= 6)
405
+ w(8304);
406
+ if (cls > 2)
407
+ w(((cls - 3) << 5) | 8208), cls = 0;
408
+ }
409
+ while (cls--)
410
+ w(cln);
411
+ cls = 1;
412
+ cln = c[i];
413
+ }
414
+ }
415
+ return [cl.subarray(0, cli), s];
416
+ };
417
+ // calculate the length of output from tree, code lengths
418
+ var clen = function (cf, cl) {
419
+ var l = 0;
420
+ for (var i = 0; i < cl.length; ++i)
421
+ l += cf[i] * cl[i];
422
+ return l;
423
+ };
424
+ // writes a fixed block
425
+ // returns the new bit pos
426
+ var wfblk = function (out, pos, dat) {
427
+ // no need to write 00 as type: TypedArray defaults to 0
428
+ var s = dat.length;
429
+ var o = shft(pos + 2);
430
+ out[o] = s & 255;
431
+ out[o + 1] = s >>> 8;
432
+ out[o + 2] = out[o] ^ 255;
433
+ out[o + 3] = out[o + 1] ^ 255;
434
+ for (var i = 0; i < s; ++i)
435
+ out[o + i + 4] = dat[i];
436
+ return (o + 4 + s) * 8;
437
+ };
438
+ // writes a block
439
+ var wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {
440
+ wbits(out, p++, final);
441
+ ++lf[256];
442
+ var _a = hTree(lf, 15), dlt = _a[0], mlb = _a[1];
443
+ var _b = hTree(df, 15), ddt = _b[0], mdb = _b[1];
444
+ var _c = lc(dlt), lclt = _c[0], nlc = _c[1];
445
+ var _d = lc(ddt), lcdt = _d[0], ndc = _d[1];
446
+ var lcfreq = new u16(19);
447
+ for (var i = 0; i < lclt.length; ++i)
448
+ lcfreq[lclt[i] & 31]++;
449
+ for (var i = 0; i < lcdt.length; ++i)
450
+ lcfreq[lcdt[i] & 31]++;
451
+ var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1];
452
+ var nlcc = 19;
453
+ for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)
454
+ ;
455
+ var flen = (bl + 5) << 3;
456
+ var ftlen = clen(lf, flt) + clen(df, fdt) + eb;
457
+ var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]);
458
+ if (flen <= ftlen && flen <= dtlen)
459
+ return wfblk(out, p, dat.subarray(bs, bs + bl));
460
+ var lm, ll, dm, dl;
461
+ wbits(out, p, 1 + (dtlen < ftlen)), p += 2;
462
+ if (dtlen < ftlen) {
463
+ lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;
464
+ var llm = hMap(lct, mlcb, 0);
465
+ wbits(out, p, nlc - 257);
466
+ wbits(out, p + 5, ndc - 1);
467
+ wbits(out, p + 10, nlcc - 4);
468
+ p += 14;
469
+ for (var i = 0; i < nlcc; ++i)
470
+ wbits(out, p + 3 * i, lct[clim[i]]);
471
+ p += 3 * nlcc;
472
+ var lcts = [lclt, lcdt];
473
+ for (var it = 0; it < 2; ++it) {
474
+ var clct = lcts[it];
475
+ for (var i = 0; i < clct.length; ++i) {
476
+ var len = clct[i] & 31;
477
+ wbits(out, p, llm[len]), p += lct[len];
478
+ if (len > 15)
479
+ wbits(out, p, (clct[i] >>> 5) & 127), p += clct[i] >>> 12;
480
+ }
481
+ }
482
+ }
483
+ else {
484
+ lm = flm, ll = flt, dm = fdm, dl = fdt;
485
+ }
486
+ for (var i = 0; i < li; ++i) {
487
+ if (syms[i] > 255) {
488
+ var len = (syms[i] >>> 18) & 31;
489
+ wbits16(out, p, lm[len + 257]), p += ll[len + 257];
490
+ if (len > 7)
491
+ wbits(out, p, (syms[i] >>> 23) & 31), p += fleb[len];
492
+ var dst = syms[i] & 31;
493
+ wbits16(out, p, dm[dst]), p += dl[dst];
494
+ if (dst > 3)
495
+ wbits16(out, p, (syms[i] >>> 5) & 8191), p += fdeb[dst];
496
+ }
497
+ else {
498
+ wbits16(out, p, lm[syms[i]]), p += ll[syms[i]];
499
+ }
500
+ }
501
+ wbits16(out, p, lm[256]);
502
+ return p + ll[256];
503
+ };
504
+ // deflate options (nice << 13) | chain
505
+ var deo = /*#__PURE__*/ new u32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);
506
+ // empty
507
+ var et = /*#__PURE__*/ new u8(0);
508
+ // compresses data into a raw DEFLATE buffer
509
+ var dflt = function (dat, lvl, plvl, pre, post, lst) {
510
+ var s = dat.length;
511
+ var o = new u8(pre + s + 5 * (1 + Math.floor(s / 7000)) + post);
512
+ // writing to this writes to the output buffer
513
+ var w = o.subarray(pre, o.length - post);
514
+ var pos = 0;
515
+ if (!lvl || s < 8) {
516
+ for (var i = 0; i <= s; i += 65535) {
517
+ // end
518
+ var e = i + 65535;
519
+ if (e < s) {
520
+ // write full block
521
+ pos = wfblk(w, pos, dat.subarray(i, e));
522
+ }
523
+ else {
524
+ // write final block
525
+ w[i] = lst;
526
+ pos = wfblk(w, pos, dat.subarray(i, s));
527
+ }
528
+ }
529
+ }
530
+ else {
531
+ var opt = deo[lvl - 1];
532
+ var n = opt >>> 13, c = opt & 8191;
533
+ var msk_1 = (1 << plvl) - 1;
534
+ // prev 2-byte val map curr 2-byte val map
535
+ var prev = new u16(32768), head = new u16(msk_1 + 1);
536
+ var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;
537
+ var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };
538
+ // 24576 is an arbitrary number of maximum symbols per block
539
+ // 424 buffer for last block
540
+ var syms = new u32(25000);
541
+ // length/literal freq distance freq
542
+ var lf = new u16(288), df = new u16(32);
543
+ // l/lcnt exbits index l/lind waitdx bitpos
544
+ var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0;
545
+ for (; i < s; ++i) {
546
+ // hash value
547
+ var hv = hsh(i);
548
+ // index mod 32768
549
+ var imod = i & 32767;
550
+ // previous index with this value
551
+ var pimod = head[hv];
552
+ prev[imod] = pimod;
553
+ head[hv] = imod;
554
+ // We always should modify head and prev, but only add symbols if
555
+ // this data is not yet processed ("wait" for wait index)
556
+ if (wi <= i) {
557
+ // bytes remaining
558
+ var rem = s - i;
559
+ if ((lc_1 > 7000 || li > 24576) && rem > 423) {
560
+ pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);
561
+ li = lc_1 = eb = 0, bs = i;
562
+ for (var j = 0; j < 286; ++j)
563
+ lf[j] = 0;
564
+ for (var j = 0; j < 30; ++j)
565
+ df[j] = 0;
566
+ }
567
+ // len dist chain
568
+ var l = 2, d = 0, ch_1 = c, dif = (imod - pimod) & 32767;
569
+ if (rem > 2 && hv == hsh(i - dif)) {
570
+ var maxn = Math.min(n, rem) - 1;
571
+ var maxd = Math.min(32767, i);
572
+ // max possible length
573
+ // not capped at dif because decompressors implement "rolling" index population
574
+ var ml = Math.min(258, rem);
575
+ while (dif <= maxd && --ch_1 && imod != pimod) {
576
+ if (dat[i + l] == dat[i + l - dif]) {
577
+ var nl = 0;
578
+ for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)
579
+ ;
580
+ if (nl > l) {
581
+ l = nl, d = dif;
582
+ // break out early when we reach "nice" (we are satisfied enough)
583
+ if (nl > maxn)
584
+ break;
585
+ // now, find the rarest 2-byte sequence within this
586
+ // length of literals and search for that instead.
587
+ // Much faster than just using the start
588
+ var mmd = Math.min(dif, nl - 2);
589
+ var md = 0;
590
+ for (var j = 0; j < mmd; ++j) {
591
+ var ti = (i - dif + j + 32768) & 32767;
592
+ var pti = prev[ti];
593
+ var cd = (ti - pti + 32768) & 32767;
594
+ if (cd > md)
595
+ md = cd, pimod = ti;
596
+ }
597
+ }
598
+ }
599
+ // check the previous match
600
+ imod = pimod, pimod = prev[imod];
601
+ dif += (imod - pimod + 32768) & 32767;
602
+ }
603
+ }
604
+ // d will be nonzero only when a match was found
605
+ if (d) {
606
+ // store both dist and len data in one Uint32
607
+ // Make sure this is recognized as a len/dist with 28th bit (2^28)
608
+ syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];
609
+ var lin = revfl[l] & 31, din = revfd[d] & 31;
610
+ eb += fleb[lin] + fdeb[din];
611
+ ++lf[257 + lin];
612
+ ++df[din];
613
+ wi = i + l;
614
+ ++lc_1;
615
+ }
616
+ else {
617
+ syms[li++] = dat[i];
618
+ ++lf[dat[i]];
619
+ }
620
+ }
621
+ }
622
+ pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);
623
+ // this is the easiest way to avoid needing to maintain state
624
+ if (!lst)
625
+ pos = wfblk(w, pos, et);
626
+ }
627
+ return slc(o, 0, pre + shft(pos) + post);
628
+ };
629
+ // Alder32
630
+ var adler = function () {
631
+ var a = 1, b = 0;
632
+ return {
633
+ p: function (d) {
634
+ // closures have awful performance
635
+ var n = a, m = b;
636
+ var l = d.length;
637
+ for (var i = 0; i != l;) {
638
+ var e = Math.min(i + 5552, l);
639
+ for (; i < e; ++i)
640
+ n += d[i], m += n;
641
+ n %= 65521, m %= 65521;
642
+ }
643
+ a = n, b = m;
644
+ },
645
+ d: function () { return ((a >>> 8) << 16 | (b & 255) << 8 | (b >>> 8)) + ((a & 255) << 23) * 2; }
646
+ };
647
+ };
648
+ // deflate with opts
649
+ var dopt = function (dat, opt, pre, post, st) {
650
+ return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : (12 + opt.mem), pre, post, !st);
651
+ };
652
+ // write bytes
653
+ var wbytes = function (d, b, v) {
654
+ for (; v; ++b)
655
+ d[b] = v, v >>>= 8;
656
+ };
657
+ // zlib header
658
+ var zlh = function (c, o) {
659
+ var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;
660
+ c[0] = 120, c[1] = (fl << 6) | (fl ? (32 - 2 * fl) : 1);
661
+ };
662
+ /**
663
+ * Compress data with Zlib
664
+ * @param data The data to compress
665
+ * @param opts The compression options
666
+ * @returns The zlib-compressed version of the data
667
+ */
668
+ function zlibSync(data, opts) {
669
+ if (opts === void 0) { opts = {}; }
670
+ var a = adler();
671
+ a.p(data);
672
+ var d = dopt(data, opts, 2, 4);
673
+ return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;
674
+ }
675
+ /**
676
+ * Converts a string into a Uint8Array for use with compression/decompression methods
677
+ * @param str The string to encode
678
+ * @param latin1 Whether or not to interpret the data as Latin-1. This should
679
+ * not need to be true unless decoding a binary string.
680
+ * @returns The string encoded in UTF-8/Latin-1 binary
681
+ */
682
+ function strToU8(str, latin1) {
683
+ var l = str.length;
684
+ if (!latin1 && typeof TextEncoder != 'undefined')
685
+ return new TextEncoder().encode(str);
686
+ var ar = new u8(str.length + (str.length >>> 1));
687
+ var ai = 0;
688
+ var w = function (v) { ar[ai++] = v; };
689
+ for (var i = 0; i < l; ++i) {
690
+ if (ai + 5 > ar.length) {
691
+ var n = new u8(ai + 8 + ((l - i) << 1));
692
+ n.set(ar);
693
+ ar = n;
694
+ }
695
+ var c = str.charCodeAt(i);
696
+ if (c < 128 || latin1)
697
+ w(c);
698
+ else if (c < 2048)
699
+ w(192 | (c >>> 6)), w(128 | (c & 63));
700
+ else if (c > 55295 && c < 57344)
701
+ c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),
702
+ w(240 | (c >>> 18)), w(128 | ((c >>> 12) & 63)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));
703
+ else
704
+ w(224 | (c >>> 12)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));
705
+ }
706
+ return slc(ar, 0, ai);
707
+ }
708
+ /**
709
+ * Converts a Uint8Array to a string
710
+ * @param dat The data to decode to string
711
+ * @param latin1 Whether or not to interpret the data as Latin-1. This should
712
+ * not need to be true unless encoding to binary string.
713
+ * @returns The original UTF-8/Latin-1 string
714
+ */
715
+ function strFromU8(dat, latin1) {
716
+ var r = '';
717
+ if (!latin1 && typeof TextDecoder != 'undefined')
718
+ return new TextDecoder().decode(dat);
719
+ for (var i = 0; i < dat.length;) {
720
+ var c = dat[i++];
721
+ if (c < 128 || latin1)
722
+ r += String.fromCharCode(c);
723
+ else if (c < 224)
724
+ r += String.fromCharCode((c & 31) << 6 | (dat[i++] & 63));
725
+ else if (c < 240)
726
+ r += String.fromCharCode((c & 15) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63));
727
+ else
728
+ c = ((c & 15) << 18 | (dat[i++] & 63) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63)) - 65536,
729
+ r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));
730
+ }
731
+ return r;
732
+ }
733
+
734
+ var MARK = 'v1';
735
+
736
+ var pack = function (event) {
737
+ var _e = __assign(__assign({}, event), { v: MARK });
738
+ return strFromU8(zlibSync(strToU8(JSON.stringify(_e))), true);
739
+ };
740
+
741
+ exports.pack = pack;
742
+
743
+ Object.defineProperty(exports, '__esModule', { value: true });
744
+
745
+ return exports;
746
+
747
+ }({}));