cross-image 0.1.2 → 0.1.4

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 (82) hide show
  1. package/README.md +35 -520
  2. package/esm/src/formats/ascii.d.ts +11 -0
  3. package/esm/src/formats/ascii.js +14 -0
  4. package/esm/src/formats/bmp.d.ts +17 -0
  5. package/esm/src/formats/bmp.js +20 -0
  6. package/esm/src/formats/gif.d.ts +21 -0
  7. package/esm/src/formats/gif.js +26 -0
  8. package/esm/src/formats/jpeg.d.ts +17 -0
  9. package/esm/src/formats/jpeg.js +20 -0
  10. package/esm/src/formats/png.d.ts +17 -0
  11. package/esm/src/formats/png.js +20 -0
  12. package/esm/src/formats/raw.d.ts +17 -0
  13. package/esm/src/formats/raw.js +20 -0
  14. package/esm/src/formats/tiff.d.ts +16 -0
  15. package/esm/src/formats/tiff.js +37 -12
  16. package/esm/src/formats/webp.d.ts +18 -0
  17. package/esm/src/formats/webp.js +21 -0
  18. package/esm/src/image.js +5 -0
  19. package/esm/src/utils/security.d.ts +28 -0
  20. package/esm/src/utils/security.js +48 -0
  21. package/esm/src/utils/webp_decoder.js +3 -0
  22. package/package.json +1 -4
  23. package/script/src/formats/ascii.d.ts +11 -0
  24. package/script/src/formats/ascii.js +14 -0
  25. package/script/src/formats/bmp.d.ts +17 -0
  26. package/script/src/formats/bmp.js +20 -0
  27. package/script/src/formats/gif.d.ts +21 -0
  28. package/script/src/formats/gif.js +26 -0
  29. package/script/src/formats/jpeg.d.ts +17 -0
  30. package/script/src/formats/jpeg.js +20 -0
  31. package/script/src/formats/png.d.ts +17 -0
  32. package/script/src/formats/png.js +20 -0
  33. package/script/src/formats/raw.d.ts +17 -0
  34. package/script/src/formats/raw.js +20 -0
  35. package/script/src/formats/tiff.d.ts +16 -0
  36. package/script/src/formats/tiff.js +37 -12
  37. package/script/src/formats/webp.d.ts +18 -0
  38. package/script/src/formats/webp.js +21 -0
  39. package/script/src/image.js +5 -0
  40. package/script/src/utils/security.d.ts +28 -0
  41. package/script/src/utils/security.js +53 -0
  42. package/script/src/utils/webp_decoder.js +3 -0
  43. package/esm/mod.d.ts.map +0 -1
  44. package/esm/src/formats/ascii.d.ts.map +0 -1
  45. package/esm/src/formats/bmp.d.ts.map +0 -1
  46. package/esm/src/formats/gif.d.ts.map +0 -1
  47. package/esm/src/formats/jpeg.d.ts.map +0 -1
  48. package/esm/src/formats/png.d.ts.map +0 -1
  49. package/esm/src/formats/raw.d.ts.map +0 -1
  50. package/esm/src/formats/tiff.d.ts.map +0 -1
  51. package/esm/src/formats/webp.d.ts.map +0 -1
  52. package/esm/src/image.d.ts.map +0 -1
  53. package/esm/src/types.d.ts.map +0 -1
  54. package/esm/src/utils/gif_decoder.d.ts.map +0 -1
  55. package/esm/src/utils/gif_encoder.d.ts.map +0 -1
  56. package/esm/src/utils/jpeg_decoder.d.ts.map +0 -1
  57. package/esm/src/utils/jpeg_encoder.d.ts.map +0 -1
  58. package/esm/src/utils/lzw.d.ts.map +0 -1
  59. package/esm/src/utils/resize.d.ts.map +0 -1
  60. package/esm/src/utils/tiff_lzw.d.ts.map +0 -1
  61. package/esm/src/utils/webp_decoder.d.ts.map +0 -1
  62. package/esm/src/utils/webp_encoder.d.ts.map +0 -1
  63. package/script/mod.d.ts.map +0 -1
  64. package/script/src/formats/ascii.d.ts.map +0 -1
  65. package/script/src/formats/bmp.d.ts.map +0 -1
  66. package/script/src/formats/gif.d.ts.map +0 -1
  67. package/script/src/formats/jpeg.d.ts.map +0 -1
  68. package/script/src/formats/png.d.ts.map +0 -1
  69. package/script/src/formats/raw.d.ts.map +0 -1
  70. package/script/src/formats/tiff.d.ts.map +0 -1
  71. package/script/src/formats/webp.d.ts.map +0 -1
  72. package/script/src/image.d.ts.map +0 -1
  73. package/script/src/types.d.ts.map +0 -1
  74. package/script/src/utils/gif_decoder.d.ts.map +0 -1
  75. package/script/src/utils/gif_encoder.d.ts.map +0 -1
  76. package/script/src/utils/jpeg_decoder.d.ts.map +0 -1
  77. package/script/src/utils/jpeg_encoder.d.ts.map +0 -1
  78. package/script/src/utils/lzw.d.ts.map +0 -1
  79. package/script/src/utils/resize.d.ts.map +0 -1
  80. package/script/src/utils/tiff_lzw.d.ts.map +0 -1
  81. package/script/src/utils/webp_decoder.d.ts.map +0 -1
  82. package/script/src/utils/webp_encoder.d.ts.map +0 -1
@@ -10,12 +10,29 @@ import type { ImageData, ImageFormat } from "../types.js";
10
10
  * - RGBA pixel data (width * height * 4 bytes)
11
11
  */
12
12
  export declare class RAWFormat implements ImageFormat {
13
+ /** Format name identifier */
13
14
  readonly name = "raw";
15
+ /** MIME type for RAW images */
14
16
  readonly mimeType = "image/raw";
15
17
  private readonly MAGIC_BYTES;
16
18
  private readonly HEADER_SIZE;
19
+ /**
20
+ * Check if the given data is a RAW image
21
+ * @param data Raw image data to check
22
+ * @returns true if data has RAW signature
23
+ */
17
24
  canDecode(data: Uint8Array): boolean;
25
+ /**
26
+ * Decode RAW image data to RGBA
27
+ * @param data Raw RAW image data
28
+ * @returns Decoded image data with RGBA pixels
29
+ */
18
30
  decode(data: Uint8Array): Promise<ImageData>;
31
+ /**
32
+ * Encode RGBA image data to RAW format
33
+ * @param imageData Image data to encode
34
+ * @returns Encoded RAW image bytes
35
+ */
19
36
  encode(imageData: ImageData): Promise<Uint8Array>;
20
37
  private readUint32;
21
38
  private writeUint32;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RAWFormat = void 0;
4
+ const security_js_1 = require("../utils/security.js");
4
5
  /**
5
6
  * RAW format handler
6
7
  * Implements a simple uncompressed RGBA format with a minimal header
@@ -13,12 +14,14 @@ exports.RAWFormat = void 0;
13
14
  */
14
15
  class RAWFormat {
15
16
  constructor() {
17
+ /** Format name identifier */
16
18
  Object.defineProperty(this, "name", {
17
19
  enumerable: true,
18
20
  configurable: true,
19
21
  writable: true,
20
22
  value: "raw"
21
23
  });
24
+ /** MIME type for RAW images */
22
25
  Object.defineProperty(this, "mimeType", {
23
26
  enumerable: true,
24
27
  configurable: true,
@@ -38,6 +41,11 @@ class RAWFormat {
38
41
  value: 12
39
42
  }); // 4 bytes magic + 4 bytes width + 4 bytes height
40
43
  }
44
+ /**
45
+ * Check if the given data is a RAW image
46
+ * @param data Raw image data to check
47
+ * @returns true if data has RAW signature
48
+ */
41
49
  canDecode(data) {
42
50
  // Check if data has at least header size and matches magic bytes
43
51
  if (data.length < this.HEADER_SIZE) {
@@ -48,6 +56,11 @@ class RAWFormat {
48
56
  data[2] === this.MAGIC_BYTES[2] &&
49
57
  data[3] === this.MAGIC_BYTES[3];
50
58
  }
59
+ /**
60
+ * Decode RAW image data to RGBA
61
+ * @param data Raw RAW image data
62
+ * @returns Decoded image data with RGBA pixels
63
+ */
51
64
  decode(data) {
52
65
  if (!this.canDecode(data)) {
53
66
  throw new Error("Invalid RAW signature");
@@ -59,6 +72,8 @@ class RAWFormat {
59
72
  if (width <= 0 || height <= 0) {
60
73
  throw new Error(`Invalid RAW dimensions: ${width}x${height}`);
61
74
  }
75
+ // Validate dimensions for security (prevent integer overflow and heap exhaustion)
76
+ (0, security_js_1.validateImageDimensions)(width, height);
62
77
  const expectedDataLength = width * height * 4;
63
78
  const actualDataLength = data.length - this.HEADER_SIZE;
64
79
  if (actualDataLength !== expectedDataLength) {
@@ -69,6 +84,11 @@ class RAWFormat {
69
84
  pixelData.set(data.subarray(this.HEADER_SIZE));
70
85
  return Promise.resolve({ width, height, data: pixelData });
71
86
  }
87
+ /**
88
+ * Encode RGBA image data to RAW format
89
+ * @param imageData Image data to encode
90
+ * @returns Encoded RAW image bytes
91
+ */
72
92
  encode(imageData) {
73
93
  const { width, height, data } = imageData;
74
94
  // Validate input
@@ -14,10 +14,26 @@ export interface TIFFEncodeOptions {
14
14
  * Supports multi-page TIFF files.
15
15
  */
16
16
  export declare class TIFFFormat implements ImageFormat {
17
+ /** Format name identifier */
17
18
  readonly name = "tiff";
19
+ /** MIME type for TIFF images */
18
20
  readonly mimeType = "image/tiff";
21
+ /**
22
+ * Check if this format supports multiple frames (pages)
23
+ * @returns true for TIFF format
24
+ */
19
25
  supportsMultipleFrames(): boolean;
26
+ /**
27
+ * Check if the given data is a TIFF image
28
+ * @param data Raw image data to check
29
+ * @returns true if data has TIFF signature
30
+ */
20
31
  canDecode(data: Uint8Array): boolean;
32
+ /**
33
+ * Decode TIFF image data to RGBA (first page only)
34
+ * @param data Raw TIFF image data
35
+ * @returns Decoded image data with RGBA pixels of first page
36
+ */
21
37
  decode(data: Uint8Array): Promise<ImageData>;
22
38
  encode(imageData: ImageData, options?: unknown): Promise<Uint8Array>;
23
39
  /**
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TIFFFormat = void 0;
4
4
  const tiff_lzw_js_1 = require("../utils/tiff_lzw.js");
5
+ const security_js_1 = require("../utils/security.js");
5
6
  // Constants for unit conversions
6
7
  const DEFAULT_DPI = 72;
7
8
  /**
@@ -13,12 +14,14 @@ const DEFAULT_DPI = 72;
13
14
  */
14
15
  class TIFFFormat {
15
16
  constructor() {
17
+ /** Format name identifier */
16
18
  Object.defineProperty(this, "name", {
17
19
  enumerable: true,
18
20
  configurable: true,
19
21
  writable: true,
20
22
  value: "tiff"
21
23
  });
24
+ /** MIME type for TIFF images */
22
25
  Object.defineProperty(this, "mimeType", {
23
26
  enumerable: true,
24
27
  configurable: true,
@@ -26,9 +29,18 @@ class TIFFFormat {
26
29
  value: "image/tiff"
27
30
  });
28
31
  }
32
+ /**
33
+ * Check if this format supports multiple frames (pages)
34
+ * @returns true for TIFF format
35
+ */
29
36
  supportsMultipleFrames() {
30
37
  return true;
31
38
  }
39
+ /**
40
+ * Check if the given data is a TIFF image
41
+ * @param data Raw image data to check
42
+ * @returns true if data has TIFF signature
43
+ */
32
44
  canDecode(data) {
33
45
  // TIFF signature: "II" (little-endian) or "MM" (big-endian) followed by 42
34
46
  return data.length >= 4 &&
@@ -38,6 +50,11 @@ class TIFFFormat {
38
50
  data[3] === 0x2a) // "MM\0*"
39
51
  );
40
52
  }
53
+ /**
54
+ * Decode TIFF image data to RGBA (first page only)
55
+ * @param data Raw TIFF image data
56
+ * @returns Decoded image data with RGBA pixels of first page
57
+ */
41
58
  async decode(data) {
42
59
  if (!this.canDecode(data)) {
43
60
  throw new Error("Invalid TIFF signature");
@@ -147,7 +164,7 @@ class TIFFFormat {
147
164
  // IFD (Image File Directory)
148
165
  const ifdStart = result.length;
149
166
  // Count number of entries (including metadata)
150
- let numEntries = 11; // Base entries
167
+ let numEntries = 12; // Base entries (including ExtraSamples)
151
168
  if (metadata?.description)
152
169
  numEntries++;
153
170
  if (metadata?.author)
@@ -187,6 +204,8 @@ class TIFFFormat {
187
204
  const yResOffset = dataOffset;
188
205
  this.writeIFDEntry(result, 0x011b, 5, 1, yResOffset);
189
206
  dataOffset += 8;
207
+ // ExtraSamples (0x0152) - 2 = unassociated alpha
208
+ this.writeIFDEntry(result, 0x0152, 3, 1, 2);
190
209
  // Optional metadata entries
191
210
  if (metadata?.description) {
192
211
  const descBytes = new TextEncoder().encode(metadata.description + "\0");
@@ -213,6 +232,11 @@ class TIFFFormat {
213
232
  // Next IFD offset (0 = no more IFDs)
214
233
  this.writeUint32LE(result, 0);
215
234
  // Write variable-length data
235
+ // BitsPerSample values (must be written first to match offset calculation)
236
+ this.writeUint16LE(result, 8);
237
+ this.writeUint16LE(result, 8);
238
+ this.writeUint16LE(result, 8);
239
+ this.writeUint16LE(result, 8);
216
240
  // XResolution value (rational)
217
241
  const dpiX = metadata?.dpiX ?? DEFAULT_DPI;
218
242
  this.writeUint32LE(result, dpiX);
@@ -221,11 +245,6 @@ class TIFFFormat {
221
245
  const dpiY = metadata?.dpiY ?? DEFAULT_DPI;
222
246
  this.writeUint32LE(result, dpiY);
223
247
  this.writeUint32LE(result, 1);
224
- // BitsPerSample values
225
- this.writeUint16LE(result, 8);
226
- this.writeUint16LE(result, 8);
227
- this.writeUint16LE(result, 8);
228
- this.writeUint16LE(result, 8);
229
248
  // Write metadata strings
230
249
  if (metadata?.description) {
231
250
  const descBytes = new TextEncoder().encode(metadata.description + "\0");
@@ -361,7 +380,7 @@ class TIFFFormat {
361
380
  ifdOffsets.push(currentOffset);
362
381
  const ifdStart = result.length;
363
382
  // Count number of entries (including metadata only for first page)
364
- let numEntries = 11;
383
+ let numEntries = 12; // Base entries (including ExtraSamples)
365
384
  if (i === 0 && imageData.metadata) {
366
385
  if (imageData.metadata.description)
367
386
  numEntries++;
@@ -405,6 +424,8 @@ class TIFFFormat {
405
424
  const yResOffset = dataOffset;
406
425
  this.writeIFDEntry(result, 0x011b, 5, 1, yResOffset);
407
426
  dataOffset += 8;
427
+ // ExtraSamples (0x0152) - 2 = unassociated alpha
428
+ this.writeIFDEntry(result, 0x0152, 3, 1, 2);
408
429
  // Metadata (only for first page)
409
430
  if (i === 0 && imageData.metadata) {
410
431
  if (imageData.metadata.description) {
@@ -435,6 +456,11 @@ class TIFFFormat {
435
456
  this.writeUint32LE(result, nextIFDOffset);
436
457
  currentOffset = dataOffset;
437
458
  // Write variable-length data
459
+ // BitsPerSample values (must be written first to match offset calculation)
460
+ this.writeUint16LE(result, 8);
461
+ this.writeUint16LE(result, 8);
462
+ this.writeUint16LE(result, 8);
463
+ this.writeUint16LE(result, 8);
438
464
  // XResolution value (rational)
439
465
  const dpiX = (i === 0 && imageData.metadata?.dpiX) ||
440
466
  DEFAULT_DPI;
@@ -445,11 +471,6 @@ class TIFFFormat {
445
471
  DEFAULT_DPI;
446
472
  this.writeUint32LE(result, dpiY);
447
473
  this.writeUint32LE(result, 1);
448
- // BitsPerSample values
449
- this.writeUint16LE(result, 8);
450
- this.writeUint16LE(result, 8);
451
- this.writeUint16LE(result, 8);
452
- this.writeUint16LE(result, 8);
453
474
  // Write metadata strings (only for first page)
454
475
  if (i === 0 && imageData.metadata) {
455
476
  if (imageData.metadata.description) {
@@ -710,6 +731,8 @@ class TIFFFormat {
710
731
  // Uncompressed
711
732
  pixelData = data.slice(stripOffset, stripOffset + stripByteCount);
712
733
  }
734
+ // Validate dimensions for security (prevent integer overflow and heap exhaustion)
735
+ (0, security_js_1.validateImageDimensions)(width, height);
713
736
  // Convert to RGBA
714
737
  const rgba = new Uint8Array(width * height * 4);
715
738
  let srcPos = 0;
@@ -773,6 +796,8 @@ class TIFFFormat {
773
796
  // Uncompressed
774
797
  pixelData = data.slice(stripOffset, stripOffset + stripByteCount);
775
798
  }
799
+ // Validate dimensions for security (prevent integer overflow and heap exhaustion)
800
+ (0, security_js_1.validateImageDimensions)(width, height);
776
801
  // Convert to RGBA
777
802
  const rgba = new Uint8Array(width * height * 4);
778
803
  let srcPos = 0;
@@ -4,10 +4,28 @@ import type { ImageData, ImageFormat, WebPEncodeOptions } from "../types.js";
4
4
  * Implements a basic WebP decoder and encoder
5
5
  */
6
6
  export declare class WebPFormat implements ImageFormat {
7
+ /** Format name identifier */
7
8
  readonly name = "webp";
9
+ /** MIME type for WebP images */
8
10
  readonly mimeType = "image/webp";
11
+ /**
12
+ * Check if the given data is a WebP image
13
+ * @param data Raw image data to check
14
+ * @returns true if data has WebP signature
15
+ */
9
16
  canDecode(data: Uint8Array): boolean;
17
+ /**
18
+ * Decode WebP image data to RGBA
19
+ * @param data Raw WebP image data
20
+ * @returns Decoded image data with RGBA pixels
21
+ */
10
22
  decode(data: Uint8Array): Promise<ImageData>;
23
+ /**
24
+ * Encode RGBA image data to WebP format
25
+ * @param imageData Image data to encode
26
+ * @param options Optional WebP encoding options
27
+ * @returns Encoded WebP image bytes
28
+ */
11
29
  encode(imageData: ImageData, options?: WebPEncodeOptions): Promise<Uint8Array>;
12
30
  private readUint32LE;
13
31
  private readUint24LE;
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.WebPFormat = void 0;
37
+ const security_js_1 = require("../utils/security.js");
37
38
  // Default quality for WebP encoding when not specified
38
39
  const DEFAULT_WEBP_QUALITY = 90;
39
40
  /**
@@ -42,12 +43,14 @@ const DEFAULT_WEBP_QUALITY = 90;
42
43
  */
43
44
  class WebPFormat {
44
45
  constructor() {
46
+ /** Format name identifier */
45
47
  Object.defineProperty(this, "name", {
46
48
  enumerable: true,
47
49
  configurable: true,
48
50
  writable: true,
49
51
  value: "webp"
50
52
  });
53
+ /** MIME type for WebP images */
51
54
  Object.defineProperty(this, "mimeType", {
52
55
  enumerable: true,
53
56
  configurable: true,
@@ -55,6 +58,11 @@ class WebPFormat {
55
58
  value: "image/webp"
56
59
  });
57
60
  }
61
+ /**
62
+ * Check if the given data is a WebP image
63
+ * @param data Raw image data to check
64
+ * @returns true if data has WebP signature
65
+ */
58
66
  canDecode(data) {
59
67
  // WebP signature: "RIFF" + size + "WEBP"
60
68
  return data.length >= 12 &&
@@ -63,6 +71,11 @@ class WebPFormat {
63
71
  data[8] === 0x57 && data[9] === 0x45 && // "WE"
64
72
  data[10] === 0x42 && data[11] === 0x50; // "BP"
65
73
  }
74
+ /**
75
+ * Decode WebP image data to RGBA
76
+ * @param data Raw WebP image data
77
+ * @returns Decoded image data with RGBA pixels
78
+ */
66
79
  async decode(data) {
67
80
  if (!this.canDecode(data)) {
68
81
  throw new Error("Invalid WebP signature");
@@ -125,6 +138,8 @@ class WebPFormat {
125
138
  if (width === 0 || height === 0) {
126
139
  throw new Error("Could not determine WebP dimensions");
127
140
  }
141
+ // Validate dimensions for security (prevent integer overflow and heap exhaustion)
142
+ (0, security_js_1.validateImageDimensions)(width, height);
128
143
  // For a pure JS implementation, we'd need to implement full WebP decoding
129
144
  // which is very complex. Instead, we'll use the browser/runtime's decoder.
130
145
  const rgba = await this.decodeUsingRuntime(data, width, height);
@@ -135,6 +150,12 @@ class WebPFormat {
135
150
  metadata: Object.keys(metadata).length > 0 ? metadata : undefined,
136
151
  };
137
152
  }
153
+ /**
154
+ * Encode RGBA image data to WebP format
155
+ * @param imageData Image data to encode
156
+ * @param options Optional WebP encoding options
157
+ * @returns Encoded WebP image bytes
158
+ */
138
159
  async encode(imageData, options) {
139
160
  const { width, height, data, metadata } = imageData;
140
161
  const quality = options?.quality ?? DEFAULT_WEBP_QUALITY;
@@ -10,6 +10,7 @@ const tiff_js_1 = require("./formats/tiff.js");
10
10
  const bmp_js_1 = require("./formats/bmp.js");
11
11
  const raw_js_1 = require("./formats/raw.js");
12
12
  const ascii_js_1 = require("./formats/ascii.js");
13
+ const security_js_1 = require("./utils/security.js");
13
14
  /**
14
15
  * Main Image class for reading, manipulating, and saving images
15
16
  */
@@ -224,6 +225,8 @@ class Image {
224
225
  * @returns Image instance
225
226
  */
226
227
  static fromRGBA(width, height, data) {
228
+ // Validate dimensions for security (prevent integer overflow and heap exhaustion)
229
+ (0, security_js_1.validateImageDimensions)(width, height);
227
230
  if (data.length !== width * height * 4) {
228
231
  throw new Error(`Data length mismatch: expected ${width * height * 4}, got ${data.length}`);
229
232
  }
@@ -240,6 +243,8 @@ class Image {
240
243
  if (!this.imageData)
241
244
  throw new Error("No image loaded");
242
245
  const { width, height, method = "bilinear" } = options;
246
+ // Validate new dimensions for security (prevent integer overflow and heap exhaustion)
247
+ (0, security_js_1.validateImageDimensions)(width, height);
243
248
  const { data: srcData, width: srcWidth, height: srcHeight } = this.imageData;
244
249
  let resizedData;
245
250
  if (method === "nearest") {
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Security utilities for image processing
3
+ * Prevents integer overflow, heap exhaustion, and decompression bombs
4
+ */
5
+ /**
6
+ * Maximum safe image dimensions
7
+ * These limits prevent integer overflow and heap exhaustion attacks
8
+ */
9
+ export declare const MAX_IMAGE_DIMENSION = 65535;
10
+ export declare const MAX_IMAGE_PIXELS = 178956970;
11
+ /**
12
+ * Validates image dimensions to prevent security vulnerabilities
13
+ *
14
+ * @param width Image width in pixels
15
+ * @param height Image height in pixels
16
+ * @throws Error if dimensions are invalid or unsafe
17
+ */
18
+ export declare function validateImageDimensions(width: number, height: number): void;
19
+ /**
20
+ * Safely calculates buffer size for RGBA image data
21
+ *
22
+ * @param width Image width in pixels
23
+ * @param height Image height in pixels
24
+ * @returns Buffer size in bytes (width * height * 4)
25
+ * @throws Error if calculation would overflow
26
+ */
27
+ export declare function calculateBufferSize(width: number, height: number): number;
28
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * Security utilities for image processing
4
+ * Prevents integer overflow, heap exhaustion, and decompression bombs
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.MAX_IMAGE_PIXELS = exports.MAX_IMAGE_DIMENSION = void 0;
8
+ exports.validateImageDimensions = validateImageDimensions;
9
+ exports.calculateBufferSize = calculateBufferSize;
10
+ /**
11
+ * Maximum safe image dimensions
12
+ * These limits prevent integer overflow and heap exhaustion attacks
13
+ */
14
+ exports.MAX_IMAGE_DIMENSION = 65535; // 2^16 - 1 (reasonable for most use cases)
15
+ exports.MAX_IMAGE_PIXELS = 178956970; // ~179 megapixels (fits safely in memory)
16
+ /**
17
+ * Validates image dimensions to prevent security vulnerabilities
18
+ *
19
+ * @param width Image width in pixels
20
+ * @param height Image height in pixels
21
+ * @throws Error if dimensions are invalid or unsafe
22
+ */
23
+ function validateImageDimensions(width, height) {
24
+ // Check for negative or zero dimensions
25
+ if (width <= 0 || height <= 0) {
26
+ throw new Error(`Invalid image dimensions: ${width}x${height} (dimensions must be positive)`);
27
+ }
28
+ // Check if dimensions are integers
29
+ if (!Number.isInteger(width) || !Number.isInteger(height)) {
30
+ throw new Error(`Invalid image dimensions: ${width}x${height} (dimensions must be integers)`);
31
+ }
32
+ // Check individual dimension limits
33
+ if (width > exports.MAX_IMAGE_DIMENSION || height > exports.MAX_IMAGE_DIMENSION) {
34
+ throw new Error(`Image dimensions too large: ${width}x${height} (maximum ${exports.MAX_IMAGE_DIMENSION}x${exports.MAX_IMAGE_DIMENSION})`);
35
+ }
36
+ // Check total pixel count to prevent excessive memory allocation
37
+ const pixelCount = width * height;
38
+ if (pixelCount > exports.MAX_IMAGE_PIXELS) {
39
+ throw new Error(`Image size too large: ${width}x${height} (${pixelCount} pixels exceeds maximum ${exports.MAX_IMAGE_PIXELS})`);
40
+ }
41
+ }
42
+ /**
43
+ * Safely calculates buffer size for RGBA image data
44
+ *
45
+ * @param width Image width in pixels
46
+ * @param height Image height in pixels
47
+ * @returns Buffer size in bytes (width * height * 4)
48
+ * @throws Error if calculation would overflow
49
+ */
50
+ function calculateBufferSize(width, height) {
51
+ validateImageDimensions(width, height);
52
+ return width * height * 4;
53
+ }
@@ -22,6 +22,7 @@
22
22
  */
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.WebPDecoder = void 0;
25
+ const security_js_1 = require("./security.js");
25
26
  // Helper to read little-endian values
26
27
  function readUint24LE(data, offset) {
27
28
  return data[offset] | (data[offset + 1] << 8) | (data[offset + 2] << 16);
@@ -255,6 +256,8 @@ class WebPDecoder {
255
256
  }
256
257
  // Read Huffman codes
257
258
  const huffmanTables = this.readHuffmanCodes(reader, useColorCache, colorCacheBits);
259
+ // Validate dimensions for security (prevent integer overflow and heap exhaustion)
260
+ (0, security_js_1.validateImageDimensions)(width, height);
258
261
  // Decode the image using Huffman codes
259
262
  const pixelData = new Uint8Array(width * height * 4);
260
263
  let pixelIndex = 0;
package/esm/mod.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,YAAY,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ascii.d.ts","sourceRoot":"","sources":["../../../src/src/formats/ascii.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,QAAQ,gBAAgB;IAEjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAOzB;IAGH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAOvB;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAcpC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA+D5C,MAAM,CACJ,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,UAAU,CAAC;IAoDtB;;OAEG;IACH,OAAO,CAAC,YAAY;CA6BrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bmp.d.ts","sourceRoot":"","sources":["../../../src/src/formats/bmp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AAKzE;;;GAGG;AACH,qBAAa,SAAU,YAAW,WAAW;IAC3C,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,QAAQ,eAAe;IAEhC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAMpC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAwF5C,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA8DjD,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;CAGrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gif.d.ts","sourceRoot":"","sources":["../../../src/src/formats/gif.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAEX,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAIrB;;;;;;;;;;;GAWG;AACH,qBAAa,SAAU,YAAW,WAAW;IAC3C,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,QAAQ,eAAe;IAEhC,sBAAsB,IAAI,OAAO;IAIjC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAS9B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA2ClD,OAAO,CAAC,eAAe;IAwDjB,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAyDvD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkC5D;;;OAGG;IACH,YAAY,CACV,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,UAAU,CAAC;IAkBtB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,YAAY;YAIN,kBAAkB;IAqChC,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,cAAc;IAqDtB,OAAO,CAAC,iBAAiB;CAY1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jpeg.d.ts","sourceRoot":"","sources":["../../../src/src/formats/jpeg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AAKzE;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC5C,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,gBAAgB;IAEjC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAM9B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA2E5C,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAgDvD,OAAO,CAAC,cAAc;YA+CR,kBAAkB;IAgDhC,OAAO,CAAC,SAAS;IAkCjB,OAAO,CAAC,SAAS;IAyIjB,OAAO,CAAC,cAAc;CAgHvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"png.d.ts","sourceRoot":"","sources":["../../../src/src/formats/png.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AAKzE;;;GAGG;AACH,qBAAa,SAAU,YAAW,WAAW;IAC3C,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,QAAQ,eAAe;IAEhC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAS9B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA+E5C,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAuGvD,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,iBAAiB;YAgBX,OAAO;YAQP,OAAO;IAQrB,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,cAAc;IA4CtB,OAAO,CAAC,cAAc;IAmEtB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,eAAe;CAkFxB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../../src/src/formats/raw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D;;;;;;;;;GASG;AACH,qBAAa,SAAU,YAAW,WAAW;IAC3C,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,QAAQ,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;IAElC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAYpC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA8B5C,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA4BjD,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;CAMpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiff.d.ts","sourceRoot":"","sources":["../../../src/src/formats/tiff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAEX,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAMrB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC5C,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,gBAAgB;IAEjC,sBAAsB,IAAI,OAAO;IAIjC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAW9B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA4IlD,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IA2LpE;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgFlE;;OAEG;IACH,YAAY,CACV,SAAS,EAAE,mBAAmB,EAC9B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,UAAU,CAAC;IAyOtB;;OAEG;YACW,UAAU;IA4BxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyG9B,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,WAAW;YAoCL,kBAAkB;IA8ChC,OAAO,CAAC,UAAU;IAMlB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiHpB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAuG5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webp.d.ts","sourceRoot":"","sources":["../../../src/src/formats/webp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAEX,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAKrB;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC5C,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,gBAAgB;IAEjC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAS9B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAmF5C,MAAM,CACV,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,CAAC;IAsDtB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,YAAY;YAIN,kBAAkB;IAiDhC,OAAO,CAAC,SAAS;IA+DjB,OAAO,CAAC,QAAQ;IA6BhB,OAAO,CAAC,cAAc;IAuFtB,OAAO,CAAC,eAAe;IAyDvB,OAAO,CAAC,cAAc;IAoDtB,OAAO,CAAC,SAAS;CAQlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/src/image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,aAAa,EACd,MAAM,YAAY,CAAC;AAWpB;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,MAAM,CAAC,OAAO,CASpB;IAEF;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAGlB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAGnB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,UAAU,CAGrB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,aAAa,GAAG,SAAS,CAGxC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,UAAO,GAAG,IAAI;IAmBxD;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,MAAM,aAAa,EAC5C,GAAG,EAAE,CAAC,GACL,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS;IAK/B;;;OAGG;IACH,WAAW,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAWlE;;;;OAIG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAItD;;;OAGG;IACH,aAAa,IAAI;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,SAAS;IAgBb;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAezC;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIhD;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,SAAS,WAAW,EAAE;IAI3C;;;;;OAKG;WACU,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAuBpE;;;;;OAKG;WACU,UAAU,CACrB,IAAI,EAAE,UAAU,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC;IAqB/B;;;;;;OAMG;WACU,UAAU,CACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,mBAAmB,EAC9B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,UAAU,CAAC;IAgBtB;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,KAAK;IAcvE;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAqCpC;;;;;OAKG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAWlE;;;OAGG;IACH,KAAK,IAAI,KAAK;CAmBf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gif_decoder.d.ts","sourceRoot":"","sources":["../../../src/src/utils/gif_decoder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,GAAG,CAAS;gBAER,IAAI,EAAE,UAAU;IAK5B,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,iBAAiB;IAWzB,MAAM,IAAI,QAAQ;IAwHlB;;;OAGG;IACH,eAAe,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,QAAQ,EAAE,CAAC;KACpB;IA0KD,OAAO,CAAC,aAAa;IAwErB,OAAO,CAAC,WAAW;CA0BpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gif_encoder.d.ts","sourceRoot":"","sources":["../../../src/src/utils/gif_encoder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAa;gBAEb,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAM3D,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,WAAW;IAMnB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,QAAQ;IA6GhB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;IAQvB,MAAM,IAAI,UAAU;CA+ErB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jpeg_decoder.d.ts","sourceRoot":"","sources":["../../../src/src/utils/jpeg_decoder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkGH,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,QAAQ,CAAa;gBAEjB,IAAI,EAAE,UAAU;IAI5B,MAAM,IAAI,UAAU;IAwDpB,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,QAAQ;IAgChB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,QAAQ;IAmChB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,UAAU;IAiDlB,OAAO,CAAC,WAAW;IAiDnB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,OAAO;IA2Bf,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,IAAI;IAqCZ,OAAO,CAAC,YAAY;CAsGrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jpeg_encoder.d.ts","sourceRoot":"","sources":["../../../src/src/utils/jpeg_encoder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgrBH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,oBAAoB,CAAgB;gBAEhC,OAAO,GAAE,MAAW;IAMhC,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,iBAAiB;IAqBzB,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,EAChB,IAAI,SAAK,EACT,IAAI,SAAK,GACR,UAAU;IAiCb,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,QAAQ;IAkChB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,UAAU;IA2ElB,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,QAAQ;IAsBhB,OAAO,CAAC,QAAQ;CAqCjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"lzw.d.ts","sourceRoot":"","sources":["../../../src/src/utils/lzw.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAS;gBAEb,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAejD,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,QAAQ;IAqBhB,UAAU,IAAI,UAAU;CA0DzB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;gBAEb,WAAW,EAAE,MAAM;IAa/B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,SAAS;IAWjB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;CA4DvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../../src/src/utils/resize.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,UAAU,CAgCZ;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,UAAU,CAoBZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiff_lzw.d.ts","sourceRoot":"","sources":["../../../src/src/utils/tiff_lzw.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,QAAQ,CAAO;gBAEX,IAAI,EAAE,UAAU;IAS5B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,QAAQ;IA2BhB,UAAU,IAAI,UAAU;CA2EzB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,QAAQ,CAAO;;IAWvB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,SAAS;IAejB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;CAoEvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webp_decoder.d.ts","sourceRoot":"","sources":["../../../src/src/utils/webp_decoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAsHH,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,MAAM,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE;IAgE7D,OAAO,CAAC,UAAU;IA+BlB,OAAO,CAAC,eAAe;IAqHvB,OAAO,CAAC,gBAAgB;IAqDxB,OAAO,CAAC,eAAe;IA0CvB,OAAO,CAAC,eAAe;IAkEvB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,WAAW;CASpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webp_encoder.d.ts","sourceRoot":"","sources":["../../../src/src/utils/webp_encoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AA2DH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,OAAO,CAAS;gBAEZ,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAO3D,MAAM,CAAC,OAAO,GAAE,MAAY,GAAG,UAAU;IAmDzC,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,eAAe;IAUvB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAwCzB,OAAO,CAAC,eAAe;IA8EvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB,OAAO,CAAC,sBAAsB;IA4B9B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAoF5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8D5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CA6GhC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,YAAY,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ascii.d.ts","sourceRoot":"","sources":["../../../src/src/formats/ascii.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExE;;;;;;;;;;;GAWG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,QAAQ,gBAAgB;IAEjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAOzB;IAGH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAOvB;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAcpC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA+D5C,MAAM,CACJ,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,UAAU,CAAC;IAoDtB;;OAEG;IACH,OAAO,CAAC,YAAY;CA6BrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bmp.d.ts","sourceRoot":"","sources":["../../../src/src/formats/bmp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AAKzE;;;GAGG;AACH,qBAAa,SAAU,YAAW,WAAW;IAC3C,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,QAAQ,eAAe;IAEhC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAMpC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAwF5C,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA8DjD,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;CAGrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gif.d.ts","sourceRoot":"","sources":["../../../src/src/formats/gif.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAEX,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAIrB;;;;;;;;;;;GAWG;AACH,qBAAa,SAAU,YAAW,WAAW;IAC3C,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,QAAQ,eAAe;IAEhC,sBAAsB,IAAI,OAAO;IAIjC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAS9B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA2ClD,OAAO,CAAC,eAAe;IAwDjB,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAyDvD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAkC5D;;;OAGG;IACH,YAAY,CACV,SAAS,EAAE,mBAAmB,EAC9B,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,UAAU,CAAC;IAkBtB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,YAAY;YAIN,kBAAkB;IAqChC,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,cAAc;IAqDtB,OAAO,CAAC,iBAAiB;CAY1B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jpeg.d.ts","sourceRoot":"","sources":["../../../src/src/formats/jpeg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AAKzE;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC5C,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,gBAAgB;IAEjC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAM9B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA2E5C,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAgDvD,OAAO,CAAC,cAAc;YA+CR,kBAAkB;IAgDhC,OAAO,CAAC,SAAS;IAkCjB,OAAO,CAAC,SAAS;IAyIjB,OAAO,CAAC,cAAc;CAgHvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"png.d.ts","sourceRoot":"","sources":["../../../src/src/formats/png.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAiB,MAAM,aAAa,CAAC;AAKzE;;;GAGG;AACH,qBAAa,SAAU,YAAW,WAAW;IAC3C,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,QAAQ,eAAe;IAEhC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAS9B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA+E5C,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAuGvD,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,iBAAiB;YAgBX,OAAO;YAQP,OAAO;IAQrB,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,KAAK;IAab,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,cAAc;IA4CtB,OAAO,CAAC,cAAc;IAmEtB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,eAAe;CAkFxB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"raw.d.ts","sourceRoot":"","sources":["../../../src/src/formats/raw.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D;;;;;;;;;GASG;AACH,qBAAa,SAAU,YAAW,WAAW;IAC3C,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,QAAQ,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;IAElC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAYpC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA8B5C,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA4BjD,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;CAMpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tiff.d.ts","sourceRoot":"","sources":["../../../src/src/formats/tiff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EAEX,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAMrB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,qBAAa,UAAW,YAAW,WAAW;IAC5C,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,QAAQ,gBAAgB;IAEjC,sBAAsB,IAAI,OAAO;IAIjC,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAW9B,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA4IlD,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IA2LpE;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgFlE;;OAEG;IACH,YAAY,CACV,SAAS,EAAE,mBAAmB,EAC9B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,UAAU,CAAC;IAyOtB;;OAEG;YACW,UAAU;IA4BxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyG9B,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,WAAW;YAoCL,kBAAkB;IA8ChC,OAAO,CAAC,UAAU;IAMlB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiHpB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAuG5B"}