securityos/node_modules/pdfjs-dist/legacy/image_decoders/pdf.image_decoders.js.map

1 line
859 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{"version":3,"file":"pdf.image_decoders.js","mappings":"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","sources":["webpack://pdfjs-dist/image_decoders/pdf.image_decoders/webpack/universalModuleDefinition","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/shared/util.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.error.cause.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/function-call.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/function-bind-native.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/function-uncurry-this.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-null-or-undefined.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-property-key.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-callable.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/document-all.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-symbol.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-is-prototype-of.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/symbol-constructor-detection.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/get-method.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/a-callable.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/try-to-string.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/define-global-property.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/has-own-property.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/define-built-in.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/make-built-in.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/function-name.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/weak-map-basic-detection.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/math-trunc.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/length-of-array-like.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/function-apply.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/proxy-accessor.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/normalize-string-argument.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-string.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/install-error-cause.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/error-stack-install.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/error-stack-clear.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/error-stack-installable.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/web.url-search-params.delete.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/validate-arguments-length.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/web.url-search-params.has.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/web.url-search-params.size.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/define-built-in-accessor.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.array.push.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-set-length.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-array.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.typed-array.find-last.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-buffer-view-core.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-iteration-from-last.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.typed-array.find-last-index.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.typed-array.set.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-offset.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-positive-integer.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.typed-array.to-reversed.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-to-reversed.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.typed-array.to-sorted.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/es.typed-array.with.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-with.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/is-big-int-array.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-big-int.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/esnext.array-buffer.detached.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-buffer-is-detached.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-buffer-byte-length.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/esnext.array-buffer.transfer.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/array-buffer-transfer.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/to-index.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/structured-clone-proper-transfer.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/engine-is-browser.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/engine-is-deno.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/engine-is-node.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/jbig2.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/core_utils.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/esnext.set.difference.v2.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-difference.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/a-set.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-helpers.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-clone.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-iterate.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/iterate-simple.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-size.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/get-set-record.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/get-iterator-direct.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-method-accept-set-like.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/esnext.set.intersection.v2.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-intersection.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-is-disjoint-from.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/iterator-close.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-is-subset-of.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-is-superset-of.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-symmetric-difference.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/modules/esnext.set.union.v2.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/node_modules/core-js/internals/set-union.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/primitives.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/base_stream.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/arithmetic_decoder.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/ccitt.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/jpg.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/shared/image_utils.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/core/jpx.js","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/webpack/bootstrap","webpack://pdfjs-dist/image_decoders/pdf.image_decoders/src/pdf.image_decoders.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = root.pdfjsImageDecoders = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/image_decoders/pdf.image_decoders\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/image_decoders/pdf.image_decoders\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/image_decoders/pdf.image_decoders\"] = factory();\n})(globalThis, () => {\nreturn ","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6; // Ten megabytes.\n\n// Represent the percentage of the height of a single-line field over\n// the font size. Acrobat seems to use this value.\nconst LINE_FACTOR = 1.35;\nconst LINE_DESCENT_FACTOR = 0.35;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\n\n/**\n * Refer to the `WorkerTransport.getRenderingIntent`-method in the API, to see\n * how these flags are being used:\n * - ANY, DISPLAY, and PRINT are the normal rendering intents, note the\n * `PDFPageProxy.{render, getOperatorList, getAnnotations}`-methods.\n * - ANNOTATIONS_FORMS, ANNOTATIONS_STORAGE, ANNOTATIONS_DISABLE control which\n * annotations are rendered onto the canvas (i.e. by being included in the\n * operatorList), note the `PDFPageProxy.{render, getOperatorList}`-methods\n * and their `annotationMode`-option.\n * - OPLIST is used with the `PDFPageProxy.getOperatorList`-method, note the\n * `OperatorList`-constructor (on the worker-thread).\n */\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100,\n};\n\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3,\n};\n\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\n\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n STAMP: 13,\n INK: 15,\n};\n\nconst AnnotationEditorParamsType = {\n RESIZE: 1,\n CREATE: 2,\n FREETEXT_SIZE: 11,\n FREETEXT_COLOR: 12,\n FREETEXT_OPACITY: 13,\n INK_COLOR: 21,\n INK_THICKNESS: 22,\n INK_OPACITY: 23,\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26,\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\n};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n // PLEASE NOTE: We purposely keep any removed operators commented out, since\n // re-numbering the list would risk breaking third-party users.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n // beginAnnotations: 78,\n // endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n // paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs use one of the allowed protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} [baseUrl] - An absolute URL.\n * @param {Object} [options]\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n // Let URLs beginning with \"www.\" default to using the \"http://\" protocol.\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n // Avoid accidentally matching a *relative* URL pointing to a file named\n // e.g. \"www.pdf\" or similar.\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see bug 1122280.\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value, nonSerializable = false) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n prop in obj,\n `shadow: Property \"${prop && prop.toString()}\" not found in object.`\n );\n }\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\n\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\nfunction string32(value) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n typeof value === \"number\" && Math.abs(value) < 2 ** 32,\n `string32: Unexpected input \"${value}\".`\n );\n }\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch {\n return false;\n }\n}\n\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n\n static get isOffscreenCanvasSupported() {\n return shadow(\n this,\n \"isOffscreenCanvasSupported\",\n typeof OffscreenCanvas !== \"undefined\"\n );\n }\n\n static get platform() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof navigator === \"undefined\"\n ) {\n return shadow(this, \"platform\", { isWin: false, isMac: false });\n }\n return shadow(this, \"platform\", {\n isWin: navigator.platform.includes(\"Win\"),\n isMac: navigator.platform.includes(\"Mac\"),\n });\n }\n\n static get isCSSRoundSupported() {\n return shadow(\n this,\n \"isCSSRoundSupported\",\n globalThis.CSS?.supports?.(\"width: round(1.5px, 1px)\")\n );\n }\n}\n\nconst hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n // Apply a scaling matrix to some min/max values.\n // If a scaling factor is negative then min and max must be\n // swaped.\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = this.applyTransform(r, m);\n const p2 = this.applyTransform(r.slice(2, 4), m);\n const p3 = this.applyTransform([r[0], r[3]], m);\n const p4 = this.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'null'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n const xLow = Math.max(\n Math.min(rect1[0], rect1[2]),\n Math.min(rect2[0], rect2[2])\n );\n const xHigh = Math.min(\n Math.max(rect1[0], rect1[2]),\n Math.max(rect2[0], rect2[2])\n );\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(\n Math.min(rect1[1], rect1[3]),\n Math.min(rect2[1], rect2[3])\n );\n const yHigh = Math.min(\n Math.max(rect1[1], rect1[3]),\n Math.max(rect2[1], rect2[3])\n );\n if (yLow > yHigh) {\n return null;\n }\n\n return [xLow, yLow, xHigh, yHigh];\n }\n\n // From https://github.com/adobe-webplatform/Snap.svg/blob/b365287722a72526000ac4bfcf0ce4cac2faa015/src/path.js#L852\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] =\n mt * mt * mt * x0 +\n 3 * mt * mt * t * x1 +\n 3 * mt * t * t * x2 +\n t * t * t * x3;\n bounds[1][j] =\n mt * mt * mt * y0 +\n 3 * mt * mt * t * y1 +\n 3 * mt * t * t * y2 +\n t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return [\n Math.min(...bounds[0]),\n Math.min(...bounds[1]),\n Math.max(...bounds[0]),\n Math.max(...bounds[1]),\n ];\n }\n}\n\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n // ISO Latin 1\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v?.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\n}\n\nclass PromiseCapability {\n #settled = false;\n\n constructor() {\n /**\n * @type {Promise<any>} The Promise object.\n */\n this.promise = new Promise((resolve, reject) => {\n /**\n * @type {function} Fulfills the Promise.\n */\n this.resolve = data => {\n this.#settled = true;\n resolve(data);\n };\n\n /**\n * @type {function} Rejects the Promise.\n */\n this.reject = reason => {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(reason instanceof Error, 'Expected valid \"reason\" argument.');\n }\n this.#settled = true;\n reject(reason);\n };\n });\n }\n\n /**\n * @type {boolean} If the Promise has been fulfilled/rejected.\n */\n get settled() {\n return this.#settled;\n }\n}\n\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n // In order to generate the following regex:\n // - create a PDF containing all the chars in the range 0000-FFFF with\n // a NFKC which is different of the char.\n // - copy and paste all those chars and get the ones where NFKC is\n // required.\n // It appears that most the chars here contain some ligatures.\n NormalizeRegex =\n /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => {\n return p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2);\n });\n}\n\nfunction getUuid() {\n if (\n (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (typeof crypto !== \"undefined\" && typeof crypto?.randomUUID === \"function\")\n ) {\n return crypto.randomUUID();\n }\n const buf = new Uint8Array(32);\n if (\n typeof crypto !== \"undefined\" &&\n typeof crypto?.getRandomValues === \"function\"\n ) {\n crypto.getRandomValues(buf);\n } else {\n for (let i = 0; i < 32; i++) {\n buf[i] = Math.floor(Math.random() * 255);\n }\n }\n return bytesToString(buf);\n}\n\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\n\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationEditorParamsType,\n AnnotationEditorPrefix,\n AnnotationEditorType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMode,\n AnnotationPrefix,\n AnnotationReplyType,\n AnnotationType,\n assert,\n BaseException,\n BASELINE_FACTOR,\n bytesToString,\n CMapCompressionType,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n FeatureTest,\n FONT_IDENTITY_MATRIX,\n FormatError,\n getModificationDate,\n getUuid,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isNodeJS,\n LINE_DESCENT_FACTOR,\n LINE_FACTOR,\n MAX_IMAGE_SIZE_TO_CACHE,\n MissingPDFException,\n normalizeUnicode,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n PromiseCapability,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\n};\n","'use strict';\n/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://tc39.es/ecma262/#sec-nativeerror\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.32.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.32.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `[email protected]`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar installErrorStack = require('../internals/error-stack-install');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n installErrorStack(result, WrappedError, result.stack, 2);\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2&b=3');\n\nparams['delete']('a', 1);\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nparams['delete']('b', undefined);\n\nif (params + '' !== 'a=2') {\n defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $delete(this, name);\n var entries = [];\n forEach(this, function (v, k) { // also validates `this`\n push(entries, { key: k, value: v });\n });\n validateArgumentsLength(length, 1);\n var key = toString(name);\n var value = toString($value);\n var index = 0;\n var dindex = 0;\n var found = false;\n var entriesLength = entries.length;\n var entry;\n while (index < entriesLength) {\n entry = entries[index++];\n if (found || entry.key === key) {\n found = true;\n $delete(this, entry.key);\n } else dindex++;\n }\n while (dindex < entriesLength) {\n entry = entries[dindex++];\n if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n }\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nif (params.has('a', 2) || !params.has('a', undefined)) {\n defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $has(this, name);\n var values = getAll(this, name); // also validates `this`\n validateArgumentsLength(length, 1);\n var value = toString($value);\n var index = 0;\n while (index < values.length) {\n if (values[index++] === value) return true;\n } return false;\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n var count = 0;\n forEach(this, function () { count++; });\n return count;\n },\n configurable: true,\n enumerable: true\n });\n}\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLast = require('../internals/array-iteration-from-last').findLast;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLast` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast\nexportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) {\n return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ findLast, findLastIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_FIND_LAST_INDEX = TYPE === 1;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var index = lengthOfArrayLike(self);\n var value, result;\n while (index-- > 0) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (result) switch (TYPE) {\n case 0: return value; // findLast\n case 1: return index; // findLastIndex\n }\n }\n return IS_FIND_LAST_INDEX ? -1 : undefined;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.findLast` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLast: createMethod(0),\n // `Array.prototype.findLastIndex` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLastIndex: createMethod(1)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLastIndex = require('../internals/array-iteration-from-last').findLastIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLastIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex\nexportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) {\n return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","'use strict';\nvar arrayToReversed = require('../internals/array-to-reversed');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// `%TypedArray%.prototype.toReversed` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed\nexportTypedArrayMethod('toReversed', function toReversed() {\n return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));\n});\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed\nmodule.exports = function (O, C) {\n var len = lengthOfArrayLike(O);\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = O[len - k - 1];\n return A;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);\n\n// `%TypedArray%.prototype.toSorted` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted\nexportTypedArrayMethod('toSorted', function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = aTypedArray(this);\n var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);\n return sort(A, compareFn);\n});\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list) {\n var index = 0;\n var length = lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar arrayWith = require('../internals/array-with');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar PROPER_ORDER = !!function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;\n return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);\n} }['with'], !PROPER_ORDER);\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with\nmodule.exports = function (O, C, index, value) {\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;\n if (actualIndex >= len || actualIndex < 0) throw $RangeError('Incorrect index');\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];\n return A;\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\n\nif (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {\n defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {\n configurable: true,\n get: function detached() {\n return isDetached(this);\n }\n });\n}\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\n\nvar slice = uncurryThis(ArrayBuffer.prototype.slice);\n\nmodule.exports = function (O) {\n if (arrayBufferByteLength(O) !== 0) return false;\n try {\n slice(O, 0, 0);\n return false;\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar classof = require('../internals/classof-raw');\n\nvar $TypeError = TypeError;\n\n// Includes\n// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).\n// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.\nmodule.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {\n if (classof(O) !== 'ArrayBuffer') throw $TypeError('ArrayBuffer expected');\n return O.byteLength;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transfer` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transfer: function transfer() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, true);\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar toIndex = require('../internals/to-index');\nvar isDetached = require('../internals/array-buffer-is-detached');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\nvar PROPER_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar TypeError = global.TypeError;\nvar structuredClone = global.structuredClone;\nvar ArrayBuffer = global.ArrayBuffer;\nvar DataView = global.DataView;\nvar min = Math.min;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataViewPrototype = DataView.prototype;\nvar slice = uncurryThis(ArrayBufferPrototype.slice);\nvar isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');\nvar maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');\nvar getInt8 = uncurryThis(DataViewPrototype.getInt8);\nvar setInt8 = uncurryThis(DataViewPrototype.setInt8);\n\nmodule.exports = PROPER_TRANSFER && function (arrayBuffer, newLength, preserveResizability) {\n var byteLength = arrayBufferByteLength(arrayBuffer);\n var newByteLength = newLength === undefined ? byteLength : toIndex(newLength);\n var fixedLength = !isResizable || !isResizable(arrayBuffer);\n if (isDetached(arrayBuffer)) throw TypeError('ArrayBuffer is detached');\n var newBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });\n if (byteLength === newByteLength && (preserveResizability || fixedLength)) return newBuffer;\n if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) return slice(newBuffer, 0, newByteLength);\n var options = (preserveResizability && !fixedLength) && maxByteLength ? { maxByteLength: maxByteLength(newBuffer) } : undefined;\n var newNewBuffer = new ArrayBuffer(newByteLength, options);\n var a = new DataView(newBuffer);\n var b = new DataView(newNewBuffer);\n var copyLength = min(newByteLength, byteLength);\n for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i));\n return newNewBuffer;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar V8 = require('../internals/engine-v8-version');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar structuredClone = global.structuredClone;\n\nmodule.exports = !!structuredClone && !fails(function () {\n // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if ((IS_DENO && V8 > 92) || (IS_NODE && V8 > 94) || (IS_BROWSER && V8 > 97)) return false;\n var buffer = new ArrayBuffer(8);\n var clone = structuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength !== 0 || clone.byteLength !== 8;\n});\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transferToFixedLength` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transferToFixedLength: function transferToFixedLength() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, false);\n }\n});\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { BaseException, shadow } from \"../shared/util.js\";\nimport { log2, readInt8, readUint16, readUint32 } from \"./core_utils.js\";\nimport { ArithmeticDecoder } from \"./arithmetic_decoder.js\";\nimport { CCITTFaxDecoder } from \"./ccitt.js\";\n\nclass Jbig2Error extends BaseException {\n constructor(msg) {\n super(`JBIG2 error: ${msg}`, \"Jbig2Error\");\n }\n}\n\n// Utility data structures\nclass ContextCache {\n getContexts(id) {\n if (id in this) {\n return this[id];\n }\n return (this[id] = new Int8Array(1 << 16));\n }\n}\n\nclass DecodingContext {\n constructor(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n }\n\n get decoder() {\n const decoder = new ArithmeticDecoder(this.data, this.start, this.end);\n return shadow(this, \"decoder\", decoder);\n }\n\n get contextCache() {\n const cache = new ContextCache();\n return shadow(this, \"contextCache\", cache);\n }\n}\n\nconst MAX_INT_32 = 2 ** 31 - 1;\nconst MIN_INT_32 = -(2 ** 31);\n\n// Annex A. Arithmetic Integer Decoding Procedure\n// A.2 Procedure for decoding values\nfunction decodeInteger(contextCache, procedure, decoder) {\n const contexts = contextCache.getContexts(procedure);\n let prev = 1;\n\n function readBits(length) {\n let v = 0;\n for (let i = 0; i < length; i++) {\n const bit = decoder.readBit(contexts, prev);\n prev = prev < 256 ? (prev << 1) | bit : (((prev << 1) | bit) & 511) | 256;\n v = (v << 1) | bit;\n }\n return v >>> 0;\n }\n\n const sign = readBits(1);\n // prettier-ignore\n /* eslint-disable no-nested-ternary */\n const value = readBits(1) ?\n (readBits(1) ?\n (readBits(1) ?\n (readBits(1) ?\n (readBits(1) ?\n (readBits(32) + 4436) :\n readBits(12) + 340) :\n readBits(8) + 84) :\n readBits(6) + 20) :\n readBits(4) + 4) :\n readBits(2);\n /* eslint-enable no-nested-ternary */\n let signedValue;\n if (sign === 0) {\n signedValue = value;\n } else if (value > 0) {\n signedValue = -value;\n }\n // Ensure that the integer value doesn't underflow or overflow.\n if (signedValue >= MIN_INT_32 && signedValue <= MAX_INT_32) {\n return signedValue;\n }\n return null;\n}\n\n// A.3 The IAID decoding procedure\nfunction decodeIAID(contextCache, decoder, codeLength) {\n const contexts = contextCache.getContexts(\"IAID\");\n\n let prev = 1;\n for (let i = 0; i < codeLength; i++) {\n const bit = decoder.readBit(contexts, prev);\n prev = (prev << 1) | bit;\n }\n if (codeLength < 31) {\n return prev & ((1 << codeLength) - 1);\n }\n return prev & 0x7fffffff;\n}\n\n// 7.3 Segment types\nconst SegmentTypes = [\n \"SymbolDictionary\",\n null,\n null,\n null,\n \"IntermediateTextRegion\",\n null,\n \"ImmediateTextRegion\",\n \"ImmediateLosslessTextRegion\",\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n \"PatternDictionary\",\n null,\n null,\n null,\n \"IntermediateHalftoneRegion\",\n null,\n \"ImmediateHalftoneRegion\",\n \"ImmediateLosslessHalftoneRegion\",\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n \"IntermediateGenericRegion\",\n null,\n \"ImmediateGenericRegion\",\n \"ImmediateLosslessGenericRegion\",\n \"IntermediateGenericRefinementRegion\",\n null,\n \"ImmediateGenericRefinementRegion\",\n \"ImmediateLosslessGenericRefinementRegion\",\n null,\n null,\n null,\n null,\n \"PageInformation\",\n \"EndOfPage\",\n \"EndOfStripe\",\n \"EndOfFile\",\n \"Profiles\",\n \"Tables\",\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n \"Extension\",\n];\n\nconst CodingTemplates = [\n [\n { x: -1, y: -2 },\n { x: 0, y: -2 },\n { x: 1, y: -2 },\n { x: -2, y: -1 },\n { x: -1, y: -1 },\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: 2, y: -1 },\n { x: -4, y: 0 },\n { x: -3, y: 0 },\n { x: -2, y: 0 },\n { x: -1, y: 0 },\n ],\n [\n { x: -1, y: -2 },\n { x: 0, y: -2 },\n { x: 1, y: -2 },\n { x: 2, y: -2 },\n { x: -2, y: -1 },\n { x: -1, y: -1 },\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: 2, y: -1 },\n { x: -3, y: 0 },\n { x: -2, y: 0 },\n { x: -1, y: 0 },\n ],\n [\n { x: -1, y: -2 },\n { x: 0, y: -2 },\n { x: 1, y: -2 },\n { x: -2, y: -1 },\n { x: -1, y: -1 },\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: -2, y: 0 },\n { x: -1, y: 0 },\n ],\n [\n { x: -3, y: -1 },\n { x: -2, y: -1 },\n { x: -1, y: -1 },\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: -4, y: 0 },\n { x: -3, y: 0 },\n { x: -2, y: 0 },\n { x: -1, y: 0 },\n ],\n];\n\nconst RefinementTemplates = [\n {\n coding: [\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: -1, y: 0 },\n ],\n reference: [\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: -1, y: 0 },\n { x: 0, y: 0 },\n { x: 1, y: 0 },\n { x: -1, y: 1 },\n { x: 0, y: 1 },\n { x: 1, y: 1 },\n ],\n },\n {\n coding: [\n { x: -1, y: -1 },\n { x: 0, y: -1 },\n { x: 1, y: -1 },\n { x: -1, y: 0 },\n ],\n reference: [\n { x: 0, y: -1 },\n { x: -1, y: 0 },\n { x: 0, y: 0 },\n { x: 1, y: 0 },\n { x: 0, y: 1 },\n { x: 1, y: 1 },\n ],\n },\n];\n\n// See 6.2.5.7 Decoding the bitmap.\nconst ReusedContexts = [\n 0x9b25, // 10011 0110010 0101\n 0x0795, // 0011 110010 101\n 0x00e5, // 001 11001 01\n 0x0195, // 011001 0101\n];\n\nconst RefinementReusedContexts = [\n 0x0020, // '000' + '0' (coding) + '00010000' + '0' (reference)\n 0x0008, // '0000' + '001000'\n];\n\nfunction decodeBitmapTemplate0(width, height, decodingContext) {\n const decoder = decodingContext.decoder;\n const contexts = decodingContext.contextCache.getContexts(\"GB\");\n const bitmap = [];\n let contextLabel, i, j, pixel, row, row1, row2;\n\n // ...ooooo....\n // ..ooooooo... Context template for current pixel (X)\n // .ooooX...... (concatenate values of 'o'-pixels to get contextLabel)\n const OLD_PIXEL_MASK = 0x7bf7; // 01111 0111111 0111\n\n for (i = 0; i < height; i++) {\n row = bitmap[i] = new Uint8Array(width);\n row1 = i < 1 ? row : bitmap[i - 1];\n row2 = i < 2 ? row : bitmap[i - 2];\n\n // At the beginning of each row:\n // Fill contextLabel with pixels that are above/right of (X)\n contextLabel =\n (row2[0] << 13) |\n (row2[1] << 12) |\n (row2[2] << 11) |\n (row1[0] << 7) |\n (row1[1] << 6) |\n (row1[2] << 5) |\n (row1[3] << 4);\n\n for (j = 0; j < width; j++) {\n row[j] = pixel = decoder.readBit(contexts, contextLabel);\n\n // At each pixel: Clear contextLabel pixels that are shifted\n // out of the context, then add new ones.\n contextLabel =\n ((contextLabel & OLD_PIXEL_MASK) << 1) |\n (j + 3 < width ? row2[j + 3] << 11 : 0) |\n (j + 4 < width ? row1[j + 4] << 4 : 0) |\n pixel;\n }\n }\n\n return bitmap;\n}\n\n// 6.2 Generic Region Decoding Procedure\nfunction decodeBitmap(\n mmr,\n width,\n height,\n templateIndex,\n prediction,\n skip,\n at,\n decodingContext\n) {\n if (mmr) {\n const input = new Reader(\n decodingContext.data,\n decodingContext.start,\n decodingContext.end\n );\n return decodeMMRBitmap(input, width, height, false);\n }\n\n // Use optimized version for the most common case\n if (\n templateIndex === 0 &&\n !skip &&\n !prediction &&\n at.length === 4 &&\n at[0].x === 3 &&\n at[0].y === -1 &&\n at[1].x === -3 &&\n at[1].y === -1 &&\n at[2].x === 2 &&\n at[2].y === -2 &&\n at[3].x === -2 &&\n at[3].y === -2\n ) {\n return decodeBitmapTemplate0(width, height, decodingContext);\n }\n\n const useskip = !!skip;\n const template = CodingTemplates[templateIndex].concat(at);\n\n // Sorting is non-standard, and it is not required. But sorting increases\n // the number of template bits that can be reused from the previous\n // contextLabel in the main loop.\n template.sort(function (a, b) {\n return a.y - b.y || a.x - b.x;\n });\n\n const templateLength = template.length;\n const templateX = new Int8Array(templateLength);\n const templateY = new Int8Array(templateLength);\n const changingTemplateEntries = [];\n let reuseMask = 0,\n minX = 0,\n maxX = 0,\n minY = 0;\n let c, k;\n\n for (k = 0; k < templateLength; k++) {\n templateX[k] = template[k].x;\n templateY[k] = template[k].y;\n minX = Math.min(minX, template[k].x);\n maxX = Math.max(maxX, template[k].x);\n minY = Math.min(minY, template[k].y);\n // Check if the template pixel appears in two consecutive context labels,\n // so it can be reused. Otherwise, we add it to the list of changing\n // template entries.\n if (\n k < templateLength - 1 &&\n template[k].y === template[k + 1].y &&\n template[k].x === template[k + 1].x - 1\n ) {\n reuseMask |= 1 << (templateLength - 1 - k);\n } else {\n changingTemplateEntries.push(k);\n }\n }\n const changingEntriesLength = changingTemplateEntries.length;\n\n const changingTemplateX = new Int8Array(changingEntriesLength);\n const changingTemplateY = new Int8Array(changingEntriesLength);\n const changingTemplateBit = new Uint16Array(changingEntriesLength);\n for (c = 0; c < changingEntriesLength; c++) {\n k = changingTemplateEntries[c];\n changingTemplateX[c] = template[k].x;\n changingTemplateY[c] = template[k].y;\n changingTemplateBit[c] = 1 << (templateLength - 1 - k);\n }\n\n // Get the safe bounding box edges from the width, height, minX, maxX, minY\n const sbb_left = -minX;\n const sbb_top = -minY;\n const sbb_right = width - maxX;\n\n const pseudoPixelContext = ReusedContexts[templateIndex];\n let row = new Uint8Array(width);\n const bitmap = [];\n\n const decoder = decodingContext.decoder;\n const contexts = decodingContext.contextCache.getContexts(\"GB\");\n\n let ltp = 0,\n j,\n i0,\n j0,\n contextLabel = 0,\n bit,\n shift;\n for (let i = 0; i < height; i++) {\n if (prediction) {\n const sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n if (ltp) {\n bitmap.push(row); // duplicate previous row\n continue;\n }\n }\n row = new Uint8Array(row);\n bitmap.push(row);\n for (j = 0; j < width; j++) {\n if (useskip && skip[i][j]) {\n row[j] = 0;\n continue;\n }\n // Are we in the middle of a scanline, so we can reuse contextLabel\n // bits?\n if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n // If yes, we can just shift the bits that are reusable and only\n // fetch the remaining ones.\n contextLabel = (contextLabel << 1) & reuseMask;\n for (k = 0; k < changingEntriesLength; k++) {\n i0 = i + changingTemplateY[k];\n j0 = j + changingTemplateX[k];\n bit = bitmap[i0][j0];\n if (bit) {\n bit = changingTemplateBit[k];\n contextLabel |= bit;\n }\n }\n } else {\n // compute the contextLabel from scratch\n contextLabel = 0;\n shift = templateLength - 1;\n for (k = 0; k < templateLength; k++, shift--) {\n j0 = j + templateX[k];\n if (j0 >= 0 && j0 < width) {\n i0 = i + templateY[k];\n if (i0 >= 0) {\n bit = bitmap[i0][j0];\n if (bit) {\n contextLabel |= bit << shift;\n }\n }\n }\n }\n }\n const pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n return bitmap;\n}\n\n// 6.3.2 Generic Refinement Region Decoding Procedure\nfunction decodeRefinement(\n width,\n height,\n templateIndex,\n referenceBitmap,\n offsetX,\n offsetY,\n prediction,\n at,\n decodingContext\n) {\n let codingTemplate = RefinementTemplates[templateIndex].coding;\n if (templateIndex === 0) {\n codingTemplate = codingTemplate.concat([at[0]]);\n }\n const codingTemplateLength = codingTemplate.length;\n const codingTemplateX = new Int32Array(codingTemplateLength);\n const codingTemplateY = new Int32Array(codingTemplateLength);\n let k;\n for (k = 0; k < codingTemplateLength; k++) {\n codingTemplateX[k] = codingTemplate[k].x;\n codingTemplateY[k] = codingTemplate[k].y;\n }\n\n let referenceTemplate = RefinementTemplates[templateIndex].reference;\n if (templateIndex === 0) {\n referenceTemplate = referenceTemplate.concat([at[1]]);\n }\n const referenceTemplateLength = referenceTemplate.length;\n const referenceTemplateX = new Int32Array(referenceTemplateLength);\n const referenceTemplateY = new Int32Array(referenceTemplateLength);\n for (k = 0; k < referenceTemplateLength; k++) {\n referenceTemplateX[k] = referenceTemplate[k].x;\n referenceTemplateY[k] = referenceTemplate[k].y;\n }\n const referenceWidth = referenceBitmap[0].length;\n const referenceHeight = referenceBitmap.length;\n\n const pseudoPixelContext = RefinementReusedContexts[templateIndex];\n const bitmap = [];\n\n const decoder = decodingContext.decoder;\n const contexts = decodingContext.contextCache.getContexts(\"GR\");\n\n let ltp = 0;\n for (let i = 0; i < height; i++) {\n if (prediction) {\n const sltp = decoder.readBit(contexts, pseudoPixelContext);\n ltp ^= sltp;\n if (ltp) {\n throw new Jbig2Error(\"prediction is not supported\");\n }\n }\n const row = new Uint8Array(width);\n bitmap.push(row);\n for (let j = 0; j < width; j++) {\n let i0, j0;\n let contextLabel = 0;\n for (k = 0; k < codingTemplateLength; k++) {\n i0 = i + codingTemplateY[k];\n j0 = j + codingTemplateX[k];\n if (i0 < 0 || j0 < 0 || j0 >= width) {\n contextLabel <<= 1; // out of bound pixel\n } else {\n contextLabel = (contextLabel << 1) | bitmap[i0][j0];\n }\n }\n for (k = 0; k < referenceTemplateLength; k++) {\n i0 = i + referenceTemplateY[k] - offsetY;\n j0 = j + referenceTemplateX[k] - offsetX;\n if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {\n contextLabel <<= 1; // out of bound pixel\n } else {\n contextLabel = (contextLabel << 1) | referenceBitmap[i0][j0];\n }\n }\n const pixel = decoder.readBit(contexts, contextLabel);\n row[j] = pixel;\n }\n }\n\n return bitmap;\n}\n\n// 6.5.5 Decoding the symbol dictionary\nfunction decodeSymbolDictionary(\n huffman,\n refinement,\n symbols,\n numberOfNewSymbols,\n numberOfExportedSymbols,\n huffmanTables,\n templateIndex,\n at,\n refinementTemplateIndex,\n refinementAt,\n decodingContext,\n huffmanInput\n) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"symbol refinement with Huffman is not supported\");\n }\n\n const newSymbols = [];\n let currentHeight = 0;\n let symbolCodeLength = log2(symbols.length + numberOfNewSymbols);\n\n const decoder = decodingContext.decoder;\n const contextCache = decodingContext.contextCache;\n let tableB1, symbolWidths;\n if (huffman) {\n tableB1 = getStandardTable(1); // standard table B.1\n symbolWidths = [];\n symbolCodeLength = Math.max(symbolCodeLength, 1); // 6.5.8.2.3\n }\n\n while (newSymbols.length < numberOfNewSymbols) {\n const deltaHeight = huffman\n ? huffmanTables.tableDeltaHeight.decode(huffmanInput)\n : decodeInteger(contextCache, \"IADH\", decoder); // 6.5.6\n currentHeight += deltaHeight;\n let currentWidth = 0,\n totalWidth = 0;\n const firstSymbol = huffman ? symbolWidths.length : 0;\n while (true) {\n const deltaWidth = huffman\n ? huffmanTables.tableDeltaWidth.decode(huffmanInput)\n : decodeInteger(contextCache, \"IADW\", decoder); // 6.5.7\n if (deltaWidth === null) {\n break; // OOB\n }\n currentWidth += deltaWidth;\n totalWidth += currentWidth;\n let bitmap;\n if (refinement) {\n // 6.5.8.2 Refinement/aggregate-coded symbol bitmap\n const numberOfInstances = decodeInteger(contextCache, \"IAAI\", decoder);\n if (numberOfInstances > 1) {\n bitmap = decodeTextRegion(\n huffman,\n refinement,\n currentWidth,\n currentHeight,\n 0,\n numberOfInstances,\n 1, // strip size\n symbols.concat(newSymbols),\n symbolCodeLength,\n 0, // transposed\n 0, // ds offset\n 1, // top left 7.4.3.1.1\n 0, // OR operator\n huffmanTables,\n refinementTemplateIndex,\n refinementAt,\n decodingContext,\n 0,\n huffmanInput\n );\n } else {\n const symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n const rdx = decodeInteger(contextCache, \"IARDX\", decoder); // 6.4.11.3\n const rdy = decodeInteger(contextCache, \"IARDY\", decoder); // 6.4.11.4\n const symbol =\n symbolId < symbols.length\n ? symbols[symbolId]\n : newSymbols[symbolId - symbols.length];\n bitmap = decodeRefinement(\n currentWidth,\n currentHeight,\n refinementTemplateIndex,\n symbol,\n rdx,\n rdy,\n false,\n refinementAt,\n decodingContext\n );\n }\n newSymbols.push(bitmap);\n } else if (huffman) {\n // Store only symbol width and decode a collective bitmap when the\n // height class is done.\n symbolWidths.push(currentWidth);\n } else {\n // 6.5.8.1 Direct-coded symbol bitmap\n bitmap = decodeBitmap(\n false,\n currentWidth,\n currentHeight,\n templateIndex,\n false,\n null,\n at,\n decodingContext\n );\n newSymbols.push(bitmap);\n }\n }\n if (huffman && !refinement) {\n // 6.5.9 Height class collective bitmap\n const bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n huffmanInput.byteAlign();\n let collectiveBitmap;\n if (bitmapSize === 0) {\n // Uncompressed collective bitmap\n collectiveBitmap = readUncompressedBitmap(\n huffmanInput,\n totalWidth,\n currentHeight\n );\n } else {\n // MMR collective bitmap\n const originalEnd = huffmanInput.end;\n const bitmapEnd = huffmanInput.position + bitmapSize;\n huffmanInput.end = bitmapEnd;\n collectiveBitmap = decodeMMRBitmap(\n huffmanInput,\n totalWidth,\n currentHeight,\n false\n );\n huffmanInput.end = originalEnd;\n huffmanInput.position = bitmapEnd;\n }\n const numberOfSymbolsDecoded = symbolWidths.length;\n if (firstSymbol === numberOfSymbolsDecoded - 1) {\n // collectiveBitmap is a single symbol.\n newSymbols.push(collectiveBitmap);\n } else {\n // Divide collectiveBitmap into symbols.\n let i,\n y,\n xMin = 0,\n xMax,\n bitmapWidth,\n symbolBitmap;\n for (i = firstSymbol; i < numberOfSymbolsDecoded; i++) {\n bitmapWidth = symbolWidths[i];\n xMax = xMin + bitmapWidth;\n symbolBitmap = [];\n for (y = 0; y < currentHeight; y++) {\n symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n newSymbols.push(symbolBitmap);\n xMin = xMax;\n }\n }\n }\n }\n\n // 6.5.10 Exported symbols\n const exportedSymbols = [],\n flags = [];\n let currentFlag = false,\n i,\n ii;\n const totalSymbolsLength = symbols.length + numberOfNewSymbols;\n while (flags.length < totalSymbolsLength) {\n let runLength = huffman\n ? tableB1.decode(huffmanInput)\n : decodeInteger(contextCache, \"IAEX\", decoder);\n while (runLength--) {\n flags.push(currentFlag);\n }\n currentFlag = !currentFlag;\n }\n for (i = 0, ii = symbols.length; i < ii; i++) {\n if (flags[i]) {\n exportedSymbols.push(symbols[i]);\n }\n }\n for (let j = 0; j < numberOfNewSymbols; i++, j++) {\n if (flags[i]) {\n exportedSymbols.push(newSymbols[j]);\n }\n }\n return exportedSymbols;\n}\n\nfunction decodeTextRegion(\n huffman,\n refinement,\n width,\n height,\n defaultPixelValue,\n numberOfSymbolInstances,\n stripSize,\n inputSymbols,\n symbolCodeLength,\n transposed,\n dsOffset,\n referenceCorner,\n combinationOperator,\n huffmanTables,\n refinementTemplateIndex,\n refinementAt,\n decodingContext,\n logStripSize,\n huffmanInput\n) {\n if (huffman && refinement) {\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n\n // Prepare bitmap\n const bitmap = [];\n let i, row;\n for (i = 0; i < height; i++) {\n row = new Uint8Array(width);\n if (defaultPixelValue) {\n for (let j = 0; j < width; j++) {\n row[j] = defaultPixelValue;\n }\n }\n bitmap.push(row);\n }\n\n const decoder = decodingContext.decoder;\n const contextCache = decodingContext.contextCache;\n\n let stripT = huffman\n ? -huffmanTables.tableDeltaT.decode(huffmanInput)\n : -decodeInteger(contextCache, \"IADT\", decoder); // 6.4.6\n let firstS = 0;\n i = 0;\n while (i < numberOfSymbolInstances) {\n const deltaT = huffman\n ? huffmanTables.tableDeltaT.decode(huffmanInput)\n : decodeInteger(contextCache, \"IADT\", decoder); // 6.4.6\n stripT += deltaT;\n\n const deltaFirstS = huffman\n ? huffmanTables.tableFirstS.decode(huffmanInput)\n : decodeInteger(contextCache, \"IAFS\", decoder); // 6.4.7\n firstS += deltaFirstS;\n let currentS = firstS;\n do {\n let currentT = 0; // 6.4.9\n if (stripSize > 1) {\n currentT = huffman\n ? huffmanInput.readBits(logStripSize)\n : decodeInteger(contextCache, \"IAIT\", decoder);\n }\n const t = stripSize * stripT + currentT;\n const symbolId = huffman\n ? huffmanTables.symbolIDTable.decode(huffmanInput)\n : decodeIAID(contextCache, decoder, symbolCodeLength);\n const applyRefinement =\n refinement &&\n (huffman\n ? huffmanInput.readBit()\n : decodeInteger(contextCache, \"IARI\", decoder));\n let symbolBitmap = inputSymbols[symbolId];\n let symbolWidth = symbolBitmap[0].length;\n let symbolHeight = symbolBitmap.length;\n if (applyRefinement) {\n const rdw = decodeInteger(contextCache, \"IARDW\", decoder); // 6.4.11.1\n const rdh = decodeInteger(contextCache, \"IARDH\", decoder); // 6.4.11.2\n const rdx = decodeInteger(contextCache, \"IARDX\", decoder); // 6.4.11.3\n const rdy = decodeInteger(contextCache, \"IARDY\", decoder); // 6.4.11.4\n symbolWidth += rdw;\n symbolHeight += rdh;\n symbolBitmap = decodeRefinement(\n symbolWidth,\n symbolHeight,\n refinementTemplateIndex,\n symbolBitmap,\n (rdw >> 1) + rdx,\n (rdh >> 1) + rdy,\n false,\n refinementAt,\n decodingContext\n );\n }\n const offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n const offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n let s2, t2, symbolRow;\n if (transposed) {\n // Place Symbol Bitmap from T1,S1\n for (s2 = 0; s2 < symbolHeight; s2++) {\n row = bitmap[offsetS + s2];\n if (!row) {\n continue;\n }\n symbolRow = symbolBitmap[s2];\n // To ignore Parts of Symbol bitmap which goes\n // outside bitmap region\n const maxWidth = Math.min(width - offsetT, symbolWidth);\n switch (combinationOperator) {\n case 0: // OR\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] |= symbolRow[t2];\n }\n break;\n case 2: // XOR\n for (t2 = 0; t2 < maxWidth; t2++) {\n row[offsetT + t2] ^= symbolRow[t2];\n }\n break;\n default:\n throw new Jbig2Error(\n `operator ${combinationOperator} is not supported`\n );\n }\n }\n currentS += symbolHeight - 1;\n } else {\n for (t2 = 0; t2 < symbolHeight; t2++) {\n row = bitmap[offsetT + t2];\n if (!row) {\n continue;\n }\n symbolRow = symbolBitmap[t2];\n switch (combinationOperator) {\n case 0: // OR\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] |= symbolRow[s2];\n }\n break;\n case 2: // XOR\n for (s2 = 0; s2 < symbolWidth; s2++) {\n row[offsetS + s2] ^= symbolRow[s2];\n }\n break;\n default:\n throw new Jbig2Error(\n `operator ${combinationOperator} is not supported`\n );\n }\n }\n currentS += symbolWidth - 1;\n }\n i++;\n const deltaS = huffman\n ? huffmanTables.tableDeltaS.decode(huffmanInput)\n : decodeInteger(contextCache, \"IADS\", decoder); // 6.4.8\n if (deltaS === null) {\n break; // OOB\n }\n currentS += deltaS + dsOffset;\n } while (true);\n }\n return bitmap;\n}\n\nfunction decodePatternDictionary(\n mmr,\n patternWidth,\n patternHeight,\n maxPatternIndex,\n template,\n decodingContext\n) {\n const at = [];\n if (!mmr) {\n at.push({\n x: -patternWidth,\n y: 0,\n });\n if (template === 0) {\n at.push(\n {\n x: -3,\n y: -1,\n },\n {\n x: 2,\n y: -2,\n },\n {\n x: -2,\n y: -2,\n }\n );\n }\n }\n const collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n const collectiveBitmap = decodeBitmap(\n mmr,\n collectiveWidth,\n patternHeight,\n template,\n false,\n null,\n at,\n decodingContext\n );\n // Divide collective bitmap into patterns.\n const patterns = [];\n for (let i = 0; i <= maxPatternIndex; i++) {\n const patternBitmap = [];\n const xMin = patternWidth * i;\n const xMax = xMin + patternWidth;\n for (let y = 0; y < patternHeight; y++) {\n patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n }\n patterns.push(patternBitmap);\n }\n return patterns;\n}\n\nfunction decodeHalftoneRegion(\n mmr,\n patterns,\n template,\n regionWidth,\n regionHeight,\n defaultPixelValue,\n enableSkip,\n combinationOperator,\n gridWidth,\n gridHeight,\n gridOffsetX,\n gridOffsetY,\n gridVectorX,\n gridVectorY,\n decodingContext\n) {\n const skip = null;\n if (enableSkip) {\n throw new Jbig2Error(\"skip is not supported\");\n }\n if (combinationOperator !== 0) {\n throw new Jbig2Error(\n `operator \"${combinationOperator}\" is not supported in halftone region`\n );\n }\n\n // Prepare bitmap.\n const regionBitmap = [];\n let i, j, row;\n for (i = 0; i < regionHeight; i++) {\n row = new Uint8Array(regionWidth);\n if (defaultPixelValue) {\n for (j = 0; j < regionWidth; j++) {\n row[j] = defaultPixelValue;\n }\n }\n regionBitmap.push(row);\n }\n\n const numberOfPatterns = patterns.length;\n const pattern0 = patterns[0];\n const patternWidth = pattern0[0].length,\n patternHeight = pattern0.length;\n const bitsPerValue = log2(numberOfPatterns);\n const at = [];\n if (!mmr) {\n at.push({\n x: template <= 1 ? 3 : 2,\n y: -1,\n });\n if (template === 0) {\n at.push(\n {\n x: -3,\n y: -1,\n },\n {\n x: 2,\n y: -2,\n },\n {\n x: -2,\n y: -2,\n }\n );\n }\n }\n // Annex C. Gray-scale Image Decoding Procedure.\n const grayScaleBitPlanes = [];\n let mmrInput, bitmap;\n if (mmr) {\n // MMR bit planes are in one continuous stream. Only EOFB codes indicate\n // the end of each bitmap, so EOFBs must be decoded.\n mmrInput = new Reader(\n decodingContext.data,\n decodingContext.start,\n decodingContext.end\n );\n }\n for (i = bitsPerValue - 1; i >= 0; i--) {\n if (mmr) {\n bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n } else {\n bitmap = decodeBitmap(\n false,\n gridWidth,\n gridHeight,\n template,\n false,\n skip,\n at,\n decodingContext\n );\n }\n grayScaleBitPlanes[i] = bitmap;\n }\n // 6.6.5.2 Rendering the patterns.\n let mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n for (mg = 0; mg < gridHeight; mg++) {\n for (ng = 0; ng < gridWidth; ng++) {\n bit = 0;\n patternIndex = 0;\n for (j = bitsPerValue - 1; j >= 0; j--) {\n bit ^= grayScaleBitPlanes[j][mg][ng]; // Gray decoding\n patternIndex |= bit << j;\n }\n patternBitmap = patterns[patternIndex];\n x = (gridOffsetX + mg * gridVectorY + ng * gridVectorX) >> 8;\n y = (gridOffsetY + mg * gridVectorX - ng * gridVectorY) >> 8;\n // Draw patternBitmap at (x, y).\n if (\n x >= 0 &&\n x + patternWidth <= regionWidth &&\n y >= 0 &&\n y + patternHeight <= regionHeight\n ) {\n for (i = 0; i < patternHeight; i++) {\n regionRow = regionBitmap[y + i];\n patternRow = patternBitmap[i];\n for (j = 0; j < patternWidth; j++) {\n regionRow[x + j] |= patternRow[j];\n }\n }\n } else {\n let regionX, regionY;\n for (i = 0; i < patternHeight; i++) {\n regionY = y + i;\n if (regionY < 0 || regionY >= regionHeight) {\n continue;\n }\n regionRow = regionBitmap[regionY];\n patternRow = patternBitmap[i];\n for (j = 0; j < patternWidth; j++) {\n regionX = x + j;\n if (regionX >= 0 && regionX < regionWidth) {\n regionRow[regionX] |= patternRow[j];\n }\n }\n }\n }\n }\n }\n return regionBitmap;\n}\n\nfunction readSegmentHeader(data, start) {\n const segmentHeader = {};\n segmentHeader.number = readUint32(data, start);\n const flags = data[start + 4];\n const segmentType = flags & 0x3f;\n if (!SegmentTypes[segmentType]) {\n throw new Jbig2Error(\"invalid segment type: \" + segmentType);\n }\n segmentHeader.type = segmentType;\n segmentHeader.typeName = SegmentTypes[segmentType];\n segmentHeader.deferredNonRetain = !!(flags & 0x80);\n\n const pageAssociationFieldSize = !!(flags & 0x40);\n const referredFlags = data[start + 5];\n let referredToCount = (referredFlags >> 5) & 7;\n const retainBits = [referredFlags & 31];\n let position = start + 6;\n if (referredFlags === 7) {\n referredToCount = readUint32(data, position - 1) & 0x1fffffff;\n position += 3;\n let bytes = (referredToCount + 7) >> 3;\n retainBits[0] = data[position++];\n while (--bytes > 0) {\n retainBits.push(data[position++]);\n }\n } else if (referredFlags === 5 || referredFlags === 6) {\n throw new Jbig2Error(\"invalid referred-to flags\");\n }\n\n segmentHeader.retainBits = retainBits;\n\n let referredToSegmentNumberSize = 4;\n if (segmentHeader.number <= 256) {\n referredToSegmentNumberSize = 1;\n } else if (segmentHeader.number <= 65536) {\n referredToSegmentNumberSize = 2;\n }\n const referredTo = [];\n let i, ii;\n for (i = 0; i < referredToCount; i++) {\n let number;\n if (referredToSegmentNumberSize === 1) {\n number = data[position];\n } else if (referredToSegmentNumberSize === 2) {\n number = readUint16(data, position);\n } else {\n number = readUint32(data, position);\n }\n referredTo.push(number);\n position += referredToSegmentNumberSize;\n }\n segmentHeader.referredTo = referredTo;\n if (!pageAssociationFieldSize) {\n segmentHeader.pageAssociation = data[position++];\n } else {\n segmentHeader.pageAssociation = readUint32(data, position);\n position += 4;\n }\n segmentHeader.length = readUint32(data, position);\n position += 4;\n\n if (segmentHeader.length === 0xffffffff) {\n // 7.2.7 Segment data length, unknown segment length\n if (segmentType === 38) {\n // ImmediateGenericRegion\n const genericRegionInfo = readRegionSegmentInformation(data, position);\n const genericRegionSegmentFlags =\n data[position + RegionSegmentInformationFieldLength];\n const genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n // searching for the segment end\n const searchPatternLength = 6;\n const searchPattern = new Uint8Array(searchPatternLength);\n if (!genericRegionMmr) {\n searchPattern[0] = 0xff;\n searchPattern[1] = 0xac;\n }\n searchPattern[2] = (genericRegionInfo.height >>> 24) & 0xff;\n searchPattern[3] = (genericRegionInfo.height >> 16) & 0xff;\n searchPattern[4] = (genericRegionInfo.height >> 8) & 0xff;\n searchPattern[5] = genericRegionInfo.height & 0xff;\n for (i = position, ii = data.length; i < ii; i++) {\n let j = 0;\n while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n j++;\n }\n if (j === searchPatternLength) {\n segmentHeader.length = i + searchPatternLength;\n break;\n }\n }\n if (segmentHeader.length === 0xffffffff) {\n throw new Jbig2Error(\"segment end was not found\");\n }\n } else {\n throw new Jbig2Error(\"invalid unknown segment length\");\n }\n }\n segmentHeader.headerEnd = position;\n return segmentHeader;\n}\n\nfunction readSegments(header, data, start, end) {\n const segments = [];\n let position = start;\n while (position < end) {\n const segmentHeader = readSegmentHeader(data, position);\n position = segmentHeader.headerEnd;\n const segment = {\n header: segmentHeader,\n data,\n };\n if (!header.randomAccess) {\n segment.start = position;\n position += segmentHeader.length;\n segment.end = position;\n }\n segments.push(segment);\n if (segmentHeader.type === 51) {\n break; // end of file is found\n }\n }\n if (header.randomAccess) {\n for (let i = 0, ii = segments.length; i < ii; i++) {\n segments[i].start = position;\n position += segments[i].header.length;\n segments[i].end = position;\n }\n }\n return segments;\n}\n\n// 7.4.1 Region segment information field\nfunction readRegionSegmentInformation(data, start) {\n return {\n width: readUint32(data, start),\n height: readUint32(data, start + 4),\n x: readUint32(data, start + 8),\n y: readUint32(data, start + 12),\n combinationOperator: data[start + 16] & 7,\n };\n}\nconst RegionSegmentInformationFieldLength = 17;\n\nfunction processSegment(segment, visitor) {\n const header = segment.header;\n\n const data = segment.data,\n end = segment.end;\n let position = segment.start;\n let args, at, i, atLength;\n switch (header.type) {\n case 0: // SymbolDictionary\n // 7.4.2 Symbol dictionary segment syntax\n const dictionary = {};\n const dictionaryFlags = readUint16(data, position); // 7.4.2.1.1\n dictionary.huffman = !!(dictionaryFlags & 1);\n dictionary.refinement = !!(dictionaryFlags & 2);\n dictionary.huffmanDHSelector = (dictionaryFlags >> 2) & 3;\n dictionary.huffmanDWSelector = (dictionaryFlags >> 4) & 3;\n dictionary.bitmapSizeSelector = (dictionaryFlags >> 6) & 1;\n dictionary.aggregationInstancesSelector = (dictionaryFlags >> 7) & 1;\n dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n dictionary.template = (dictionaryFlags >> 10) & 3;\n dictionary.refinementTemplate = (dictionaryFlags >> 12) & 1;\n position += 2;\n if (!dictionary.huffman) {\n atLength = dictionary.template === 0 ? 4 : 1;\n at = [];\n for (i = 0; i < atLength; i++) {\n at.push({\n x: readInt8(data, position),\n y: readInt8(data, position + 1),\n });\n position += 2;\n }\n dictionary.at = at;\n }\n if (dictionary.refinement && !dictionary.refinementTemplate) {\n at = [];\n for (i = 0; i < 2; i++) {\n at.push({\n x: readInt8(data, position),\n y: readInt8(data, position + 1),\n });\n position += 2;\n }\n dictionary.refinementAt = at;\n }\n dictionary.numberOfExportedSymbols = readUint32(data, position);\n position += 4;\n dictionary.numberOfNewSymbols = readUint32(data, position);\n position += 4;\n args = [\n dictionary,\n header.number,\n header.referredTo,\n data,\n position,\n end,\n ];\n break;\n case 6: // ImmediateTextRegion\n case 7: // ImmediateLosslessTextRegion\n const textRegion = {};\n textRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n const textRegionSegmentFlags = readUint16(data, position);\n position += 2;\n textRegion.huffman = !!(textRegionSegmentFlags & 1);\n textRegion.refinement = !!(textRegionSegmentFlags & 2);\n textRegion.logStripSize = (textRegionSegmentFlags >> 2) & 3;\n textRegion.stripSize = 1 << textRegion.logStripSize;\n textRegion.referenceCorner = (textRegionSegmentFlags >> 4) & 3;\n textRegion.transposed = !!(textRegionSegmentFlags & 64);\n textRegion.combinationOperator = (textRegionSegmentFlags >> 7) & 3;\n textRegion.defaultPixelValue = (textRegionSegmentFlags >> 9) & 1;\n textRegion.dsOffset = (textRegionSegmentFlags << 17) >> 27;\n textRegion.refinementTemplate = (textRegionSegmentFlags >> 15) & 1;\n if (textRegion.huffman) {\n const textRegionHuffmanFlags = readUint16(data, position);\n position += 2;\n textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n textRegion.huffmanDS = (textRegionHuffmanFlags >> 2) & 3;\n textRegion.huffmanDT = (textRegionHuffmanFlags >> 4) & 3;\n textRegion.huffmanRefinementDW = (textRegionHuffmanFlags >> 6) & 3;\n textRegion.huffmanRefinementDH = (textRegionHuffmanFlags >> 8) & 3;\n textRegion.huffmanRefinementDX = (textRegionHuffmanFlags >> 10) & 3;\n textRegion.huffmanRefinementDY = (textRegionHuffmanFlags >> 12) & 3;\n textRegion.huffmanRefinementSizeSelector = !!(\n textRegionHuffmanFlags & 0x4000\n );\n }\n if (textRegion.refinement && !textRegion.refinementTemplate) {\n at = [];\n for (i = 0; i < 2; i++) {\n at.push({\n x: readInt8(data, position),\n y: readInt8(data, position + 1),\n });\n position += 2;\n }\n textRegion.refinementAt = at;\n }\n textRegion.numberOfSymbolInstances = readUint32(data, position);\n position += 4;\n args = [textRegion, header.referredTo, data, position, end];\n break;\n case 16: // PatternDictionary\n // 7.4.4. Pattern dictionary segment syntax\n const patternDictionary = {};\n const patternDictionaryFlags = data[position++];\n patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n patternDictionary.template = (patternDictionaryFlags >> 1) & 3;\n patternDictionary.patternWidth = data[position++];\n patternDictionary.patternHeight = data[position++];\n patternDictionary.maxPatternIndex = readUint32(data, position);\n position += 4;\n args = [patternDictionary, header.number, data, position, end];\n break;\n case 22: // ImmediateHalftoneRegion\n case 23: // ImmediateLosslessHalftoneRegion\n // 7.4.5 Halftone region segment syntax\n const halftoneRegion = {};\n halftoneRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n const halftoneRegionFlags = data[position++];\n halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n halftoneRegion.template = (halftoneRegionFlags >> 1) & 3;\n halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n halftoneRegion.combinationOperator = (halftoneRegionFlags >> 4) & 7;\n halftoneRegion.defaultPixelValue = (halftoneRegionFlags >> 7) & 1;\n halftoneRegion.gridWidth = readUint32(data, position);\n position += 4;\n halftoneRegion.gridHeight = readUint32(data, position);\n position += 4;\n halftoneRegion.gridOffsetX = readUint32(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridOffsetY = readUint32(data, position) & 0xffffffff;\n position += 4;\n halftoneRegion.gridVectorX = readUint16(data, position);\n position += 2;\n halftoneRegion.gridVectorY = readUint16(data, position);\n position += 2;\n args = [halftoneRegion, header.referredTo, data, position, end];\n break;\n case 38: // ImmediateGenericRegion\n case 39: // ImmediateLosslessGenericRegion\n const genericRegion = {};\n genericRegion.info = readRegionSegmentInformation(data, position);\n position += RegionSegmentInformationFieldLength;\n const genericRegionSegmentFlags = data[position++];\n genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n genericRegion.template = (genericRegionSegmentFlags >> 1) & 3;\n genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n if (!genericRegion.mmr) {\n atLength = genericRegion.template === 0 ? 4 : 1;\n at = [];\n for (i = 0; i < atLength; i++) {\n at.push({\n x: readInt8(data, position),\n y: readInt8(data, position + 1),\n });\n position += 2;\n }\n genericRegion.at = at;\n }\n args = [genericRegion, data, position, end];\n break;\n case 48: // PageInformation\n const pageInfo = {\n width: readUint32(data, position),\n height: readUint32(data, position + 4),\n resolutionX: readUint32(data, position + 8),\n resolutionY: readUint32(data, position + 12),\n };\n if (pageInfo.height === 0xffffffff) {\n delete pageInfo.height;\n }\n const pageSegmentFlags = data[position + 16];\n readUint16(data, position + 17); // pageStripingInformation\n pageInfo.lossless = !!(pageSegmentFlags & 1);\n pageInfo.refinement = !!(pageSegmentFlags & 2);\n pageInfo.defaultPixelValue = (pageSegmentFlags >> 2) & 1;\n pageInfo.combinationOperator = (pageSegmentFlags >> 3) & 3;\n pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n args = [pageInfo];\n break;\n case 49: // EndOfPage\n break;\n case 50: // EndOfStripe\n break;\n case 51: // EndOfFile\n break;\n case 53: // Tables\n args = [header.number, data, position, end];\n break;\n case 62: // 7.4.15 defines 2 extension types which\n // are comments and can be ignored.\n break;\n default:\n throw new Jbig2Error(\n `segment type ${header.typeName}(${header.type}) is not implemented`\n );\n }\n const callbackName = \"on\" + header.typeName;\n if (callbackName in visitor) {\n // eslint-disable-next-line prefer-spread\n visitor[callbackName].apply(visitor, args);\n }\n}\n\nfunction processSegments(segments, visitor) {\n for (let i = 0, ii = segments.length; i < ii; i++) {\n processSegment(segments[i], visitor);\n }\n}\n\nfunction parseJbig2Chunks(chunks) {\n const visitor = new SimpleSegmentVisitor();\n for (let i = 0, ii = chunks.length; i < ii; i++) {\n const chunk = chunks[i];\n const segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n processSegments(segments, visitor);\n }\n return visitor.buffer;\n}\n\nfunction parseJbig2(data) {\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"IMAGE_DECODERS\")) {\n throw new Error(\"Not implemented: parseJbig2\");\n }\n const end = data.length;\n let position = 0;\n\n if (\n data[position] !== 0x97 ||\n data[position + 1] !== 0x4a ||\n data[position + 2] !== 0x42 ||\n data[position + 3] !== 0x32 ||\n data[position + 4] !== 0x0d ||\n data[position + 5] !== 0x0a ||\n data[position + 6] !== 0x1a ||\n data[position + 7] !== 0x0a\n ) {\n throw new Jbig2Error(\"parseJbig2 - invalid header.\");\n }\n\n const header = Object.create(null);\n position += 8;\n const flags = data[position++];\n header.randomAccess = !(flags & 1);\n if (!(flags & 2)) {\n header.numberOfPages = readUint32(data, position);\n position += 4;\n }\n\n const segments = readSegments(header, data, position, end);\n const visitor = new SimpleSegmentVisitor();\n processSegments(segments, visitor);\n\n const { width, height } = visitor.currentPageInfo;\n const bitPacked = visitor.buffer;\n const imgData = new Uint8ClampedArray(width * height);\n let q = 0,\n k = 0;\n for (let i = 0; i < height; i++) {\n let mask = 0,\n buffer;\n for (let j = 0; j < width; j++) {\n if (!mask) {\n mask = 128;\n buffer = bitPacked[k++];\n }\n imgData[q++] = buffer & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n return { imgData, width, height };\n}\n\nclass SimpleSegmentVisitor {\n onPageInformation(info) {\n this.currentPageInfo = info;\n const rowSize = (info.width + 7) >> 3;\n const buffer = new Uint8ClampedArray(rowSize * info.height);\n // The contents of ArrayBuffers are initialized to 0.\n // Fill the buffer with 0xFF only if info.defaultPixelValue is set\n if (info.defaultPixelValue) {\n buffer.fill(0xff);\n }\n this.buffer = buffer;\n }\n\n drawBitmap(regionInfo, bitmap) {\n const pageInfo = this.currentPageInfo;\n const width = regionInfo.width,\n height = regionInfo.height;\n const rowSize = (pageInfo.width + 7) >> 3;\n const combinationOperator = pageInfo.combinationOperatorOverride\n ? regionInfo.combinationOperator\n : pageInfo.combinationOperator;\n const buffer = this.buffer;\n const mask0 = 128 >> (regionInfo.x & 7);\n let offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n let i, j, mask, offset;\n switch (combinationOperator) {\n case 0: // OR\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] |= mask;\n }\n mask >>= 1;\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n offset0 += rowSize;\n }\n break;\n case 2: // XOR\n for (i = 0; i < height; i++) {\n mask = mask0;\n offset = offset0;\n for (j = 0; j < width; j++) {\n if (bitmap[i][j]) {\n buffer[offset] ^= mask;\n }\n mask >>= 1;\n if (!mask) {\n mask = 128;\n offset++;\n }\n }\n offset0 += rowSize;\n }\n break;\n default:\n throw new Jbig2Error(\n `operator ${combinationOperator} is not supported`\n );\n }\n }\n\n onImmediateGenericRegion(region, data, start, end) {\n const regionInfo = region.info;\n const decodingContext = new DecodingContext(data, start, end);\n const bitmap = decodeBitmap(\n region.mmr,\n regionInfo.width,\n regionInfo.height,\n region.template,\n region.prediction,\n null,\n region.at,\n decodingContext\n );\n this.drawBitmap(regionInfo, bitmap);\n }\n\n onImmediateLosslessGenericRegion() {\n this.onImmediateGenericRegion(...arguments);\n }\n\n onSymbolDictionary(\n dictionary,\n currentSegment,\n referredSegments,\n data,\n start,\n end\n ) {\n let huffmanTables, huffmanInput;\n if (dictionary.huffman) {\n huffmanTables = getSymbolDictionaryHuffmanTables(\n dictionary,\n referredSegments,\n this.customTables\n );\n huffmanInput = new Reader(data, start, end);\n }\n\n // Combines exported symbols from all referred segments\n let symbols = this.symbols;\n if (!symbols) {\n this.symbols = symbols = {};\n }\n\n const inputSymbols = [];\n for (const referredSegment of referredSegments) {\n const referredSymbols = symbols[referredSegment];\n // referredSymbols is undefined when we have a reference to a Tables\n // segment instead of a SymbolDictionary.\n if (referredSymbols) {\n inputSymbols.push(...referredSymbols);\n }\n }\n\n const decodingContext = new DecodingContext(data, start, end);\n symbols[currentSegment] = decodeSymbolDictionary(\n dictionary.huffman,\n dictionary.refinement,\n inputSymbols,\n dictionary.numberOfNewSymbols,\n dictionary.numberOfExportedSymbols,\n huffmanTables,\n dictionary.template,\n dictionary.at,\n dictionary.refinementTemplate,\n dictionary.refinementAt,\n decodingContext,\n huffmanInput\n );\n }\n\n onImmediateTextRegion(region, referredSegments, data, start, end) {\n const regionInfo = region.info;\n let huffmanTables, huffmanInput;\n\n // Combines exported symbols from all referred segments\n const symbols = this.symbols;\n const inputSymbols = [];\n for (const referredSegment of referredSegments) {\n const referredSymbols = symbols[referredSegment];\n // referredSymbols is undefined when we have a reference to a Tables\n // segment instead of a SymbolDictionary.\n if (referredSymbols) {\n inputSymbols.push(...referredSymbols);\n }\n }\n const symbolCodeLength = log2(inputSymbols.length);\n if (region.huffman) {\n huffmanInput = new Reader(data, start, end);\n huffmanTables = getTextRegionHuffmanTables(\n region,\n referredSegments,\n this.customTables,\n inputSymbols.length,\n huffmanInput\n );\n }\n\n const decodingContext = new DecodingContext(data, start, end);\n const bitmap = decodeTextRegion(\n region.huffman,\n region.refinement,\n regionInfo.width,\n regionInfo.height,\n region.defaultPixelValue,\n region.numberOfSymbolInstances,\n region.stripSize,\n inputSymbols,\n symbolCodeLength,\n region.transposed,\n region.dsOffset,\n region.referenceCorner,\n region.combinationOperator,\n huffmanTables,\n region.refinementTemplate,\n region.refinementAt,\n decodingContext,\n region.logStripSize,\n huffmanInput\n );\n this.drawBitmap(regionInfo, bitmap);\n }\n\n onImmediateLosslessTextRegion() {\n this.onImmediateTextRegion(...arguments);\n }\n\n onPatternDictionary(dictionary, currentSegment, data, start, end) {\n let patterns = this.patterns;\n if (!patterns) {\n this.patterns = patterns = {};\n }\n const decodingContext = new DecodingContext(data, start, end);\n patterns[currentSegment] = decodePatternDictionary(\n dictionary.mmr,\n dictionary.patternWidth,\n dictionary.patternHeight,\n dictionary.maxPatternIndex,\n dictionary.template,\n decodingContext\n );\n }\n\n onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n // HalftoneRegion refers to exactly one PatternDictionary.\n const patterns = this.patterns[referredSegments[0]];\n const regionInfo = region.info;\n const decodingContext = new DecodingContext(data, start, end);\n const bitmap = decodeHalftoneRegion(\n region.mmr,\n patterns,\n region.template,\n regionInfo.width,\n regionInfo.height,\n region.defaultPixelValue,\n region.enableSkip,\n region.combinationOperator,\n region.gridWidth,\n region.gridHeight,\n region.gridOffsetX,\n region.gridOffsetY,\n region.gridVectorX,\n region.gridVectorY,\n decodingContext\n );\n this.drawBitmap(regionInfo, bitmap);\n }\n\n onImmediateLosslessHalftoneRegion() {\n this.onImmediateHalftoneRegion(...arguments);\n }\n\n onTables(currentSegment, data, start, end) {\n let customTables = this.customTables;\n if (!customTables) {\n this.customTables = customTables = {};\n }\n customTables[currentSegment] = decodeTablesSegment(data, start, end);\n }\n}\n\nclass HuffmanLine {\n constructor(lineData) {\n if (lineData.length === 2) {\n // OOB line.\n this.isOOB = true;\n this.rangeLow = 0;\n this.prefixLength = lineData[0];\n this.rangeLength = 0;\n this.prefixCode = lineData[1];\n this.isLowerRange = false;\n } else {\n // Normal, upper range or lower range line.\n // Upper range lines are processed like normal lines.\n this.isOOB = false;\n this.rangeLow = lineData[0];\n this.prefixLength = lineData[1];\n this.rangeLength = lineData[2];\n this.prefixCode = lineData[3];\n this.isLowerRange = lineData[4] === \"lower\";\n }\n }\n}\n\nclass HuffmanTreeNode {\n constructor(line) {\n this.children = [];\n if (line) {\n // Leaf node\n this.isLeaf = true;\n this.rangeLength = line.rangeLength;\n this.rangeLow = line.rangeLow;\n this.isLowerRange = line.isLowerRange;\n this.isOOB = line.isOOB;\n } else {\n // Intermediate or root node\n this.isLeaf = false;\n }\n }\n\n buildTree(line, shift) {\n const bit = (line.prefixCode >> shift) & 1;\n if (shift <= 0) {\n // Create a leaf node.\n this.children[bit] = new HuffmanTreeNode(line);\n } else {\n // Create an intermediate node and continue recursively.\n let node = this.children[bit];\n if (!node) {\n this.children[bit] = node = new HuffmanTreeNode(null);\n }\n node.buildTree(line, shift - 1);\n }\n }\n\n decodeNode(reader) {\n if (this.isLeaf) {\n if (this.isOOB) {\n return null;\n }\n const htOffset = reader.readBits(this.rangeLength);\n return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n }\n const node = this.children[reader.readBit()];\n if (!node) {\n throw new Jbig2Error(\"invalid Huffman data\");\n }\n return node.decodeNode(reader);\n }\n}\n\nclass HuffmanTable {\n constructor(lines, prefixCodesDone) {\n if (!prefixCodesDone) {\n this.assignPrefixCodes(lines);\n }\n // Create Huffman tree.\n this.rootNode = new HuffmanTreeNode(null);\n for (let i = 0, ii = lines.length; i < ii; i++) {\n const line = lines[i];\n if (line.prefixLength > 0) {\n this.rootNode.buildTree(line, line.prefixLength - 1);\n }\n }\n }\n\n decode(reader) {\n return this.rootNode.decodeNode(reader);\n }\n\n assignPrefixCodes(lines) {\n // Annex B.3 Assigning the prefix codes.\n const linesLength = lines.length;\n let prefixLengthMax = 0;\n for (let i = 0; i < linesLength; i++) {\n prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n }\n\n const histogram = new Uint32Array(prefixLengthMax + 1);\n for (let i = 0; i < linesLength; i++) {\n histogram[lines[i].prefixLength]++;\n }\n let currentLength = 1,\n firstCode = 0,\n currentCode,\n currentTemp,\n line;\n histogram[0] = 0;\n\n while (currentLength <= prefixLengthMax) {\n firstCode = (firstCode + histogram[currentLength - 1]) << 1;\n currentCode = firstCode;\n currentTemp = 0;\n while (currentTemp < linesLength) {\n line = lines[currentTemp];\n if (line.prefixLength === currentLength) {\n line.prefixCode = currentCode;\n currentCode++;\n }\n currentTemp++;\n }\n currentLength++;\n }\n }\n}\n\nfunction decodeTablesSegment(data, start, end) {\n // Decodes a Tables segment, i.e., a custom Huffman table.\n // Annex B.2 Code table structure.\n const flags = data[start];\n const lowestValue = readUint32(data, start + 1) & 0xffffffff;\n const highestValue = readUint32(data, start + 5) & 0xffffffff;\n const reader = new Reader(data, start + 9, end);\n\n const prefixSizeBits = ((flags >> 1) & 7) + 1;\n const rangeSizeBits = ((flags >> 4) & 7) + 1;\n const lines = [];\n let prefixLength,\n rangeLength,\n currentRangeLow = lowestValue;\n\n // Normal table lines\n do {\n prefixLength = reader.readBits(prefixSizeBits);\n rangeLength = reader.readBits(rangeSizeBits);\n lines.push(\n new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0])\n );\n currentRangeLow += 1 << rangeLength;\n } while (currentRangeLow < highestValue);\n\n // Lower range table line\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, \"lower\"]));\n\n // Upper range table line\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n\n if (flags & 1) {\n // Out-of-band table line\n prefixLength = reader.readBits(prefixSizeBits);\n lines.push(new HuffmanLine([prefixLength, 0]));\n }\n\n return new HuffmanTable(lines, false);\n}\n\nconst standardTablesCache = {};\n\nfunction getStandardTable(number) {\n // Annex B.5 Standard Huffman tables.\n let table = standardTablesCache[number];\n if (table) {\n return table;\n }\n let lines;\n switch (number) {\n case 1:\n lines = [\n [0, 1, 4, 0x0],\n [16, 2, 8, 0x2],\n [272, 3, 16, 0x6],\n [65808, 3, 32, 0x7], // upper\n ];\n break;\n case 2:\n lines = [\n [0, 1, 0, 0x0],\n [1, 2, 0, 0x2],\n [2, 3, 0, 0x6],\n [3, 4, 3, 0xe],\n [11, 5, 6, 0x1e],\n [75, 6, 32, 0x3e], // upper\n [6, 0x3f], // OOB\n ];\n break;\n case 3:\n lines = [\n [-256, 8, 8, 0xfe],\n [0, 1, 0, 0x0],\n [1, 2, 0, 0x2],\n [2, 3, 0, 0x6],\n [3, 4, 3, 0xe],\n [11, 5, 6, 0x1e],\n [-257, 8, 32, 0xff, \"lower\"],\n [75, 7, 32, 0x7e], // upper\n [6, 0x3e], // OOB\n ];\n break;\n case 4:\n lines = [\n [1, 1, 0, 0x0],\n [2, 2, 0, 0x2],\n [3, 3, 0, 0x6],\n [4, 4, 3, 0xe],\n [12, 5, 6, 0x1e],\n [76, 5, 32, 0x1f], // upper\n ];\n break;\n case 5:\n lines = [\n [-255, 7, 8, 0x7e],\n [1, 1, 0, 0x0],\n [2, 2, 0, 0x2],\n [3, 3, 0, 0x6],\n [4, 4, 3, 0xe],\n [12, 5, 6, 0x1e],\n [-256, 7, 32, 0x7f, \"lower\"],\n [76, 6, 32, 0x3e], // upper\n ];\n break;\n case 6:\n lines = [\n [-2048, 5, 10, 0x1c],\n [-1024, 4, 9, 0x8],\n [-512, 4, 8, 0x9],\n [-256, 4, 7, 0xa],\n [-128, 5, 6, 0x1d],\n [-64, 5, 5, 0x1e],\n [-32, 4, 5, 0xb],\n [0, 2, 7, 0x0],\n [128, 3, 7, 0x2],\n [256, 3, 8, 0x3],\n [512, 4, 9, 0xc],\n [1024, 4, 10, 0xd],\n [-2049, 6, 32, 0x3e, \"lower\"],\n [2048, 6, 32, 0x3f], // upper\n ];\n break;\n case 7:\n lines = [\n [-1024, 4, 9, 0x8],\n [-512, 3, 8, 0x0],\n [-256, 4, 7, 0x9],\n [-128, 5, 6, 0x1a],\n [-64, 5, 5, 0x1b],\n [-32, 4, 5, 0xa],\n [0, 4, 5, 0xb],\n [32, 5, 5, 0x1c],\n [64, 5, 6, 0x1d],\n [128, 4, 7, 0xc],\n [256, 3, 8, 0x1],\n [512, 3, 9, 0x2],\n [1024, 3, 10, 0x3],\n [-1025, 5, 32, 0x1e, \"lower\"],\n [2048, 5, 32, 0x1f], // upper\n ];\n break;\n case 8:\n lines = [\n [-15, 8, 3, 0xfc],\n [-7, 9, 1, 0x1fc],\n [-5, 8, 1, 0xfd],\n [-3, 9, 0, 0x1fd],\n [-2, 7, 0, 0x7c],\n [-1, 4, 0, 0xa],\n [0, 2, 1, 0x0],\n [2, 5, 0, 0x1a],\n [3, 6, 0, 0x3a],\n [4, 3, 4, 0x4],\n [20, 6, 1, 0x3b],\n [22, 4, 4, 0xb],\n [38, 4, 5, 0xc],\n [70, 5, 6, 0x1b],\n [134, 5, 7, 0x1c],\n [262, 6, 7, 0x3c],\n [390, 7, 8, 0x7d],\n [646, 6, 10, 0x3d],\n [-16, 9, 32, 0x1fe, \"lower\"],\n [1670, 9, 32, 0x1ff], // upper\n [2, 0x1], // OOB\n ];\n break;\n case 9:\n lines = [\n [-31, 8, 4, 0xfc],\n [-15, 9, 2, 0x1fc],\n [-11, 8, 2, 0xfd],\n [-7, 9, 1, 0x1fd],\n [-5, 7, 1, 0x7c],\n [-3, 4, 1, 0xa],\n [-1, 3, 1, 0x2],\n [1, 3, 1, 0x3],\n [3, 5, 1, 0x1a],\n [5, 6, 1, 0x3a],\n [7, 3, 5, 0x4],\n [39, 6, 2, 0x3b],\n [43, 4, 5, 0xb],\n [75, 4, 6, 0xc],\n [139, 5, 7, 0x1b],\n [267, 5, 8, 0x1c],\n [523, 6, 8, 0x3c],\n [779, 7, 9, 0x7d],\n [1291, 6, 11, 0x3d],\n [-32, 9, 32, 0x1fe, \"lower\"],\n [3339, 9, 32, 0x1ff], // upper\n [2, 0x0], // OOB\n ];\n break;\n case 10:\n lines = [\n [-21, 7, 4, 0x7a],\n [-5, 8, 0, 0xfc],\n [-4, 7, 0, 0x7b],\n [-3, 5, 0, 0x18],\n [-2, 2, 2, 0x0],\n [2, 5, 0, 0x19],\n [3, 6, 0, 0x36],\n [4, 7, 0, 0x7c],\n [5, 8, 0, 0xfd],\n [6, 2, 6, 0x1],\n [70, 5, 5, 0x1a],\n [102, 6, 5, 0x37],\n [134, 6, 6, 0x38],\n [198, 6, 7, 0x39],\n [326, 6, 8, 0x3a],\n [582, 6, 9, 0x3b],\n [1094, 6, 10, 0x3c],\n [2118, 7, 11, 0x7d],\n [-22, 8, 32, 0xfe, \"lower\"],\n [4166, 8, 32, 0xff], // upper\n [2, 0x2], // OOB\n ];\n break;\n case 11:\n lines = [\n [1, 1, 0, 0x0],\n [2, 2, 1, 0x2],\n [4, 4, 0, 0xc],\n [5, 4, 1, 0xd],\n [7, 5, 1, 0x1c],\n [9, 5, 2, 0x1d],\n [13, 6, 2, 0x3c],\n [17, 7, 2, 0x7a],\n [21, 7, 3, 0x7b],\n [29, 7, 4, 0x7c],\n [45, 7, 5, 0x7d],\n [77, 7, 6, 0x7e],\n [141, 7, 32, 0x7f], // upper\n ];\n break;\n case 12:\n lines = [\n [1, 1, 0, 0x0],\n [2, 2, 0, 0x2],\n [3, 3, 1, 0x6],\n [5, 5, 0, 0x1c],\n [6, 5, 1, 0x1d],\n [8, 6, 1, 0x3c],\n [10, 7, 0, 0x7a],\n [11, 7, 1, 0x7b],\n [13, 7, 2, 0x7c],\n [17, 7, 3, 0x7d],\n [25, 7, 4, 0x7e],\n [41, 8, 5, 0xfe],\n [73, 8, 32, 0xff], // upper\n ];\n break;\n case 13:\n lines = [\n [1, 1, 0, 0x0],\n [2, 3, 0, 0x4],\n [3, 4, 0, 0xc],\n [4, 5, 0, 0x1c],\n [5, 4, 1, 0xd],\n [7, 3, 3, 0x5],\n [15, 6, 1, 0x3a],\n [17, 6, 2, 0x3b],\n [21, 6, 3, 0x3c],\n [29, 6, 4, 0x3d],\n [45, 6, 5, 0x3e],\n [77, 7, 6, 0x7e],\n [141, 7, 32, 0x7f], // upper\n ];\n break;\n case 14:\n lines = [\n [-2, 3, 0, 0x4],\n [-1, 3, 0, 0x5],\n [0, 1, 0, 0x0],\n [1, 3, 0, 0x6],\n [2, 3, 0, 0x7],\n ];\n break;\n case 15:\n lines = [\n [-24, 7, 4, 0x7c],\n [-8, 6, 2, 0x3c],\n [-4, 5, 1, 0x1c],\n [-2, 4, 0, 0xc],\n [-1, 3, 0, 0x4],\n [0, 1, 0, 0x0],\n [1, 3, 0, 0x5],\n [2, 4, 0, 0xd],\n [3, 5, 1, 0x1d],\n [5, 6, 2, 0x3d],\n [9, 7, 4, 0x7d],\n [-25, 7, 32, 0x7e, \"lower\"],\n [25, 7, 32, 0x7f], // upper\n ];\n break;\n default:\n throw new Jbig2Error(`standard table B.${number} does not exist`);\n }\n\n for (let i = 0, ii = lines.length; i < ii; i++) {\n lines[i] = new HuffmanLine(lines[i]);\n }\n table = new HuffmanTable(lines, true);\n standardTablesCache[number] = table;\n return table;\n}\n\nclass Reader {\n constructor(data, start, end) {\n this.data = data;\n this.start = start;\n this.end = end;\n this.position = start;\n this.shift = -1;\n this.currentByte = 0;\n }\n\n readBit() {\n if (this.shift < 0) {\n if (this.position >= this.end) {\n throw new Jbig2Error(\"end of data while reading bit\");\n }\n this.currentByte = this.data[this.position++];\n this.shift = 7;\n }\n const bit = (this.currentByte >> this.shift) & 1;\n this.shift--;\n return bit;\n }\n\n readBits(numBits) {\n let result = 0,\n i;\n for (i = numBits - 1; i >= 0; i--) {\n result |= this.readBit() << i;\n }\n return result;\n }\n\n byteAlign() {\n this.shift = -1;\n }\n\n next() {\n if (this.position >= this.end) {\n return -1;\n }\n return this.data[this.position++];\n }\n}\n\nfunction getCustomHuffmanTable(index, referredTo, customTables) {\n // Returns a Tables segment that has been earlier decoded.\n // See 7.4.2.1.6 (symbol dictionary) or 7.4.3.1.6 (text region).\n let currentIndex = 0;\n for (let i = 0, ii = referredTo.length; i < ii; i++) {\n const table = customTables[referredTo[i]];\n if (table) {\n if (index === currentIndex) {\n return table;\n }\n currentIndex++;\n }\n }\n throw new Jbig2Error(\"can't find custom Huffman table\");\n}\n\nfunction getTextRegionHuffmanTables(\n textRegion,\n referredTo,\n customTables,\n numberOfSymbols,\n reader\n) {\n // 7.4.3.1.7 Symbol ID Huffman table decoding\n\n // Read code lengths for RUNCODEs 0...34.\n const codes = [];\n for (let i = 0; i <= 34; i++) {\n const codeLength = reader.readBits(4);\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n }\n // Assign Huffman codes for RUNCODEs.\n const runCodesTable = new HuffmanTable(codes, false);\n\n // Read a Huffman code using the assignment above.\n // Interpret the RUNCODE codes and the additional bits (if any).\n codes.length = 0;\n for (let i = 0; i < numberOfSymbols; ) {\n const codeLength = runCodesTable.decode(reader);\n if (codeLength >= 32) {\n let repeatedLength, numberOfRepeats, j;\n switch (codeLength) {\n case 32:\n if (i === 0) {\n throw new Jbig2Error(\"no previous value in symbol ID table\");\n }\n numberOfRepeats = reader.readBits(2) + 3;\n repeatedLength = codes[i - 1].prefixLength;\n break;\n case 33:\n numberOfRepeats = reader.readBits(3) + 3;\n repeatedLength = 0;\n break;\n case 34:\n numberOfRepeats = reader.readBits(7) + 11;\n repeatedLength = 0;\n break;\n default:\n throw new Jbig2Error(\"invalid code length in symbol ID table\");\n }\n for (j = 0; j < numberOfRepeats; j++) {\n codes.push(new HuffmanLine([i, repeatedLength, 0, 0]));\n i++;\n }\n } else {\n codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n i++;\n }\n }\n reader.byteAlign();\n const symbolIDTable = new HuffmanTable(codes, false);\n\n // 7.4.3.1.6 Text region segment Huffman table selection\n\n let customIndex = 0,\n tableFirstS,\n tableDeltaS,\n tableDeltaT;\n\n switch (textRegion.huffmanFS) {\n case 0:\n case 1:\n tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n break;\n case 3:\n tableFirstS = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman FS selector\");\n }\n\n switch (textRegion.huffmanDS) {\n case 0:\n case 1:\n case 2:\n tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n break;\n case 3:\n tableDeltaS = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DS selector\");\n }\n\n switch (textRegion.huffmanDT) {\n case 0:\n case 1:\n case 2:\n tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n break;\n case 3:\n tableDeltaT = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DT selector\");\n }\n\n if (textRegion.refinement) {\n // Load tables RDW, RDH, RDX and RDY.\n throw new Jbig2Error(\"refinement with Huffman is not supported\");\n }\n\n return {\n symbolIDTable,\n tableFirstS,\n tableDeltaS,\n tableDeltaT,\n };\n}\n\nfunction getSymbolDictionaryHuffmanTables(\n dictionary,\n referredTo,\n customTables\n) {\n // 7.4.2.1.6 Symbol dictionary segment Huffman table selection\n\n let customIndex = 0,\n tableDeltaHeight,\n tableDeltaWidth;\n switch (dictionary.huffmanDHSelector) {\n case 0:\n case 1:\n tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n break;\n case 3:\n tableDeltaHeight = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DH selector\");\n }\n\n switch (dictionary.huffmanDWSelector) {\n case 0:\n case 1:\n tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n break;\n case 3:\n tableDeltaWidth = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n break;\n default:\n throw new Jbig2Error(\"invalid Huffman DW selector\");\n }\n\n let tableBitmapSize, tableAggregateInstances;\n if (dictionary.bitmapSizeSelector) {\n tableBitmapSize = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n customIndex++;\n } else {\n tableBitmapSize = getStandardTable(1);\n }\n\n if (dictionary.aggregationInstancesSelector) {\n tableAggregateInstances = getCustomHuffmanTable(\n customIndex,\n referredTo,\n customTables\n );\n } else {\n tableAggregateInstances = getStandardTable(1);\n }\n\n return {\n tableDeltaHeight,\n tableDeltaWidth,\n tableBitmapSize,\n tableAggregateInstances,\n };\n}\n\nfunction readUncompressedBitmap(reader, width, height) {\n const bitmap = [];\n for (let y = 0; y < height; y++) {\n const row = new Uint8Array(width);\n bitmap.push(row);\n for (let x = 0; x < width; x++) {\n row[x] = reader.readBit();\n }\n reader.byteAlign();\n }\n return bitmap;\n}\n\nfunction decodeMMRBitmap(input, width, height, endOfBlock) {\n // MMR is the same compression algorithm as the PDF filter\n // CCITTFaxDecode with /K -1.\n const params = {\n K: -1,\n Columns: width,\n Rows: height,\n BlackIs1: true,\n EndOfBlock: endOfBlock,\n };\n const decoder = new CCITTFaxDecoder(input, params);\n const bitmap = [];\n let currentByte,\n eof = false;\n\n for (let y = 0; y < height; y++) {\n const row = new Uint8Array(width);\n bitmap.push(row);\n let shift = -1;\n for (let x = 0; x < width; x++) {\n if (shift < 0) {\n currentByte = decoder.readNextChar();\n if (currentByte === -1) {\n // Set the rest of the bits to zero.\n currentByte = 0;\n eof = true;\n }\n shift = 7;\n }\n row[x] = (currentByte >> shift) & 1;\n shift--;\n }\n }\n\n if (endOfBlock && !eof) {\n // Read until EOFB has been consumed.\n const lookForEOFLimit = 5;\n for (let i = 0; i < lookForEOFLimit; i++) {\n if (decoder.readNextChar() === -1) {\n break;\n }\n }\n }\n\n return bitmap;\n}\n\nclass Jbig2Image {\n parseChunks(chunks) {\n return parseJbig2Chunks(chunks);\n }\n\n parse(data) {\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"IMAGE_DECODERS\")) {\n throw new Error(\"Not implemented: Jbig2Image.parse\");\n }\n const { imgData, width, height } = parseJbig2(data);\n this.width = width;\n this.height = height;\n return imgData;\n }\n}\n\nexport { Jbig2Image };\n","/* Copyright 2019 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AnnotationEditorPrefix,\n assert,\n BaseException,\n objectSize,\n stringToPDFString,\n warn,\n} from \"../shared/util.js\";\nimport { Dict, isName, Ref, RefSet } from \"./primitives.js\";\nimport { BaseStream } from \"./base_stream.js\";\n\nconst PDF_VERSION_REGEXP = /^[1-9]\\.\\d$/;\n\nfunction getLookupTableFactory(initializer) {\n let lookup;\n return function () {\n if (initializer) {\n lookup = Object.create(null);\n initializer(lookup);\n initializer = null;\n }\n return lookup;\n };\n}\n\nclass MissingDataException extends BaseException {\n constructor(begin, end) {\n super(`Missing data [${begin}, ${end})`, \"MissingDataException\");\n this.begin = begin;\n this.end = end;\n }\n}\n\nclass ParserEOFException extends BaseException {\n constructor(msg) {\n super(msg, \"ParserEOFException\");\n }\n}\n\nclass XRefEntryException extends BaseException {\n constructor(msg) {\n super(msg, \"XRefEntryException\");\n }\n}\n\nclass XRefParseException extends BaseException {\n constructor(msg) {\n super(msg, \"XRefParseException\");\n }\n}\n\n/**\n * Combines multiple ArrayBuffers into a single Uint8Array.\n * @param {Array<ArrayBuffer>} arr - An array of ArrayBuffers.\n * @returns {Uint8Array}\n */\nfunction arrayBuffersToBytes(arr) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n for (const item of arr) {\n assert(\n item instanceof ArrayBuffer,\n \"arrayBuffersToBytes - expected an ArrayBuffer.\"\n );\n }\n }\n const length = arr.length;\n if (length === 0) {\n return new Uint8Array(0);\n }\n if (length === 1) {\n return new Uint8Array(arr[0]);\n }\n let dataLength = 0;\n for (let i = 0; i < length; i++) {\n dataLength += arr[i].byteLength;\n }\n const data = new Uint8Array(dataLength);\n let pos = 0;\n for (let i = 0; i < length; i++) {\n const item = new Uint8Array(arr[i]);\n data.set(item, pos);\n pos += item.byteLength;\n }\n return data;\n}\n\n/**\n * Get the value of an inheritable property.\n *\n * If the PDF specification explicitly lists a property in a dictionary as\n * inheritable, then the value of the property may be present in the dictionary\n * itself or in one or more parents of the dictionary.\n *\n * If the key is not found in the tree, `undefined` is returned. Otherwise,\n * the value for the key is returned or, if `stopWhenFound` is `false`, a list\n * of values is returned.\n *\n * @param {Dict} dict - Dictionary from where to start the traversal.\n * @param {string} key - The key of the property to find the value for.\n * @param {boolean} getArray - Whether or not the value should be fetched as an\n * array. The default value is `false`.\n * @param {boolean} stopWhenFound - Whether or not to stop the traversal when\n * the key is found. If set to `false`, we always walk up the entire parent\n * chain, for example to be able to find `\\Resources` placed on multiple\n * levels of the tree. The default value is `true`.\n */\nfunction getInheritableProperty({\n dict,\n key,\n getArray = false,\n stopWhenFound = true,\n}) {\n let values;\n const visited = new RefSet();\n\n while (dict instanceof Dict && !(dict.objId && visited.has(dict.objId))) {\n if (dict.objId) {\n visited.put(dict.objId);\n }\n const value = getArray ? dict.getArray(key) : dict.get(key);\n if (value !== undefined) {\n if (stopWhenFound) {\n return value;\n }\n (values ||= []).push(value);\n }\n dict = dict.get(\"Parent\");\n }\n return values;\n}\n\n// prettier-ignore\nconst ROMAN_NUMBER_MAP = [\n \"\", \"C\", \"CC\", \"CCC\", \"CD\", \"D\", \"DC\", \"DCC\", \"DCCC\", \"CM\",\n \"\", \"X\", \"XX\", \"XXX\", \"XL\", \"L\", \"LX\", \"LXX\", \"LXXX\", \"XC\",\n \"\", \"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\"\n];\n\n/**\n * Converts positive integers to (upper case) Roman numerals.\n * @param {number} number - The number that should be converted.\n * @param {boolean} lowerCase - Indicates if the result should be converted\n * to lower case letters. The default value is `false`.\n * @returns {string} The resulting Roman number.\n */\nfunction toRomanNumerals(number, lowerCase = false) {\n assert(\n Number.isInteger(number) && number > 0,\n \"The number should be a positive integer.\"\n );\n const romanBuf = [];\n let pos;\n // Thousands\n while (number >= 1000) {\n number -= 1000;\n romanBuf.push(\"M\");\n }\n // Hundreds\n pos = (number / 100) | 0;\n number %= 100;\n romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n // Tens\n pos = (number / 10) | 0;\n number %= 10;\n romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n // Ones\n romanBuf.push(ROMAN_NUMBER_MAP[20 + number]); // eslint-disable-line unicorn/no-array-push-push\n\n const romanStr = romanBuf.join(\"\");\n return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\n\n// Calculate the base 2 logarithm of the number `x`. This differs from the\n// native function in the sense that it returns the ceiling value and that it\n// returns 0 instead of `Infinity`/`NaN` for `x` values smaller than/equal to 0.\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, offset) {\n return (data[offset] << 24) >> 24;\n}\n\nfunction readUint16(data, offset) {\n return (data[offset] << 8) | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return (\n ((data[offset] << 24) |\n (data[offset + 1] << 16) |\n (data[offset + 2] << 8) |\n data[offset + 3]) >>>\n 0\n );\n}\n\n// Checks if ch is one of the following characters: SPACE, TAB, CR or LF.\nfunction isWhiteSpace(ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n}\n\n/**\n * AcroForm field names use an array like notation to refer to\n * repeated XFA elements e.g. foo.bar[nnn].\n * see: XFA Spec Chapter 3 - Repeated Elements\n *\n * @param {string} path - XFA path name.\n * @returns {Array} - Array of Objects with the name and pos of\n * each part of the path.\n */\nfunction parseXFAPath(path) {\n const positionPattern = /(.+)\\[(\\d+)\\]$/;\n return path.split(\".\").map(component => {\n const m = component.match(positionPattern);\n if (m) {\n return { name: m[1], pos: parseInt(m[2], 10) };\n }\n return { name: component, pos: 0 };\n });\n}\n\nfunction escapePDFName(str) {\n const buffer = [];\n let start = 0;\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n // Whitespace or delimiters aren't regular chars, so escape them.\n if (\n char < 0x21 ||\n char > 0x7e ||\n char === 0x23 /* # */ ||\n char === 0x28 /* ( */ ||\n char === 0x29 /* ) */ ||\n char === 0x3c /* < */ ||\n char === 0x3e /* > */ ||\n char === 0x5b /* [ */ ||\n char === 0x5d /* ] */ ||\n char === 0x7b /* { */ ||\n char === 0x7d /* } */ ||\n char === 0x2f /* / */ ||\n char === 0x25 /* % */\n ) {\n if (start < i) {\n buffer.push(str.substring(start, i));\n }\n buffer.push(`#${char.toString(16)}`);\n start = i + 1;\n }\n }\n\n if (buffer.length === 0) {\n return str;\n }\n\n if (start < str.length) {\n buffer.push(str.substring(start, str.length));\n }\n\n return buffer.join(\"\");\n}\n\n// Replace \"(\", \")\", \"\\n\", \"\\r\" and \"\\\" by \"\\(\", \"\\)\", \"\\\\n\", \"\\\\r\" and \"\\\\\"\n// in order to write it in a PDF file.\nfunction escapeString(str) {\n return str.replaceAll(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n return `\\\\${match}`;\n });\n}\n\nfunction _collectJS(entry, xref, list, parents) {\n if (!entry) {\n return;\n }\n\n let parent = null;\n if (entry instanceof Ref) {\n if (parents.has(entry)) {\n // If we've already found entry then we've a cycle.\n return;\n }\n parent = entry;\n parents.put(parent);\n entry = xref.fetch(entry);\n }\n if (Array.isArray(entry)) {\n for (const element of entry) {\n _collectJS(element, xref, list, parents);\n }\n } else if (entry instanceof Dict) {\n if (isName(entry.get(\"S\"), \"JavaScript\")) {\n const js = entry.get(\"JS\");\n let code;\n if (js instanceof BaseStream) {\n code = js.getString();\n } else if (typeof js === \"string\") {\n code = js;\n }\n code &&= stringToPDFString(code).replaceAll(\"\\x00\", \"\");\n if (code) {\n list.push(code);\n }\n }\n _collectJS(entry.getRaw(\"Next\"), xref, list, parents);\n }\n\n if (parent) {\n parents.remove(parent);\n }\n}\n\nfunction collectActions(xref, dict, eventType) {\n const actions = Object.create(null);\n const additionalActionsDicts = getInheritableProperty({\n dict,\n key: \"AA\",\n stopWhenFound: false,\n });\n if (additionalActionsDicts) {\n // additionalActionsDicts contains dicts from ancestors\n // as they're found in the tree from bottom to top.\n // So the dicts are visited in reverse order to guarantee\n // that actions from elder ancestors will be overwritten\n // by ones from younger ancestors.\n for (let i = additionalActionsDicts.length - 1; i >= 0; i--) {\n const additionalActions = additionalActionsDicts[i];\n if (!(additionalActions instanceof Dict)) {\n continue;\n }\n for (const key of additionalActions.getKeys()) {\n const action = eventType[key];\n if (!action) {\n continue;\n }\n const actionDict = additionalActions.getRaw(key);\n const parents = new RefSet();\n const list = [];\n _collectJS(actionDict, xref, list, parents);\n if (list.length > 0) {\n actions[action] = list;\n }\n }\n }\n }\n // Collect the Action if any (we may have one on pushbutton).\n if (dict.has(\"A\")) {\n const actionDict = dict.get(\"A\");\n const parents = new RefSet();\n const list = [];\n _collectJS(actionDict, xref, list, parents);\n if (list.length > 0) {\n actions.Action = list;\n }\n }\n return objectSize(actions) > 0 ? actions : null;\n}\n\nconst XMLEntities = {\n /* < */ 0x3c: \"&lt;\",\n /* > */ 0x3e: \"&gt;\",\n /* & */ 0x26: \"&amp;\",\n /* \" */ 0x22: \"&quot;\",\n /* ' */ 0x27: \"&apos;\",\n};\n\nfunction encodeToXmlString(str) {\n const buffer = [];\n let start = 0;\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.codePointAt(i);\n if (0x20 <= char && char <= 0x7e) {\n // ascii\n const entity = XMLEntities[char];\n if (entity) {\n if (start < i) {\n buffer.push(str.substring(start, i));\n }\n buffer.push(entity);\n start = i + 1;\n }\n } else {\n if (start < i) {\n buffer.push(str.substring(start, i));\n }\n buffer.push(`&#x${char.toString(16).toUpperCase()};`);\n if (char > 0xd7ff && (char < 0xe000 || char > 0xfffd)) {\n // char is represented by two u16\n i++;\n }\n start = i + 1;\n }\n }\n\n if (buffer.length === 0) {\n return str;\n }\n if (start < str.length) {\n buffer.push(str.substring(start, str.length));\n }\n return buffer.join(\"\");\n}\n\nfunction validateFontName(fontFamily, mustWarn = false) {\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/string.\n const m = /^(\"|').*(\"|')$/.exec(fontFamily);\n if (m && m[1] === m[2]) {\n const re = new RegExp(`[^\\\\\\\\]${m[1]}`);\n if (re.test(fontFamily.slice(1, -1))) {\n if (mustWarn) {\n warn(`FontFamily contains unescaped ${m[1]}: ${fontFamily}.`);\n }\n return false;\n }\n } else {\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/custom-ident.\n for (const ident of fontFamily.split(/[ \\t]+/)) {\n if (/^(\\d|(-(\\d|-)))/.test(ident) || !/^[\\w-\\\\]+$/.test(ident)) {\n if (mustWarn) {\n warn(`FontFamily contains invalid <custom-ident>: ${fontFamily}.`);\n }\n return false;\n }\n }\n }\n return true;\n}\n\nfunction validateCSSFont(cssFontInfo) {\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/font-style.\n const DEFAULT_CSS_FONT_OBLIQUE = \"14\";\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight.\n const DEFAULT_CSS_FONT_WEIGHT = \"400\";\n const CSS_FONT_WEIGHT_VALUES = new Set([\n \"100\",\n \"200\",\n \"300\",\n \"400\",\n \"500\",\n \"600\",\n \"700\",\n \"800\",\n \"900\",\n \"1000\",\n \"normal\",\n \"bold\",\n \"bolder\",\n \"lighter\",\n ]);\n\n const { fontFamily, fontWeight, italicAngle } = cssFontInfo;\n\n if (!validateFontName(fontFamily, true)) {\n return false;\n }\n\n const weight = fontWeight ? fontWeight.toString() : \"\";\n cssFontInfo.fontWeight = CSS_FONT_WEIGHT_VALUES.has(weight)\n ? weight\n : DEFAULT_CSS_FONT_WEIGHT;\n\n const angle = parseFloat(italicAngle);\n cssFontInfo.italicAngle =\n isNaN(angle) || angle < -90 || angle > 90\n ? DEFAULT_CSS_FONT_OBLIQUE\n : italicAngle.toString();\n\n return true;\n}\n\nfunction recoverJsURL(str) {\n // Attempt to recover valid URLs from `JS` entries with certain\n // white-listed formats:\n // - window.open('http://example.com')\n // - app.launchURL('http://example.com', true)\n // - xfa.host.gotoURL('http://example.com')\n const URL_OPEN_METHODS = [\"app.launchURL\", \"window.open\", \"xfa.host.gotoURL\"];\n const regex = new RegExp(\n \"^\\\\s*(\" +\n URL_OPEN_METHODS.join(\"|\").replaceAll(\".\", \"\\\\.\") +\n \")\\\\((?:'|\\\")([^'\\\"]*)(?:'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))\",\n \"i\"\n );\n\n const jsUrl = regex.exec(str);\n if (jsUrl?.[2]) {\n const url = jsUrl[2];\n let newWindow = false;\n\n if (jsUrl[3] === \"true\" && jsUrl[1] === \"app.launchURL\") {\n newWindow = true;\n }\n return { url, newWindow };\n }\n\n return null;\n}\n\nfunction numberToString(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n const roundedValue = Math.round(value * 100);\n if (roundedValue % 100 === 0) {\n return (roundedValue / 100).toString();\n }\n\n if (roundedValue % 10 === 0) {\n return value.toFixed(1);\n }\n\n return value.toFixed(2);\n}\n\nfunction getNewAnnotationsMap(annotationStorage) {\n if (!annotationStorage) {\n return null;\n }\n const newAnnotationsByPage = new Map();\n // The concept of page in a XFA is very different, so\n // editing is just not implemented.\n for (const [key, value] of annotationStorage) {\n if (!key.startsWith(AnnotationEditorPrefix)) {\n continue;\n }\n let annotations = newAnnotationsByPage.get(value.pageIndex);\n if (!annotations) {\n annotations = [];\n newAnnotationsByPage.set(value.pageIndex, annotations);\n }\n annotations.push(value);\n }\n return newAnnotationsByPage.size > 0 ? newAnnotationsByPage : null;\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16HexString(str) {\n const buf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(\n ((char >> 8) & 0xff).toString(16).padStart(2, \"0\"),\n (char & 0xff).toString(16).padStart(2, \"0\")\n );\n }\n return buf.join(\"\");\n}\n\nfunction stringToUTF16String(str, bigEndian = false) {\n const buf = [];\n if (bigEndian) {\n buf.push(\"\\xFE\\xFF\");\n }\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(\n String.fromCharCode((char >> 8) & 0xff),\n String.fromCharCode(char & 0xff)\n );\n }\n return buf.join(\"\");\n}\n\nfunction getRotationMatrix(rotation, width, height) {\n switch (rotation) {\n case 90:\n return [0, 1, -1, 0, width, 0];\n case 180:\n return [-1, 0, 0, -1, width, height];\n case 270:\n return [0, -1, 1, 0, 0, height];\n default:\n throw new Error(\"Invalid rotation\");\n }\n}\n\nexport {\n arrayBuffersToBytes,\n collectActions,\n encodeToXmlString,\n escapePDFName,\n escapeString,\n getInheritableProperty,\n getLookupTableFactory,\n getNewAnnotationsMap,\n getRotationMatrix,\n isAscii,\n isWhiteSpace,\n log2,\n MissingDataException,\n numberToString,\n ParserEOFException,\n parseXFAPath,\n PDF_VERSION_REGEXP,\n readInt8,\n readUint16,\n readUint32,\n recoverJsURL,\n stringToUTF16HexString,\n stringToUTF16String,\n toRomanNumerals,\n validateCSSFont,\n validateFontName,\n XRefEntryException,\n XRefParseException,\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar difference = require('../internals/set-difference');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, {\n difference: difference\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function difference(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = clone(O);\n if (size(O) <= otherRec.size) iterateSet(O, function (e) {\n if (otherRec.includes(e)) remove(result, e);\n });\n else iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) remove(result, e);\n });\n return result;\n};\n","'use strict';\nvar has = require('../internals/set-helpers').has;\n\n// Perform ? RequireInternalSlot(M, [[SetData]])\nmodule.exports = function (it) {\n has(it);\n return it;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-set -- safe\nvar SetPrototype = Set.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-set -- safe\n Set: Set,\n add: uncurryThis(SetPrototype.add),\n has: uncurryThis(SetPrototype.has),\n remove: uncurryThis(SetPrototype['delete']),\n proto: SetPrototype\n};\n","'use strict';\nvar SetHelpers = require('../internals/set-helpers');\nvar iterate = require('../internals/set-iterate');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\n\nmodule.exports = function (set) {\n var result = new Set();\n iterate(set, function (it) {\n add(result, it);\n });\n return result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar iterateSimple = require('../internals/iterate-simple');\nvar SetHelpers = require('../internals/set-helpers');\n\nvar Set = SetHelpers.Set;\nvar SetPrototype = SetHelpers.proto;\nvar forEach = uncurryThis(SetPrototype.forEach);\nvar keys = uncurryThis(SetPrototype.keys);\nvar next = keys(new Set()).next;\n\nmodule.exports = function (set, fn, interruptible) {\n return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);\n};\n","'use strict';\nvar call = require('../internals/function-call');\n\nmodule.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {\n var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;\n var next = record.next;\n var step, result;\n while (!(step = call(next, iterator)).done) {\n result = fn(step.value);\n if (result !== undefined) return result;\n }\n};\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar SetHelpers = require('../internals/set-helpers');\n\nmodule.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {\n return set.size;\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar call = require('../internals/function-call');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\nvar INVALID_SIZE = 'Invalid size';\nvar $RangeError = RangeError;\nvar $TypeError = TypeError;\nvar max = Math.max;\n\nvar SetRecord = function (set, size, has, keys) {\n this.set = set;\n this.size = size;\n this.has = has;\n this.keys = keys;\n};\n\nSetRecord.prototype = {\n getIterator: function () {\n return getIteratorDirect(anObject(call(this.keys, this.set)));\n },\n includes: function (it) {\n return call(this.has, this.set, it);\n }\n};\n\n// `GetSetRecord` abstract operation\n// https://tc39.es/proposal-set-methods/#sec-getsetrecord\nmodule.exports = function (obj) {\n anObject(obj);\n var numSize = +obj.size;\n // NOTE: If size is undefined, then numSize will be NaN\n // eslint-disable-next-line no-self-compare -- NaN check\n if (numSize !== numSize) throw $TypeError(INVALID_SIZE);\n var intSize = toIntegerOrInfinity(numSize);\n if (intSize < 0) throw $RangeError(INVALID_SIZE);\n return new SetRecord(\n obj,\n max(intSize, 0),\n aCallable(obj.has),\n aCallable(obj.keys)\n );\n};\n","'use strict';\n// `GetIteratorDirect(obj)` abstract operation\n// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect\nmodule.exports = function (obj) {\n return {\n iterator: obj,\n next: obj.next,\n done: false\n };\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nvar createSetLike = function (size) {\n return {\n size: size,\n has: function () {\n return false;\n },\n keys: function () {\n return {\n next: function () {\n return { done: true };\n }\n };\n }\n };\n};\n\nmodule.exports = function (name) {\n var Set = getBuiltIn('Set');\n try {\n new Set()[name](createSetLike(0));\n try {\n // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it\n // https://github.com/tc39/proposal-set-methods/pull/88\n new Set()[name](createSetLike(-1));\n return false;\n } catch (error2) {\n return true;\n }\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar intersection = require('../internals/set-intersection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {\n // eslint-disable-next-line es/no-array-from, es/no-set -- testing\n return Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2]))) !== '3,2';\n});\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n intersection: intersection\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function intersection(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = new Set();\n\n if (size(O) > otherRec.size) {\n iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) add(result, e);\n });\n } else {\n iterateSet(O, function (e) {\n if (otherRec.includes(e)) add(result, e);\n });\n }\n\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isDisjointFrom = require('../internals/set-is-disjoint-from');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isDisjointFrom` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, {\n isDisjointFrom: isDisjointFrom\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom\nmodule.exports = function isDisjointFrom(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) <= otherRec.size) return iterateSet(O, function (e) {\n if (otherRec.includes(e)) return false;\n }, true) !== false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (has(O, e)) return iteratorClose(iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isSubsetOf = require('../internals/set-is-subset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isSubsetOf` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, {\n isSubsetOf: isSubsetOf\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar size = require('../internals/set-size');\nvar iterate = require('../internals/set-iterate');\nvar getSetRecord = require('../internals/get-set-record');\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf\nmodule.exports = function isSubsetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) > otherRec.size) return false;\n return iterate(O, function (e) {\n if (!otherRec.includes(e)) return false;\n }, true) !== false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isSupersetOf = require('../internals/set-is-superset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isSupersetOf` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, {\n isSupersetOf: isSupersetOf\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf\nmodule.exports = function isSupersetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) < otherRec.size) return false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (!has(O, e)) return iteratorClose(iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar symmetricDifference = require('../internals/set-symmetric-difference');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, {\n symmetricDifference: symmetricDifference\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function symmetricDifference(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (e) {\n if (has(O, e)) remove(result, e);\n else add(result, e);\n });\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar union = require('../internals/set-union');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, {\n union: union\n});\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar add = require('../internals/set-helpers').add;\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function union(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (it) {\n add(result, it);\n });\n return result;\n};\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { assert, shadow, unreachable } from \"../shared/util.js\";\n\nconst CIRCULAR_REF = Symbol(\"CIRCULAR_REF\");\nconst EOF = Symbol(\"EOF\");\n\nlet CmdCache = Object.create(null);\nlet NameCache = Object.create(null);\nlet RefCache = Object.create(null);\n\nfunction clearPrimitiveCaches() {\n CmdCache = Object.create(null);\n NameCache = Object.create(null);\n RefCache = Object.create(null);\n}\n\nclass Name {\n constructor(name) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) &&\n typeof name !== \"string\"\n ) {\n unreachable('Name: The \"name\" must be a string.');\n }\n this.name = name;\n }\n\n static get(name) {\n // eslint-disable-next-line no-restricted-syntax\n return (NameCache[name] ||= new Name(name));\n }\n}\n\nclass Cmd {\n constructor(cmd) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) &&\n typeof cmd !== \"string\"\n ) {\n unreachable('Cmd: The \"cmd\" must be a string.');\n }\n this.cmd = cmd;\n }\n\n static get(cmd) {\n // eslint-disable-next-line no-restricted-syntax\n return (CmdCache[cmd] ||= new Cmd(cmd));\n }\n}\n\nconst nonSerializable = function nonSerializableClosure() {\n return nonSerializable; // Creating closure on some variable.\n};\n\nclass Dict {\n constructor(xref = null) {\n // Map should only be used internally, use functions below to access.\n this._map = Object.create(null);\n this.xref = xref;\n this.objId = null;\n this.suppressEncryption = false;\n this.__nonSerializable__ = nonSerializable; // Disable cloning of the Dict.\n }\n\n assignXref(newXref) {\n this.xref = newXref;\n }\n\n get size() {\n return Object.keys(this._map).length;\n }\n\n // Automatically dereferences Ref objects.\n get(key1, key2, key3) {\n let value = this._map[key1];\n if (value === undefined && key2 !== undefined) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) &&\n key2.length < key1.length\n ) {\n unreachable(\"Dict.get: Expected keys to be ordered by length.\");\n }\n value = this._map[key2];\n if (value === undefined && key3 !== undefined) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) &&\n key3.length < key2.length\n ) {\n unreachable(\"Dict.get: Expected keys to be ordered by length.\");\n }\n value = this._map[key3];\n }\n }\n if (value instanceof Ref && this.xref) {\n return this.xref.fetch(value, this.suppressEncryption);\n }\n return value;\n }\n\n // Same as get(), but returns a promise and uses fetchIfRefAsync().\n async getAsync(key1, key2, key3) {\n let value = this._map[key1];\n if (value === undefined && key2 !== undefined) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) &&\n key2.length < key1.length\n ) {\n unreachable(\"Dict.getAsync: Expected keys to be ordered by length.\");\n }\n value = this._map[key2];\n if (value === undefined && key3 !== undefined) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) &&\n key3.length < key2.length\n ) {\n unreachable(\"Dict.getAsync: Expected keys to be ordered by length.\");\n }\n value = this._map[key3];\n }\n }\n if (value instanceof Ref && this.xref) {\n return this.xref.fetchAsync(value, this.suppressEncryption);\n }\n return value;\n }\n\n // Same as get(), but dereferences all elements if the result is an Array.\n getArray(key1, key2, key3) {\n let value = this._map[key1];\n if (value === undefined && key2 !== undefined) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) &&\n key2.length < key1.length\n ) {\n unreachable(\"Dict.getArray: Expected keys to be ordered by length.\");\n }\n value = this._map[key2];\n if (value === undefined && key3 !== undefined) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) &&\n key3.length < key2.length\n ) {\n unreachable(\"Dict.getArray: Expected keys to be ordered by length.\");\n }\n value = this._map[key3];\n }\n }\n if (value instanceof Ref && this.xref) {\n value = this.xref.fetch(value, this.suppressEncryption);\n }\n\n if (Array.isArray(value)) {\n value = value.slice(); // Ensure that we don't modify the Dict data.\n for (let i = 0, ii = value.length; i < ii; i++) {\n if (value[i] instanceof Ref && this.xref) {\n value[i] = this.xref.fetch(value[i], this.suppressEncryption);\n }\n }\n }\n return value;\n }\n\n // No dereferencing.\n getRaw(key) {\n return this._map[key];\n }\n\n getKeys() {\n return Object.keys(this._map);\n }\n\n // No dereferencing.\n getRawValues() {\n return Object.values(this._map);\n }\n\n set(key, value) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n if (typeof key !== \"string\") {\n unreachable('Dict.set: The \"key\" must be a string.');\n } else if (value === undefined) {\n unreachable('Dict.set: The \"value\" cannot be undefined.');\n }\n }\n this._map[key] = value;\n }\n\n has(key) {\n return this._map[key] !== undefined;\n }\n\n forEach(callback) {\n for (const key in this._map) {\n callback(key, this.get(key));\n }\n }\n\n static get empty() {\n const emptyDict = new Dict(null);\n\n emptyDict.set = (key, value) => {\n unreachable(\"Should not call `set` on the empty dictionary.\");\n };\n return shadow(this, \"empty\", emptyDict);\n }\n\n static merge({ xref, dictArray, mergeSubDicts = false }) {\n const mergedDict = new Dict(xref),\n properties = new Map();\n\n for (const dict of dictArray) {\n if (!(dict instanceof Dict)) {\n continue;\n }\n for (const [key, value] of Object.entries(dict._map)) {\n let property = properties.get(key);\n if (property === undefined) {\n property = [];\n properties.set(key, property);\n } else if (!mergeSubDicts || !(value instanceof Dict)) {\n // Ignore additional entries, if either:\n // - This is a \"shallow\" merge, where only the first element matters.\n // - The value is *not* a `Dict`, since other types cannot be merged.\n continue;\n }\n property.push(value);\n }\n }\n for (const [name, values] of properties) {\n if (values.length === 1 || !(values[0] instanceof Dict)) {\n mergedDict._map[name] = values[0];\n continue;\n }\n const subDict = new Dict(xref);\n\n for (const dict of values) {\n for (const [key, value] of Object.entries(dict._map)) {\n if (subDict._map[key] === undefined) {\n subDict._map[key] = value;\n }\n }\n }\n if (subDict.size > 0) {\n mergedDict._map[name] = subDict;\n }\n }\n properties.clear();\n\n return mergedDict.size > 0 ? mergedDict : Dict.empty;\n }\n\n clone() {\n const dict = new Dict(this.xref);\n for (const key of this.getKeys()) {\n dict.set(key, this.getRaw(key));\n }\n return dict;\n }\n}\n\nclass Ref {\n constructor(num, gen) {\n this.num = num;\n this.gen = gen;\n }\n\n toString() {\n // This function is hot, so we make the string as compact as possible.\n // |this.gen| is almost always zero, so we treat that case specially.\n if (this.gen === 0) {\n return `${this.num}R`;\n }\n return `${this.num}R${this.gen}`;\n }\n\n static fromString(str) {\n const ref = RefCache[str];\n if (ref) {\n return ref;\n }\n const m = /^(\\d+)R(\\d*)$/.exec(str);\n if (!m || m[1] === \"0\") {\n return null;\n }\n\n // eslint-disable-next-line no-restricted-syntax\n return (RefCache[str] = new Ref(\n parseInt(m[1]),\n !m[2] ? 0 : parseInt(m[2])\n ));\n }\n\n static get(num, gen) {\n const key = gen === 0 ? `${num}R` : `${num}R${gen}`;\n // eslint-disable-next-line no-restricted-syntax\n return (RefCache[key] ||= new Ref(num, gen));\n }\n}\n\n// The reference is identified by number and generation.\n// This structure stores only one instance of the reference.\nclass RefSet {\n constructor(parent = null) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) &&\n parent &&\n !(parent instanceof RefSet)\n ) {\n unreachable('RefSet: Invalid \"parent\" value.');\n }\n this._set = new Set(parent?._set);\n }\n\n has(ref) {\n return this._set.has(ref.toString());\n }\n\n put(ref) {\n this._set.add(ref.toString());\n }\n\n remove(ref) {\n this._set.delete(ref.toString());\n }\n\n [Symbol.iterator]() {\n return this._set.values();\n }\n\n clear() {\n this._set.clear();\n }\n}\n\nclass RefSetCache {\n constructor() {\n this._map = new Map();\n }\n\n get size() {\n return this._map.size;\n }\n\n get(ref) {\n return this._map.get(ref.toString());\n }\n\n has(ref) {\n return this._map.has(ref.toString());\n }\n\n put(ref, obj) {\n this._map.set(ref.toString(), obj);\n }\n\n putAlias(ref, aliasRef) {\n this._map.set(ref.toString(), this.get(aliasRef));\n }\n\n [Symbol.iterator]() {\n return this._map.values();\n }\n\n clear() {\n this._map.clear();\n }\n}\n\nfunction isName(v, name) {\n return v instanceof Name && (name === undefined || v.name === name);\n}\n\nfunction isCmd(v, cmd) {\n return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\n\nfunction isDict(v, type) {\n return (\n v instanceof Dict && (type === undefined || isName(v.get(\"Type\"), type))\n );\n}\n\nfunction isRefsEqual(v1, v2) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n v1 instanceof Ref && v2 instanceof Ref,\n \"isRefsEqual: Both parameters should be `Ref`s.\"\n );\n }\n return v1.num === v2.num && v1.gen === v2.gen;\n}\n\nexport {\n CIRCULAR_REF,\n clearPrimitiveCaches,\n Cmd,\n Dict,\n EOF,\n isCmd,\n isDict,\n isName,\n isRefsEqual,\n Name,\n Ref,\n RefSet,\n RefSetCache,\n};\n","/* Copyright 2021 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { bytesToString, shadow, unreachable } from \"../shared/util.js\";\n\nclass BaseStream {\n constructor() {\n if (this.constructor === BaseStream) {\n unreachable(\"Cannot initialize BaseStream.\");\n }\n }\n\n // eslint-disable-next-line getter-return\n get length() {\n unreachable(\"Abstract getter `length` accessed\");\n }\n\n // eslint-disable-next-line getter-return\n get isEmpty() {\n unreachable(\"Abstract getter `isEmpty` accessed\");\n }\n\n get isDataLoaded() {\n return shadow(this, \"isDataLoaded\", true);\n }\n\n getByte() {\n unreachable(\"Abstract method `getByte` called\");\n }\n\n getBytes(length) {\n unreachable(\"Abstract method `getBytes` called\");\n }\n\n peekByte() {\n const peekedByte = this.getByte();\n if (peekedByte !== -1) {\n this.pos--;\n }\n return peekedByte;\n }\n\n peekBytes(length) {\n const bytes = this.getBytes(length);\n this.pos -= bytes.length;\n return bytes;\n }\n\n getUint16() {\n const b0 = this.getByte();\n const b1 = this.getByte();\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n return (b0 << 8) + b1;\n }\n\n getInt32() {\n const b0 = this.getByte();\n const b1 = this.getByte();\n const b2 = this.getByte();\n const b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n }\n\n getByteRange(begin, end) {\n unreachable(\"Abstract method `getByteRange` called\");\n }\n\n getString(length) {\n return bytesToString(this.getBytes(length));\n }\n\n skip(n) {\n this.pos += n || 1;\n }\n\n reset() {\n unreachable(\"Abstract method `reset` called\");\n }\n\n moveStart() {\n unreachable(\"Abstract method `moveStart` called\");\n }\n\n makeSubStream(start, length, dict = null) {\n unreachable(\"Abstract method `makeSubStream` called\");\n }\n\n /**\n * @returns {Array | null}\n */\n getBaseStreams() {\n return null;\n }\n}\n\nexport { BaseStream };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Table C-2\nconst QeTable = [\n { qe: 0x5601, nmps: 1, nlps: 1, switchFlag: 1 },\n { qe: 0x3401, nmps: 2, nlps: 6, switchFlag: 0 },\n { qe: 0x1801, nmps: 3, nlps: 9, switchFlag: 0 },\n { qe: 0x0ac1, nmps: 4, nlps: 12, switchFlag: 0 },\n { qe: 0x0521, nmps: 5, nlps: 29, switchFlag: 0 },\n { qe: 0x0221, nmps: 38, nlps: 33, switchFlag: 0 },\n { qe: 0x5601, nmps: 7, nlps: 6, switchFlag: 1 },\n { qe: 0x5401, nmps: 8, nlps: 14, switchFlag: 0 },\n { qe: 0x4801, nmps: 9, nlps: 14, switchFlag: 0 },\n { qe: 0x3801, nmps: 10, nlps: 14, switchFlag: 0 },\n { qe: 0x3001, nmps: 11, nlps: 17, switchFlag: 0 },\n { qe: 0x2401, nmps: 12, nlps: 18, switchFlag: 0 },\n { qe: 0x1c01, nmps: 13, nlps: 20, switchFlag: 0 },\n { qe: 0x1601, nmps: 29, nlps: 21, switchFlag: 0 },\n { qe: 0x5601, nmps: 15, nlps: 14, switchFlag: 1 },\n { qe: 0x5401, nmps: 16, nlps: 14, switchFlag: 0 },\n { qe: 0x5101, nmps: 17, nlps: 15, switchFlag: 0 },\n { qe: 0x4801, nmps: 18, nlps: 16, switchFlag: 0 },\n { qe: 0x3801, nmps: 19, nlps: 17, switchFlag: 0 },\n { qe: 0x3401, nmps: 20, nlps: 18, switchFlag: 0 },\n { qe: 0x3001, nmps: 21, nlps: 19, switchFlag: 0 },\n { qe: 0x2801, nmps: 22, nlps: 19, switchFlag: 0 },\n { qe: 0x2401, nmps: 23, nlps: 20, switchFlag: 0 },\n { qe: 0x2201, nmps: 24, nlps: 21, switchFlag: 0 },\n { qe: 0x1c01, nmps: 25, nlps: 22, switchFlag: 0 },\n { qe: 0x1801, nmps: 26, nlps: 23, switchFlag: 0 },\n { qe: 0x1601, nmps: 27, nlps: 24, switchFlag: 0 },\n { qe: 0x1401, nmps: 28, nlps: 25, switchFlag: 0 },\n { qe: 0x1201, nmps: 29, nlps: 26, switchFlag: 0 },\n { qe: 0x1101, nmps: 30, nlps: 27, switchFlag: 0 },\n { qe: 0x0ac1, nmps: 31, nlps: 28, switchFlag: 0 },\n { qe: 0x09c1, nmps: 32, nlps: 29, switchFlag: 0 },\n { qe: 0x08a1, nmps: 33, nlps: 30, switchFlag: 0 },\n { qe: 0x0521, nmps: 34, nlps: 31, switchFlag: 0 },\n { qe: 0x0441, nmps: 35, nlps: 32, switchFlag: 0 },\n { qe: 0x02a1, nmps: 36, nlps: 33, switchFlag: 0 },\n { qe: 0x0221, nmps: 37, nlps: 34, switchFlag: 0 },\n { qe: 0x0141, nmps: 38, nlps: 35, switchFlag: 0 },\n { qe: 0x0111, nmps: 39, nlps: 36, switchFlag: 0 },\n { qe: 0x0085, nmps: 40, nlps: 37, switchFlag: 0 },\n { qe: 0x0049, nmps: 41, nlps: 38, switchFlag: 0 },\n { qe: 0x0025, nmps: 42, nlps: 39, switchFlag: 0 },\n { qe: 0x0015, nmps: 43, nlps: 40, switchFlag: 0 },\n { qe: 0x0009, nmps: 44, nlps: 41, switchFlag: 0 },\n { qe: 0x0005, nmps: 45, nlps: 42, switchFlag: 0 },\n { qe: 0x0001, nmps: 45, nlps: 43, switchFlag: 0 },\n { qe: 0x5601, nmps: 46, nlps: 46, switchFlag: 0 },\n];\n\n/**\n * This class implements the QM Coder decoding as defined in\n * JPEG 2000 Part I Final Committee Draft Version 1.0\n * Annex C.3 Arithmetic decoding procedure\n * available at http://www.jpeg.org/public/fcd15444-1.pdf\n *\n * The arithmetic decoder is used in conjunction with context models to decode\n * JPEG2000 and JBIG2 streams.\n */\nclass ArithmeticDecoder {\n // C.3.5 Initialisation of the decoder (INITDEC)\n constructor(data, start, end) {\n this.data = data;\n this.bp = start;\n this.dataEnd = end;\n\n this.chigh = data[start];\n this.clow = 0;\n\n this.byteIn();\n\n this.chigh = ((this.chigh << 7) & 0xffff) | ((this.clow >> 9) & 0x7f);\n this.clow = (this.clow << 7) & 0xffff;\n this.ct -= 7;\n this.a = 0x8000;\n }\n\n // C.3.4 Compressed data input (BYTEIN)\n byteIn() {\n const data = this.data;\n let bp = this.bp;\n\n if (data[bp] === 0xff) {\n if (data[bp + 1] > 0x8f) {\n this.clow += 0xff00;\n this.ct = 8;\n } else {\n bp++;\n this.clow += data[bp] << 9;\n this.ct = 7;\n this.bp = bp;\n }\n } else {\n bp++;\n this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xff00;\n this.ct = 8;\n this.bp = bp;\n }\n if (this.clow > 0xffff) {\n this.chigh += this.clow >> 16;\n this.clow &= 0xffff;\n }\n }\n\n // C.3.2 Decoding a decision (DECODE)\n readBit(contexts, pos) {\n // Contexts are packed into 1 byte:\n // highest 7 bits carry cx.index, lowest bit carries cx.mps\n let cx_index = contexts[pos] >> 1,\n cx_mps = contexts[pos] & 1;\n const qeTableIcx = QeTable[cx_index];\n const qeIcx = qeTableIcx.qe;\n let d;\n let a = this.a - qeIcx;\n\n if (this.chigh < qeIcx) {\n // exchangeLps\n if (a < qeIcx) {\n a = qeIcx;\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n } else {\n a = qeIcx;\n d = 1 ^ cx_mps;\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n cx_index = qeTableIcx.nlps;\n }\n } else {\n this.chigh -= qeIcx;\n if ((a & 0x8000) !== 0) {\n this.a = a;\n return cx_mps;\n }\n // exchangeMps\n if (a < qeIcx) {\n d = 1 ^ cx_mps;\n if (qeTableIcx.switchFlag === 1) {\n cx_mps = d;\n }\n cx_index = qeTableIcx.nlps;\n } else {\n d = cx_mps;\n cx_index = qeTableIcx.nmps;\n }\n }\n // C.3.3 renormD;\n do {\n if (this.ct === 0) {\n this.byteIn();\n }\n\n a <<= 1;\n this.chigh = ((this.chigh << 1) & 0xffff) | ((this.clow >> 15) & 1);\n this.clow = (this.clow << 1) & 0xffff;\n this.ct--;\n } while ((a & 0x8000) === 0);\n this.a = a;\n\n contexts[pos] = (cx_index << 1) | cx_mps;\n return d;\n }\n}\n\nexport { ArithmeticDecoder };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* Copyright 1996-2003 Glyph & Cog, LLC\n *\n * The CCITT stream implementation contained in this file is a JavaScript port\n * of XPDF's implementation, made available under the Apache 2.0 open source\n * license.\n */\n\nimport { FormatError, info } from \"../shared/util.js\";\n\n/**\n * @typedef {Object} CCITTFaxDecoderSource\n * @property {function} next - Method that return one byte of data for decoding,\n * or -1 when EOF is reached.\n */\n\nconst ccittEOL = -2;\nconst ccittEOF = -1;\nconst twoDimPass = 0;\nconst twoDimHoriz = 1;\nconst twoDimVert0 = 2;\nconst twoDimVertR1 = 3;\nconst twoDimVertL1 = 4;\nconst twoDimVertR2 = 5;\nconst twoDimVertL2 = 6;\nconst twoDimVertR3 = 7;\nconst twoDimVertL3 = 8;\n\n// prettier-ignore\nconst twoDimTable = [\n [-1, -1], [-1, -1], // 000000x\n [7, twoDimVertL3], // 0000010\n [7, twoDimVertR3], // 0000011\n [6, twoDimVertL2], [6, twoDimVertL2], // 000010x\n [6, twoDimVertR2], [6, twoDimVertR2], // 000011x\n [4, twoDimPass], [4, twoDimPass], // 0001xxx\n [4, twoDimPass], [4, twoDimPass],\n [4, twoDimPass], [4, twoDimPass],\n [4, twoDimPass], [4, twoDimPass],\n [3, twoDimHoriz], [3, twoDimHoriz], // 001xxxx\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimHoriz], [3, twoDimHoriz],\n [3, twoDimVertL1], [3, twoDimVertL1], // 010xxxx\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertL1], [3, twoDimVertL1],\n [3, twoDimVertR1], [3, twoDimVertR1], // 011xxxx\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [3, twoDimVertR1], [3, twoDimVertR1],\n [1, twoDimVert0], [1, twoDimVert0], // 1xxxxxx\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0],\n [1, twoDimVert0], [1, twoDimVert0]\n];\n\n// prettier-ignore\nconst whiteTable1 = [\n [-1, -1], // 00000\n [12, ccittEOL], // 00001\n [-1, -1], [-1, -1], // 0001x\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 001xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 010xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 011xx\n [11, 1792], [11, 1792], // 1000x\n [12, 1984], // 10010\n [12, 2048], // 10011\n [12, 2112], // 10100\n [12, 2176], // 10101\n [12, 2240], // 10110\n [12, 2304], // 10111\n [11, 1856], [11, 1856], // 1100x\n [11, 1920], [11, 1920], // 1101x\n [12, 2368], // 11100\n [12, 2432], // 11101\n [12, 2496], // 11110\n [12, 2560] // 11111\n];\n\n// prettier-ignore\nconst whiteTable2 = [\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 0000000xx\n [8, 29], [8, 29], // 00000010x\n [8, 30], [8, 30], // 00000011x\n [8, 45], [8, 45], // 00000100x\n [8, 46], [8, 46], // 00000101x\n [7, 22], [7, 22], [7, 22], [7, 22], // 0000011xx\n [7, 23], [7, 23], [7, 23], [7, 23], // 0000100xx\n [8, 47], [8, 47], // 00001010x\n [8, 48], [8, 48], // 00001011x\n [6, 13], [6, 13], [6, 13], [6, 13], // 000011xxx\n [6, 13], [6, 13], [6, 13], [6, 13],\n [7, 20], [7, 20], [7, 20], [7, 20], // 0001000xx\n [8, 33], [8, 33], // 00010010x\n [8, 34], [8, 34], // 00010011x\n [8, 35], [8, 35], // 00010100x\n [8, 36], [8, 36], // 00010101x\n [8, 37], [8, 37], // 00010110x\n [8, 38], [8, 38], // 00010111x\n [7, 19], [7, 19], [7, 19], [7, 19], // 0001100xx\n [8, 31], [8, 31], // 00011010x\n [8, 32], [8, 32], // 00011011x\n [6, 1], [6, 1], [6, 1], [6, 1], // 000111xxx\n [6, 1], [6, 1], [6, 1], [6, 1],\n [6, 12], [6, 12], [6, 12], [6, 12], // 001000xxx\n [6, 12], [6, 12], [6, 12], [6, 12],\n [8, 53], [8, 53], // 00100100x\n [8, 54], [8, 54], // 00100101x\n [7, 26], [7, 26], [7, 26], [7, 26], // 0010011xx\n [8, 39], [8, 39], // 00101000x\n [8, 40], [8, 40], // 00101001x\n [8, 41], [8, 41], // 00101010x\n [8, 42], [8, 42], // 00101011x\n [8, 43], [8, 43], // 00101100x\n [8, 44], [8, 44], // 00101101x\n [7, 21], [7, 21], [7, 21], [7, 21], // 0010111xx\n [7, 28], [7, 28], [7, 28], [7, 28], // 0011000xx\n [8, 61], [8, 61], // 00110010x\n [8, 62], [8, 62], // 00110011x\n [8, 63], [8, 63], // 00110100x\n [8, 0], [8, 0], // 00110101x\n [8, 320], [8, 320], // 00110110x\n [8, 384], [8, 384], // 00110111x\n [5, 10], [5, 10], [5, 10], [5, 10], // 00111xxxx\n [5, 10], [5, 10], [5, 10], [5, 10],\n [5, 10], [5, 10], [5, 10], [5, 10],\n [5, 10], [5, 10], [5, 10], [5, 10],\n [5, 11], [5, 11], [5, 11], [5, 11], // 01000xxxx\n [5, 11], [5, 11], [5, 11], [5, 11],\n [5, 11], [5, 11], [5, 11], [5, 11],\n [5, 11], [5, 11], [5, 11], [5, 11],\n [7, 27], [7, 27], [7, 27], [7, 27], // 0100100xx\n [8, 59], [8, 59], // 01001010x\n [8, 60], [8, 60], // 01001011x\n [9, 1472], // 010011000\n [9, 1536], // 010011001\n [9, 1600], // 010011010\n [9, 1728], // 010011011\n [7, 18], [7, 18], [7, 18], [7, 18], // 0100111xx\n [7, 24], [7, 24], [7, 24], [7, 24], // 0101000xx\n [8, 49], [8, 49], // 01010010x\n [8, 50], [8, 50], // 01010011x\n [8, 51], [8, 51], // 01010100x\n [8, 52], [8, 52], // 01010101x\n [7, 25], [7, 25], [7, 25], [7, 25], // 0101011xx\n [8, 55], [8, 55], // 01011000x\n [8, 56], [8, 56], // 01011001x\n [8, 57], [8, 57], // 01011010x\n [8, 58], [8, 58], // 01011011x\n [6, 192], [6, 192], [6, 192], [6, 192], // 010111xxx\n [6, 192], [6, 192], [6, 192], [6, 192],\n [6, 1664], [6, 1664], [6, 1664], [6, 1664], // 011000xxx\n [6, 1664], [6, 1664], [6, 1664], [6, 1664],\n [8, 448], [8, 448], // 01100100x\n [8, 512], [8, 512], // 01100101x\n [9, 704], // 011001100\n [9, 768], // 011001101\n [8, 640], [8, 640], // 01100111x\n [8, 576], [8, 576], // 01101000x\n [9, 832], // 011010010\n [9, 896], // 011010011\n [9, 960], // 011010100\n [9, 1024], // 011010101\n [9, 1088], // 011010110\n [9, 1152], // 011010111\n [9, 1216], // 011011000\n [9, 1280], // 011011001\n [9, 1344], // 011011010\n [9, 1408], // 011011011\n [7, 256], [7, 256], [7, 256], [7, 256], // 0110111xx\n [4, 2], [4, 2], [4, 2], [4, 2], // 0111xxxxx\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 2], [4, 2], [4, 2], [4, 2],\n [4, 3], [4, 3], [4, 3], [4, 3], // 1000xxxxx\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [4, 3], [4, 3], [4, 3], [4, 3],\n [5, 128], [5, 128], [5, 128], [5, 128], // 10010xxxx\n [5, 128], [5, 128], [5, 128], [5, 128],\n [5, 128], [5, 128], [5, 128], [5, 128],\n [5, 128], [5, 128], [5, 128], [5, 128],\n [5, 8], [5, 8], [5, 8], [5, 8], // 10011xxxx\n [5, 8], [5, 8], [5, 8], [5, 8],\n [5, 8], [5, 8], [5, 8], [5, 8],\n [5, 8], [5, 8], [5, 8], [5, 8],\n [5, 9], [5, 9], [5, 9], [5, 9], // 10100xxxx\n [5, 9], [5, 9], [5, 9], [5, 9],\n [5, 9], [5, 9], [5, 9], [5, 9],\n [5, 9], [5, 9], [5, 9], [5, 9],\n [6, 16], [6, 16], [6, 16], [6, 16], // 101010xxx\n [6, 16], [6, 16], [6, 16], [6, 16],\n [6, 17], [6, 17], [6, 17], [6, 17], // 101011xxx\n [6, 17], [6, 17], [6, 17], [6, 17],\n [4, 4], [4, 4], [4, 4], [4, 4], // 1011xxxxx\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 4], [4, 4], [4, 4], [4, 4],\n [4, 5], [4, 5], [4, 5], [4, 5], // 1100xxxxx\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [4, 5], [4, 5], [4, 5], [4, 5],\n [6, 14], [6, 14], [6, 14], [6, 14], // 110100xxx\n [6, 14], [6, 14], [6, 14], [6, 14],\n [6, 15], [6, 15], [6, 15], [6, 15], // 110101xxx\n [6, 15], [6, 15], [6, 15], [6, 15],\n [5, 64], [5, 64], [5, 64], [5, 64], // 11011xxxx\n [5, 64], [5, 64], [5, 64], [5, 64],\n [5, 64], [5, 64], [5, 64], [5, 64],\n [5, 64], [5, 64], [5, 64], [5, 64],\n [4, 6], [4, 6], [4, 6], [4, 6], // 1110xxxxx\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 6], [4, 6], [4, 6], [4, 6],\n [4, 7], [4, 7], [4, 7], [4, 7], // 1111xxxxx\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7],\n [4, 7], [4, 7], [4, 7], [4, 7]\n];\n\n// prettier-ignore\nconst blackTable1 = [\n [-1, -1], [-1, -1], // 000000000000x\n [12, ccittEOL], [12, ccittEOL], // 000000000001x\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000001xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000010xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000011xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000100xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000101xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000110xx\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 00000000111xx\n [11, 1792], [11, 1792], [11, 1792], [11, 1792], // 00000001000xx\n [12, 1984], [12, 1984], // 000000010010x\n [12, 2048], [12, 2048], // 000000010011x\n [12, 2112], [12, 2112], // 000000010100x\n [12, 2176], [12, 2176], // 000000010101x\n [12, 2240], [12, 2240], // 000000010110x\n [12, 2304], [12, 2304], // 000000010111x\n [11, 1856], [11, 1856], [11, 1856], [11, 1856], // 00000001100xx\n [11, 1920], [11, 1920], [11, 1920], [11, 1920], // 00000001101xx\n [12, 2368], [12, 2368], // 000000011100x\n [12, 2432], [12, 2432], // 000000011101x\n [12, 2496], [12, 2496], // 000000011110x\n [12, 2560], [12, 2560], // 000000011111x\n [10, 18], [10, 18], [10, 18], [10, 18], // 0000001000xxx\n [10, 18], [10, 18], [10, 18], [10, 18],\n [12, 52], [12, 52], // 000000100100x\n [13, 640], // 0000001001010\n [13, 704], // 0000001001011\n [13, 768], // 0000001001100\n [13, 832], // 0000001001101\n [12, 55], [12, 55], // 000000100111x\n [12, 56], [12, 56], // 000000101000x\n [13, 1280], // 0000001010010\n [13, 1344], // 0000001010011\n [13, 1408], // 0000001010100\n [13, 1472], // 0000001010101\n [12, 59], [12, 59], // 000000101011x\n [12, 60], [12, 60], // 000000101100x\n [13, 1536], // 0000001011010\n [13, 1600], // 0000001011011\n [11, 24], [11, 24], [11, 24], [11, 24], // 00000010111xx\n [11, 25], [11, 25], [11, 25], [11, 25], // 00000011000xx\n [13, 1664], // 0000001100100\n [13, 1728], // 0000001100101\n [12, 320], [12, 320], // 000000110011x\n [12, 384], [12, 384], // 000000110100x\n [12, 448], [12, 448], // 000000110101x\n [13, 512], // 0000001101100\n [13, 576], // 0000001101101\n [12, 53], [12, 53], // 000000110111x\n [12, 54], [12, 54], // 000000111000x\n [13, 896], // 0000001110010\n [13, 960], // 0000001110011\n [13, 1024], // 0000001110100\n [13, 1088], // 0000001110101\n [13, 1152], // 0000001110110\n [13, 1216], // 0000001110111\n [10, 64], [10, 64], [10, 64], [10, 64], // 0000001111xxx\n [10, 64], [10, 64], [10, 64], [10, 64]\n];\n\n// prettier-ignore\nconst blackTable2 = [\n [8, 13], [8, 13], [8, 13], [8, 13], // 00000100xxxx\n [8, 13], [8, 13], [8, 13], [8, 13],\n [8, 13], [8, 13], [8, 13], [8, 13],\n [8, 13], [8, 13], [8, 13], [8, 13],\n [11, 23], [11, 23], // 00000101000x\n [12, 50], // 000001010010\n [12, 51], // 000001010011\n [12, 44], // 000001010100\n [12, 45], // 000001010101\n [12, 46], // 000001010110\n [12, 47], // 000001010111\n [12, 57], // 000001011000\n [12, 58], // 000001011001\n [12, 61], // 000001011010\n [12, 256], // 000001011011\n [10, 16], [10, 16], [10, 16], [10, 16], // 0000010111xx\n [10, 17], [10, 17], [10, 17], [10, 17], // 0000011000xx\n [12, 48], // 000001100100\n [12, 49], // 000001100101\n [12, 62], // 000001100110\n [12, 63], // 000001100111\n [12, 30], // 000001101000\n [12, 31], // 000001101001\n [12, 32], // 000001101010\n [12, 33], // 000001101011\n [12, 40], // 000001101100\n [12, 41], // 000001101101\n [11, 22], [11, 22], // 00000110111x\n [8, 14], [8, 14], [8, 14], [8, 14], // 00000111xxxx\n [8, 14], [8, 14], [8, 14], [8, 14],\n [8, 14], [8, 14], [8, 14], [8, 14],\n [8, 14], [8, 14], [8, 14], [8, 14],\n [7, 10], [7, 10], [7, 10], [7, 10], // 0000100xxxxx\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 10], [7, 10], [7, 10], [7, 10],\n [7, 11], [7, 11], [7, 11], [7, 11], // 0000101xxxxx\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [7, 11], [7, 11], [7, 11], [7, 11],\n [9, 15], [9, 15], [9, 15], [9, 15], // 000011000xxx\n [9, 15], [9, 15], [9, 15], [9, 15],\n [12, 128], // 000011001000\n [12, 192], // 000011001001\n [12, 26], // 000011001010\n [12, 27], // 000011001011\n [12, 28], // 000011001100\n [12, 29], // 000011001101\n [11, 19], [11, 19], // 00001100111x\n [11, 20], [11, 20], // 00001101000x\n [12, 34], // 000011010010\n [12, 35], // 000011010011\n [12, 36], // 000011010100\n [12, 37], // 000011010101\n [12, 38], // 000011010110\n [12, 39], // 000011010111\n [11, 21], [11, 21], // 00001101100x\n [12, 42], // 000011011010\n [12, 43], // 000011011011\n [10, 0], [10, 0], [10, 0], [10, 0], // 0000110111xx\n [7, 12], [7, 12], [7, 12], [7, 12], // 0000111xxxxx\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12],\n [7, 12], [7, 12], [7, 12], [7, 12]\n];\n\n// prettier-ignore\nconst blackTable3 = [\n [-1, -1], [-1, -1], [-1, -1], [-1, -1], // 0000xx\n [6, 9], // 000100\n [6, 8], // 000101\n [5, 7], [5, 7], // 00011x\n [4, 6], [4, 6], [4, 6], [4, 6], // 0010xx\n [4, 5], [4, 5], [4, 5], [4, 5], // 0011xx\n [3, 1], [3, 1], [3, 1], [3, 1], // 010xxx\n [3, 1], [3, 1], [3, 1], [3, 1],\n [3, 4], [3, 4], [3, 4], [3, 4], // 011xxx\n [3, 4], [3, 4], [3, 4], [3, 4],\n [2, 3], [2, 3], [2, 3], [2, 3], // 10xxxx\n [2, 3], [2, 3], [2, 3], [2, 3],\n [2, 3], [2, 3], [2, 3], [2, 3],\n [2, 3], [2, 3], [2, 3], [2, 3],\n [2, 2], [2, 2], [2, 2], [2, 2], // 11xxxx\n [2, 2], [2, 2], [2, 2], [2, 2],\n [2, 2], [2, 2], [2, 2], [2, 2],\n [2, 2], [2, 2], [2, 2], [2, 2]\n];\n\n/**\n * @param {CCITTFaxDecoderSource} source - The data which should be decoded.\n * @param {Object} [options] - Decoding options.\n */\nclass CCITTFaxDecoder {\n constructor(source, options = {}) {\n if (!source || typeof source.next !== \"function\") {\n throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n }\n this.source = source;\n this.eof = false;\n\n this.encoding = options.K || 0;\n this.eoline = options.EndOfLine || false;\n this.byteAlign = options.EncodedByteAlign || false;\n this.columns = options.Columns || 1728;\n this.rows = options.Rows || 0;\n this.eoblock = options.EndOfBlock ?? true;\n this.black = options.BlackIs1 || false;\n\n this.codingLine = new Uint32Array(this.columns + 1);\n this.refLine = new Uint32Array(this.columns + 2);\n\n this.codingLine[0] = this.columns;\n this.codingPos = 0;\n\n this.row = 0;\n this.nextLine2D = this.encoding < 0;\n this.inputBits = 0;\n this.inputBuf = 0;\n this.outputBits = 0;\n this.rowsDone = false;\n\n let code1;\n while ((code1 = this._lookBits(12)) === 0) {\n this._eatBits(1);\n }\n if (code1 === 1) {\n this._eatBits(12);\n }\n if (this.encoding > 0) {\n this.nextLine2D = !this._lookBits(1);\n this._eatBits(1);\n }\n }\n\n readNextChar() {\n if (this.eof) {\n return -1;\n }\n const refLine = this.refLine;\n const codingLine = this.codingLine;\n const columns = this.columns;\n\n let refPos, blackPixels, bits, i;\n\n if (this.outputBits === 0) {\n if (this.rowsDone) {\n this.eof = true;\n }\n if (this.eof) {\n return -1;\n }\n this.err = false;\n\n let code1, code2, code3;\n if (this.nextLine2D) {\n for (i = 0; codingLine[i] < columns; ++i) {\n refLine[i] = codingLine[i];\n }\n refLine[i++] = columns;\n refLine[i] = columns;\n codingLine[0] = 0;\n this.codingPos = 0;\n refPos = 0;\n blackPixels = 0;\n\n while (codingLine[this.codingPos] < columns) {\n code1 = this._getTwoDimCode();\n switch (code1) {\n case twoDimPass:\n this._addPixels(refLine[refPos + 1], blackPixels);\n if (refLine[refPos + 1] < columns) {\n refPos += 2;\n }\n break;\n case twoDimHoriz:\n code1 = code2 = 0;\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n do {\n code2 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n do {\n code2 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n }\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n if (codingLine[this.codingPos] < columns) {\n this._addPixels(\n codingLine[this.codingPos] + code2,\n blackPixels ^ 1\n );\n }\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n break;\n case twoDimVertR3:\n this._addPixels(refLine[refPos] + 3, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertR2:\n this._addPixels(refLine[refPos] + 2, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertR1:\n this._addPixels(refLine[refPos] + 1, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVert0:\n this._addPixels(refLine[refPos], blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n ++refPos;\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertL3:\n this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertL2:\n this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case twoDimVertL1:\n this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n blackPixels ^= 1;\n if (codingLine[this.codingPos] < columns) {\n if (refPos > 0) {\n --refPos;\n } else {\n ++refPos;\n }\n while (\n refLine[refPos] <= codingLine[this.codingPos] &&\n refLine[refPos] < columns\n ) {\n refPos += 2;\n }\n }\n break;\n case ccittEOF:\n this._addPixels(columns, 0);\n this.eof = true;\n break;\n default:\n info(\"bad 2d code\");\n this._addPixels(columns, 0);\n this.err = true;\n }\n }\n } else {\n codingLine[0] = 0;\n this.codingPos = 0;\n blackPixels = 0;\n while (codingLine[this.codingPos] < columns) {\n code1 = 0;\n if (blackPixels) {\n do {\n code1 += code3 = this._getBlackCode();\n } while (code3 >= 64);\n } else {\n do {\n code1 += code3 = this._getWhiteCode();\n } while (code3 >= 64);\n }\n this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n blackPixels ^= 1;\n }\n }\n\n let gotEOL = false;\n\n if (this.byteAlign) {\n this.inputBits &= ~7;\n }\n\n if (!this.eoblock && this.row === this.rows - 1) {\n this.rowsDone = true;\n } else {\n code1 = this._lookBits(12);\n if (this.eoline) {\n while (code1 !== ccittEOF && code1 !== 1) {\n this._eatBits(1);\n code1 = this._lookBits(12);\n }\n } else {\n while (code1 === 0) {\n this._eatBits(1);\n code1 = this._lookBits(12);\n }\n }\n if (code1 === 1) {\n this._eatBits(12);\n gotEOL = true;\n } else if (code1 === ccittEOF) {\n this.eof = true;\n }\n }\n\n if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n this.nextLine2D = !this._lookBits(1);\n this._eatBits(1);\n }\n\n if (this.eoblock && gotEOL && this.byteAlign) {\n code1 = this._lookBits(12);\n if (code1 === 1) {\n this._eatBits(12);\n if (this.encoding > 0) {\n this._lookBits(1);\n this._eatBits(1);\n }\n if (this.encoding >= 0) {\n for (i = 0; i < 4; ++i) {\n code1 = this._lookBits(12);\n if (code1 !== 1) {\n info(\"bad rtc code: \" + code1);\n }\n this._eatBits(12);\n if (this.encoding > 0) {\n this._lookBits(1);\n this._eatBits(1);\n }\n }\n }\n this.eof = true;\n }\n } else if (this.err && this.eoline) {\n while (true) {\n code1 = this._lookBits(13);\n if (code1 === ccittEOF) {\n this.eof = true;\n return -1;\n }\n if (code1 >> 1 === 1) {\n break;\n }\n this._eatBits(1);\n }\n this._eatBits(12);\n if (this.encoding > 0) {\n this._eatBits(1);\n this.nextLine2D = !(code1 & 1);\n }\n }\n\n this.outputBits =\n codingLine[0] > 0\n ? codingLine[(this.codingPos = 0)]\n : codingLine[(this.codingPos = 1)];\n this.row++;\n }\n\n let c;\n if (this.outputBits >= 8) {\n c = this.codingPos & 1 ? 0 : 0xff;\n this.outputBits -= 8;\n if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits =\n codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n }\n } else {\n bits = 8;\n c = 0;\n do {\n if (typeof this.outputBits !== \"number\") {\n throw new FormatError(\n 'Invalid /CCITTFaxDecode data, \"outputBits\" must be a number.'\n );\n }\n\n if (this.outputBits > bits) {\n c <<= bits;\n if (!(this.codingPos & 1)) {\n c |= 0xff >> (8 - bits);\n }\n this.outputBits -= bits;\n bits = 0;\n } else {\n c <<= this.outputBits;\n if (!(this.codingPos & 1)) {\n c |= 0xff >> (8 - this.outputBits);\n }\n bits -= this.outputBits;\n this.outputBits = 0;\n if (codingLine[this.codingPos] < columns) {\n this.codingPos++;\n this.outputBits =\n codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n } else if (bits > 0) {\n c <<= bits;\n bits = 0;\n }\n }\n } while (bits);\n }\n if (this.black) {\n c ^= 0xff;\n }\n return c;\n }\n\n /**\n * @private\n */\n _addPixels(a1, blackPixels) {\n const codingLine = this.codingLine;\n let codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n info(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n if ((codingPos & 1) ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n }\n this.codingPos = codingPos;\n }\n\n /**\n * @private\n */\n _addPixelsNeg(a1, blackPixels) {\n const codingLine = this.codingLine;\n let codingPos = this.codingPos;\n\n if (a1 > codingLine[codingPos]) {\n if (a1 > this.columns) {\n info(\"row is wrong length\");\n this.err = true;\n a1 = this.columns;\n }\n if ((codingPos & 1) ^ blackPixels) {\n ++codingPos;\n }\n\n codingLine[codingPos] = a1;\n } else if (a1 < codingLine[codingPos]) {\n if (a1 < 0) {\n info(\"invalid code\");\n this.err = true;\n a1 = 0;\n }\n while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n --codingPos;\n }\n codingLine[codingPos] = a1;\n }\n\n this.codingPos = codingPos;\n }\n\n /**\n * This function returns the code found from the table.\n * The start and end parameters set the boundaries for searching the table.\n * The limit parameter is optional. Function returns an array with three\n * values. The first array element indicates whether a valid code is being\n * returned. The second array element is the actual code. The third array\n * element indicates whether EOF was reached.\n * @private\n */\n _findTableCode(start, end, table, limit) {\n const limitValue = limit || 0;\n for (let i = start; i <= end; ++i) {\n let code = this._lookBits(i);\n if (code === ccittEOF) {\n return [true, 1, false];\n }\n if (i < end) {\n code <<= end - i;\n }\n if (!limitValue || code >= limitValue) {\n const p = table[code - limitValue];\n if (p[0] === i) {\n this._eatBits(i);\n return [true, p[1], true];\n }\n }\n }\n return [false, 0, false];\n }\n\n /**\n * @private\n */\n _getTwoDimCode() {\n let code = 0;\n let p;\n if (this.eoblock) {\n code = this._lookBits(7);\n p = twoDimTable[code];\n if (p?.[0] > 0) {\n this._eatBits(p[0]);\n return p[1];\n }\n } else {\n const result = this._findTableCode(1, 7, twoDimTable);\n if (result[0] && result[2]) {\n return result[1];\n }\n }\n info(\"Bad two dim code\");\n return ccittEOF;\n }\n\n /**\n * @private\n */\n _getWhiteCode() {\n let code = 0;\n let p;\n if (this.eoblock) {\n code = this._lookBits(12);\n if (code === ccittEOF) {\n return 1;\n }\n\n p = code >> 5 === 0 ? whiteTable1[code] : whiteTable2[code >> 3];\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n return p[1];\n }\n } else {\n let result = this._findTableCode(1, 9, whiteTable2);\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(11, 12, whiteTable1);\n if (result[0]) {\n return result[1];\n }\n }\n info(\"bad white code\");\n this._eatBits(1);\n return 1;\n }\n\n /**\n * @private\n */\n _getBlackCode() {\n let code, p;\n if (this.eoblock) {\n code = this._lookBits(13);\n if (code === ccittEOF) {\n return 1;\n }\n if (code >> 7 === 0) {\n p = blackTable1[code];\n } else if (code >> 9 === 0 && code >> 7 !== 0) {\n p = blackTable2[(code >> 1) - 64];\n } else {\n p = blackTable3[code >> 7];\n }\n\n if (p[0] > 0) {\n this._eatBits(p[0]);\n return p[1];\n }\n } else {\n let result = this._findTableCode(2, 6, blackTable3);\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(7, 12, blackTable2, 64);\n if (result[0]) {\n return result[1];\n }\n\n result = this._findTableCode(10, 13, blackTable1);\n if (result[0]) {\n return result[1];\n }\n }\n info(\"bad black code\");\n this._eatBits(1);\n return 1;\n }\n\n /**\n * @private\n */\n _lookBits(n) {\n let c;\n while (this.inputBits < n) {\n if ((c = this.source.next()) === -1) {\n if (this.inputBits === 0) {\n return ccittEOF;\n }\n return (this.inputBuf << (n - this.inputBits)) & (0xffff >> (16 - n));\n }\n this.inputBuf = (this.inputBuf << 8) | c;\n this.inputBits += 8;\n }\n return (this.inputBuf >> (this.inputBits - n)) & (0xffff >> (16 - n));\n }\n\n /**\n * @private\n */\n _eatBits(n) {\n if ((this.inputBits -= n) < 0) {\n this.inputBits = 0;\n }\n }\n}\n\nexport { CCITTFaxDecoder };\n","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { assert, BaseException, warn } from \"../shared/util.js\";\nimport { grayToRGBA } from \"../shared/image_utils.js\";\nimport { readUint16 } from \"./core_utils.js\";\n\nclass JpegError extends BaseException {\n constructor(msg) {\n super(`JPEG error: ${msg}`, \"JpegError\");\n }\n}\n\nclass DNLMarkerError extends BaseException {\n constructor(message, scanLines) {\n super(message, \"DNLMarkerError\");\n this.scanLines = scanLines;\n }\n}\n\nclass EOIMarkerError extends BaseException {\n constructor(msg) {\n super(msg, \"EOIMarkerError\");\n }\n}\n\n/**\n * This code was forked from https://github.com/notmasteryet/jpgjs.\n * The original version was created by GitHub user notmasteryet.\n *\n * - The JPEG specification can be found in the ITU CCITT Recommendation T.81\n * (www.w3.org/Graphics/JPEG/itu-t81.pdf)\n * - The JFIF specification can be found in the JPEG File Interchange Format\n * (www.w3.org/Graphics/JPEG/jfif3.pdf)\n * - The Adobe Application-Specific JPEG markers in the\n * Supporting the DCT Filters in PostScript Level 2, Technical Note #5116\n * (partners.adobe.com/public/developer/en/ps/sdk/5116.DCT_Filter.pdf)\n */\n\n// prettier-ignore\nconst dctZigZag = new Uint8Array([\n 0,\n 1, 8,\n 16, 9, 2,\n 3, 10, 17, 24,\n 32, 25, 18, 11, 4,\n 5, 12, 19, 26, 33, 40,\n 48, 41, 34, 27, 20, 13, 6,\n 7, 14, 21, 28, 35, 42, 49, 56,\n 57, 50, 43, 36, 29, 22, 15,\n 23, 30, 37, 44, 51, 58,\n 59, 52, 45, 38, 31,\n 39, 46, 53, 60,\n 61, 54, 47,\n 55, 62,\n 63\n]);\n\nconst dctCos1 = 4017; // cos(pi/16)\nconst dctSin1 = 799; // sin(pi/16)\nconst dctCos3 = 3406; // cos(3*pi/16)\nconst dctSin3 = 2276; // sin(3*pi/16)\nconst dctCos6 = 1567; // cos(6*pi/16)\nconst dctSin6 = 3784; // sin(6*pi/16)\nconst dctSqrt2 = 5793; // sqrt(2)\nconst dctSqrt1d2 = 2896; // sqrt(2) / 2\n\nfunction buildHuffmanTable(codeLengths, values) {\n let k = 0,\n i,\n j,\n length = 16;\n while (length > 0 && !codeLengths[length - 1]) {\n length--;\n }\n const code = [{ children: [], index: 0 }];\n let p = code[0],\n q;\n for (i = 0; i < length; i++) {\n for (j = 0; j < codeLengths[i]; j++) {\n p = code.pop();\n p.children[p.index] = values[k];\n while (p.index > 0) {\n p = code.pop();\n }\n p.index++;\n code.push(p);\n while (code.length <= i) {\n code.push((q = { children: [], index: 0 }));\n p.children[p.index] = q.children;\n p = q;\n }\n k++;\n }\n if (i + 1 < length) {\n // p here points to last code\n code.push((q = { children: [], index: 0 }));\n p.children[p.index] = q.children;\n p = q;\n }\n }\n return code[0].children;\n}\n\nfunction getBlockBufferOffset(component, row, col) {\n return 64 * ((component.blocksPerLine + 1) * row + col);\n}\n\nfunction decodeScan(\n data,\n offset,\n frame,\n components,\n resetInterval,\n spectralStart,\n spectralEnd,\n successivePrev,\n successive,\n parseDNLMarker = false\n) {\n const mcusPerLine = frame.mcusPerLine;\n const progressive = frame.progressive;\n\n const startOffset = offset;\n let bitsData = 0,\n bitsCount = 0;\n\n function readBit() {\n if (bitsCount > 0) {\n bitsCount--;\n return (bitsData >> bitsCount) & 1;\n }\n bitsData = data[offset++];\n if (bitsData === 0xff) {\n const nextByte = data[offset++];\n if (nextByte) {\n if (nextByte === /* DNL = */ 0xdc && parseDNLMarker) {\n offset += 2; // Skip marker length.\n\n const scanLines = readUint16(data, offset);\n offset += 2;\n if (scanLines > 0 && scanLines !== frame.scanLines) {\n throw new DNLMarkerError(\n \"Found DNL marker (0xFFDC) while parsing scan data\",\n scanLines\n );\n }\n } else if (nextByte === /* EOI = */ 0xd9) {\n if (parseDNLMarker) {\n // NOTE: only 8-bit JPEG images are supported in this decoder.\n const maybeScanLines = blockRow * (frame.precision === 8 ? 8 : 0);\n // Heuristic to attempt to handle corrupt JPEG images with too\n // large `scanLines` parameter, by falling back to the currently\n // parsed number of scanLines when it's at least (approximately)\n // one \"half\" order of magnitude smaller than expected (fixes\n // issue10880.pdf, issue10989.pdf, issue15492.pdf).\n if (\n maybeScanLines > 0 &&\n Math.round(frame.scanLines / maybeScanLines) >= 5\n ) {\n throw new DNLMarkerError(\n \"Found EOI marker (0xFFD9) while parsing scan data, \" +\n \"possibly caused by incorrect `scanLines` parameter\",\n maybeScanLines\n );\n }\n }\n throw new EOIMarkerError(\n \"Found EOI marker (0xFFD9) while parsing scan data\"\n );\n }\n throw new JpegError(\n `unexpected marker ${((bitsData << 8) | nextByte).toString(16)}`\n );\n }\n // unstuff 0\n }\n bitsCount = 7;\n return bitsData >>> 7;\n }\n\n function decodeHuffman(tree) {\n let node = tree;\n while (true) {\n node = node[readBit()];\n switch (typeof node) {\n case \"number\":\n return node;\n case \"object\":\n continue;\n }\n throw new JpegError(\"invalid huffman sequence\");\n }\n }\n\n function receive(length) {\n let n = 0;\n while (length > 0) {\n n = (n << 1) | readBit();\n length--;\n }\n return n;\n }\n\n function receiveAndExtend(length) {\n if (length === 1) {\n return readBit() === 1 ? 1 : -1;\n }\n const n = receive(length);\n if (n >= 1 << (length - 1)) {\n return n;\n }\n return n + (-1 << length) + 1;\n }\n\n function decodeBaseline(component, blockOffset) {\n const t = decodeHuffman(component.huffmanTableDC);\n const diff = t === 0 ? 0 : receiveAndExtend(t);\n component.blockData[blockOffset] = component.pred += diff;\n let k = 1;\n while (k < 64) {\n const rs = decodeHuffman(component.huffmanTableAC);\n const s = rs & 15,\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n break;\n }\n k += 16;\n continue;\n }\n k += r;\n const z = dctZigZag[k];\n component.blockData[blockOffset + z] = receiveAndExtend(s);\n k++;\n }\n }\n\n function decodeDCFirst(component, blockOffset) {\n const t = decodeHuffman(component.huffmanTableDC);\n const diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n component.blockData[blockOffset] = component.pred += diff;\n }\n\n function decodeDCSuccessive(component, blockOffset) {\n component.blockData[blockOffset] |= readBit() << successive;\n }\n\n let eobrun = 0;\n function decodeACFirst(component, blockOffset) {\n if (eobrun > 0) {\n eobrun--;\n return;\n }\n let k = spectralStart;\n const e = spectralEnd;\n while (k <= e) {\n const rs = decodeHuffman(component.huffmanTableAC);\n const s = rs & 15,\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r) - 1;\n break;\n }\n k += 16;\n continue;\n }\n k += r;\n const z = dctZigZag[k];\n component.blockData[blockOffset + z] =\n receiveAndExtend(s) * (1 << successive);\n k++;\n }\n }\n\n let successiveACState = 0,\n successiveACNextValue;\n function decodeACSuccessive(component, blockOffset) {\n let k = spectralStart;\n const e = spectralEnd;\n let r = 0;\n let s;\n let rs;\n while (k <= e) {\n const offsetZ = blockOffset + dctZigZag[k];\n const sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n switch (successiveACState) {\n case 0: // initial state\n rs = decodeHuffman(component.huffmanTableAC);\n s = rs & 15;\n r = rs >> 4;\n if (s === 0) {\n if (r < 15) {\n eobrun = receive(r) + (1 << r);\n successiveACState = 4;\n } else {\n r = 16;\n successiveACState = 1;\n }\n } else {\n if (s !== 1) {\n throw new JpegError(\"invalid ACn encoding\");\n }\n successiveACNextValue = receiveAndExtend(s);\n successiveACState = r ? 2 : 3;\n }\n continue;\n case 1: // skipping r zero items\n case 2:\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n r--;\n if (r === 0) {\n successiveACState = successiveACState === 2 ? 3 : 0;\n }\n }\n break;\n case 3: // set value for a zero item\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n } else {\n component.blockData[offsetZ] = successiveACNextValue << successive;\n successiveACState = 0;\n }\n break;\n case 4: // eob\n if (component.blockData[offsetZ]) {\n component.blockData[offsetZ] += sign * (readBit() << successive);\n }\n break;\n }\n k++;\n }\n if (successiveACState === 4) {\n eobrun--;\n if (eobrun === 0) {\n successiveACState = 0;\n }\n }\n }\n\n let blockRow = 0;\n function decodeMcu(component, decode, mcu, row, col) {\n const mcuRow = (mcu / mcusPerLine) | 0;\n const mcuCol = mcu % mcusPerLine;\n blockRow = mcuRow * component.v + row;\n const blockCol = mcuCol * component.h + col;\n const blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n\n function decodeBlock(component, decode, mcu) {\n blockRow = (mcu / component.blocksPerLine) | 0;\n const blockCol = mcu % component.blocksPerLine;\n const blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n decode(component, blockOffset);\n }\n\n const componentsLength = components.length;\n let component, i, j, k, n;\n let decodeFn;\n if (progressive) {\n if (spectralStart === 0) {\n decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n } else {\n decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n }\n } else {\n decodeFn = decodeBaseline;\n }\n\n let mcu = 0,\n fileMarker;\n const mcuExpected =\n componentsLength === 1\n ? components[0].blocksPerLine * components[0].blocksPerColumn\n : mcusPerLine * frame.mcusPerColumn;\n\n let h, v;\n while (mcu <= mcuExpected) {\n // reset interval stuff\n const mcuToRead = resetInterval\n ? Math.min(mcuExpected - mcu, resetInterval)\n : mcuExpected;\n\n // The `mcuToRead === 0` case should only occur when all of the expected\n // MCU data has been already parsed, i.e. when `mcu === mcuExpected`, but\n // some corrupt JPEG images contain more data than intended and we thus\n // want to skip over any extra RSTx markers below (fixes issue11794.pdf).\n if (mcuToRead > 0) {\n for (i = 0; i < componentsLength; i++) {\n components[i].pred = 0;\n }\n eobrun = 0;\n\n if (componentsLength === 1) {\n component = components[0];\n for (n = 0; n < mcuToRead; n++) {\n decodeBlock(component, decodeFn, mcu);\n mcu++;\n }\n } else {\n for (n = 0; n < mcuToRead; n++) {\n for (i = 0; i < componentsLength; i++) {\n component = components[i];\n h = component.h;\n v = component.v;\n for (j = 0; j < v; j++) {\n for (k = 0; k < h; k++) {\n decodeMcu(component, decodeFn, mcu, j, k);\n }\n }\n }\n mcu++;\n }\n }\n }\n\n // find marker\n bitsCount = 0;\n fileMarker = findNextFileMarker(data, offset);\n if (!fileMarker) {\n break; // Reached the end of the image data without finding any marker.\n }\n if (fileMarker.invalid) {\n // Some bad images seem to pad Scan blocks with e.g. zero bytes, skip\n // past those to attempt to find a valid marker (fixes issue4090.pdf).\n const partialMsg = mcuToRead > 0 ? \"unexpected\" : \"excessive\";\n warn(\n `decodeScan - ${partialMsg} MCU data, current marker is: ${fileMarker.invalid}`\n );\n offset = fileMarker.offset;\n }\n if (fileMarker.marker >= 0xffd0 && fileMarker.marker <= 0xffd7) {\n // RSTx\n offset += 2;\n } else {\n break;\n }\n }\n\n return offset - startOffset;\n}\n\n// A port of poppler's IDCT method which in turn is taken from:\n// Christoph Loeffler, Adriaan Ligtenberg, George S. Moschytz,\n// 'Practical Fast 1-D DCT Algorithms with 11 Multiplications',\n// IEEE Intl. Conf. on Acoustics, Speech & Signal Processing, 1989,\n// 988-991.\nfunction quantizeAndInverse(component, blockBufferOffset, p) {\n const qt = component.quantizationTable,\n blockData = component.blockData;\n let v0, v1, v2, v3, v4, v5, v6, v7;\n let p0, p1, p2, p3, p4, p5, p6, p7;\n let t;\n\n if (!qt) {\n throw new JpegError(\"missing required Quantization Table.\");\n }\n\n // inverse DCT on rows\n for (let row = 0; row < 64; row += 8) {\n // gather block data\n p0 = blockData[blockBufferOffset + row];\n p1 = blockData[blockBufferOffset + row + 1];\n p2 = blockData[blockBufferOffset + row + 2];\n p3 = blockData[blockBufferOffset + row + 3];\n p4 = blockData[blockBufferOffset + row + 4];\n p5 = blockData[blockBufferOffset + row + 5];\n p6 = blockData[blockBufferOffset + row + 6];\n p7 = blockData[blockBufferOffset + row + 7];\n\n // dequant p0\n p0 *= qt[row];\n\n // check for all-zero AC coefficients\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = (dctSqrt2 * p0 + 512) >> 10;\n p[row] = t;\n p[row + 1] = t;\n p[row + 2] = t;\n p[row + 3] = t;\n p[row + 4] = t;\n p[row + 5] = t;\n p[row + 6] = t;\n p[row + 7] = t;\n continue;\n }\n // dequant p1 ... p7\n p1 *= qt[row + 1];\n p2 *= qt[row + 2];\n p3 *= qt[row + 3];\n p4 *= qt[row + 4];\n p5 *= qt[row + 5];\n p6 *= qt[row + 6];\n p7 *= qt[row + 7];\n\n // stage 4\n v0 = (dctSqrt2 * p0 + 128) >> 8;\n v1 = (dctSqrt2 * p4 + 128) >> 8;\n v2 = p2;\n v3 = p6;\n v4 = (dctSqrt1d2 * (p1 - p7) + 128) >> 8;\n v7 = (dctSqrt1d2 * (p1 + p7) + 128) >> 8;\n v5 = p3 << 4;\n v6 = p5 << 4;\n\n // stage 3\n v0 = (v0 + v1 + 1) >> 1;\n v1 = v0 - v1;\n t = (v2 * dctSin6 + v3 * dctCos6 + 128) >> 8;\n v2 = (v2 * dctCos6 - v3 * dctSin6 + 128) >> 8;\n v3 = t;\n v4 = (v4 + v6 + 1) >> 1;\n v6 = v4 - v6;\n v7 = (v7 + v5 + 1) >> 1;\n v5 = v7 - v5;\n\n // stage 2\n v0 = (v0 + v3 + 1) >> 1;\n v3 = v0 - v3;\n v1 = (v1 + v2 + 1) >> 1;\n v2 = v1 - v2;\n t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;\n v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;\n v7 = t;\n t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;\n v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;\n v6 = t;\n\n // stage 1\n p[row] = v0 + v7;\n p[row + 7] = v0 - v7;\n p[row + 1] = v1 + v6;\n p[row + 6] = v1 - v6;\n p[row + 2] = v2 + v5;\n p[row + 5] = v2 - v5;\n p[row + 3] = v3 + v4;\n p[row + 4] = v3 - v4;\n }\n\n // inverse DCT on columns\n for (let col = 0; col < 8; ++col) {\n p0 = p[col];\n p1 = p[col + 8];\n p2 = p[col + 16];\n p3 = p[col + 24];\n p4 = p[col + 32];\n p5 = p[col + 40];\n p6 = p[col + 48];\n p7 = p[col + 56];\n\n // check for all-zero AC coefficients\n if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n t = (dctSqrt2 * p0 + 8192) >> 14;\n // Convert to 8-bit.\n if (t < -2040) {\n t = 0;\n } else if (t >= 2024) {\n t = 255;\n } else {\n t = (t + 2056) >> 4;\n }\n blockData[blockBufferOffset + col] = t;\n blockData[blockBufferOffset + col + 8] = t;\n blockData[blockBufferOffset + col + 16] = t;\n blockData[blockBufferOffset + col + 24] = t;\n blockData[blockBufferOffset + col + 32] = t;\n blockData[blockBufferOffset + col + 40] = t;\n blockData[blockBufferOffset + col + 48] = t;\n blockData[blockBufferOffset + col + 56] = t;\n continue;\n }\n\n // stage 4\n v0 = (dctSqrt2 * p0 + 2048) >> 12;\n v1 = (dctSqrt2 * p4 + 2048) >> 12;\n v2 = p2;\n v3 = p6;\n v4 = (dctSqrt1d2 * (p1 - p7) + 2048) >> 12;\n v7 = (dctSqrt1d2 * (p1 + p7) + 2048) >> 12;\n v5 = p3;\n v6 = p5;\n\n // stage 3\n // Shift v0 by 128.5 << 5 here, so we don't need to shift p0...p7 when\n // converting to UInt8 range later.\n v0 = ((v0 + v1 + 1) >> 1) + 4112;\n v1 = v0 - v1;\n t = (v2 * dctSin6 + v3 * dctCos6 + 2048) >> 12;\n v2 = (v2 * dctCos6 - v3 * dctSin6 + 2048) >> 12;\n v3 = t;\n v4 = (v4 + v6 + 1) >> 1;\n v6 = v4 - v6;\n v7 = (v7 + v5 + 1) >> 1;\n v5 = v7 - v5;\n\n // stage 2\n v0 = (v0 + v3 + 1) >> 1;\n v3 = v0 - v3;\n v1 = (v1 + v2 + 1) >> 1;\n v2 = v1 - v2;\n t = (v4 * dctSin3 + v7 * dctCos3 + 2048) >> 12;\n v4 = (v4 * dctCos3 - v7 * dctSin3 + 2048) >> 12;\n v7 = t;\n t = (v5 * dctSin1 + v6 * dctCos1 + 2048) >> 12;\n v5 = (v5 * dctCos1 - v6 * dctSin1 + 2048) >> 12;\n v6 = t;\n\n // stage 1\n p0 = v0 + v7;\n p7 = v0 - v7;\n p1 = v1 + v6;\n p6 = v1 - v6;\n p2 = v2 + v5;\n p5 = v2 - v5;\n p3 = v3 + v4;\n p4 = v3 - v4;\n\n // Convert to 8-bit integers.\n if (p0 < 16) {\n p0 = 0;\n } else if (p0 >= 4080) {\n p0 = 255;\n } else {\n p0 >>= 4;\n }\n if (p1 < 16) {\n p1 = 0;\n } else if (p1 >= 4080) {\n p1 = 255;\n } else {\n p1 >>= 4;\n }\n if (p2 < 16) {\n p2 = 0;\n } else if (p2 >= 4080) {\n p2 = 255;\n } else {\n p2 >>= 4;\n }\n if (p3 < 16) {\n p3 = 0;\n } else if (p3 >= 4080) {\n p3 = 255;\n } else {\n p3 >>= 4;\n }\n if (p4 < 16) {\n p4 = 0;\n } else if (p4 >= 4080) {\n p4 = 255;\n } else {\n p4 >>= 4;\n }\n if (p5 < 16) {\n p5 = 0;\n } else if (p5 >= 4080) {\n p5 = 255;\n } else {\n p5 >>= 4;\n }\n if (p6 < 16) {\n p6 = 0;\n } else if (p6 >= 4080) {\n p6 = 255;\n } else {\n p6 >>= 4;\n }\n if (p7 < 16) {\n p7 = 0;\n } else if (p7 >= 4080) {\n p7 = 255;\n } else {\n p7 >>= 4;\n }\n\n // store block data\n blockData[blockBufferOffset + col] = p0;\n blockData[blockBufferOffset + col + 8] = p1;\n blockData[blockBufferOffset + col + 16] = p2;\n blockData[blockBufferOffset + col + 24] = p3;\n blockData[blockBufferOffset + col + 32] = p4;\n blockData[blockBufferOffset + col + 40] = p5;\n blockData[blockBufferOffset + col + 48] = p6;\n blockData[blockBufferOffset + col + 56] = p7;\n }\n}\n\nfunction buildComponentData(frame, component) {\n const blocksPerLine = component.blocksPerLine;\n const blocksPerColumn = component.blocksPerColumn;\n const computationBuffer = new Int16Array(64);\n\n for (let blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n for (let blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n const offset = getBlockBufferOffset(component, blockRow, blockCol);\n quantizeAndInverse(component, offset, computationBuffer);\n }\n }\n return component.blockData;\n}\n\nfunction findNextFileMarker(data, currentPos, startPos = currentPos) {\n const maxPos = data.length - 1;\n let newPos = startPos < currentPos ? startPos : currentPos;\n\n if (currentPos >= maxPos) {\n return null; // Don't attempt to read non-existent data and just return.\n }\n const currentMarker = readUint16(data, currentPos);\n if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) {\n return {\n invalid: null,\n marker: currentMarker,\n offset: currentPos,\n };\n }\n let newMarker = readUint16(data, newPos);\n while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {\n if (++newPos >= maxPos) {\n return null; // Don't attempt to read non-existent data and just return.\n }\n newMarker = readUint16(data, newPos);\n }\n return {\n invalid: currentMarker.toString(16),\n marker: newMarker,\n offset: newPos,\n };\n}\n\nclass JpegImage {\n constructor({ decodeTransform = null, colorTransform = -1 } = {}) {\n this._decodeTransform = decodeTransform;\n this._colorTransform = colorTransform;\n }\n\n parse(data, { dnlScanLines = null } = {}) {\n function readDataBlock() {\n const length = readUint16(data, offset);\n offset += 2;\n let endOffset = offset + length - 2;\n\n const fileMarker = findNextFileMarker(data, endOffset, offset);\n if (fileMarker?.invalid) {\n warn(\n \"readDataBlock - incorrect length, current marker is: \" +\n fileMarker.invalid\n );\n endOffset = fileMarker.offset;\n }\n\n const array = data.subarray(offset, endOffset);\n offset += array.length;\n return array;\n }\n\n function prepareComponents(frame) {\n const mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n const mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n for (const component of frame.components) {\n const blocksPerLine = Math.ceil(\n (Math.ceil(frame.samplesPerLine / 8) * component.h) / frame.maxH\n );\n const blocksPerColumn = Math.ceil(\n (Math.ceil(frame.scanLines / 8) * component.v) / frame.maxV\n );\n const blocksPerLineForMcu = mcusPerLine * component.h;\n const blocksPerColumnForMcu = mcusPerColumn * component.v;\n\n const blocksBufferSize =\n 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n component.blockData = new Int16Array(blocksBufferSize);\n component.blocksPerLine = blocksPerLine;\n component.blocksPerColumn = blocksPerColumn;\n }\n frame.mcusPerLine = mcusPerLine;\n frame.mcusPerColumn = mcusPerColumn;\n }\n\n let offset = 0;\n let jfif = null;\n let adobe = null;\n let frame, resetInterval;\n let numSOSMarkers = 0;\n const quantizationTables = [];\n const huffmanTablesAC = [],\n huffmanTablesDC = [];\n\n let fileMarker = readUint16(data, offset);\n offset += 2;\n if (fileMarker !== /* SOI (Start of Image) = */ 0xffd8) {\n throw new JpegError(\"SOI not found\");\n }\n fileMarker = readUint16(data, offset);\n offset += 2;\n\n markerLoop: while (fileMarker !== /* EOI (End of Image) = */ 0xffd9) {\n let i, j, l;\n switch (fileMarker) {\n case 0xffe0: // APP0 (Application Specific)\n case 0xffe1: // APP1\n case 0xffe2: // APP2\n case 0xffe3: // APP3\n case 0xffe4: // APP4\n case 0xffe5: // APP5\n case 0xffe6: // APP6\n case 0xffe7: // APP7\n case 0xffe8: // APP8\n case 0xffe9: // APP9\n case 0xffea: // APP10\n case 0xffeb: // APP11\n case 0xffec: // APP12\n case 0xffed: // APP13\n case 0xffee: // APP14\n case 0xffef: // APP15\n case 0xfffe: // COM (Comment)\n const appData = readDataBlock();\n\n if (fileMarker === 0xffe0) {\n // 'JFIF\\x00'\n if (\n appData[0] === 0x4a &&\n appData[1] === 0x46 &&\n appData[2] === 0x49 &&\n appData[3] === 0x46 &&\n appData[4] === 0\n ) {\n jfif = {\n version: { major: appData[5], minor: appData[6] },\n densityUnits: appData[7],\n xDensity: (appData[8] << 8) | appData[9],\n yDensity: (appData[10] << 8) | appData[11],\n thumbWidth: appData[12],\n thumbHeight: appData[13],\n thumbData: appData.subarray(\n 14,\n 14 + 3 * appData[12] * appData[13]\n ),\n };\n }\n }\n // TODO APP1 - Exif\n if (fileMarker === 0xffee) {\n // 'Adobe'\n if (\n appData[0] === 0x41 &&\n appData[1] === 0x64 &&\n appData[2] === 0x6f &&\n appData[3] === 0x62 &&\n appData[4] === 0x65\n ) {\n adobe = {\n version: (appData[5] << 8) | appData[6],\n flags0: (appData[7] << 8) | appData[8],\n flags1: (appData[9] << 8) | appData[10],\n transformCode: appData[11],\n };\n }\n }\n break;\n\n case 0xffdb: // DQT (Define Quantization Tables)\n const quantizationTablesLength = readUint16(data, offset);\n offset += 2;\n const quantizationTablesEnd = quantizationTablesLength + offset - 2;\n let z;\n while (offset < quantizationTablesEnd) {\n const quantizationTableSpec = data[offset++];\n const tableData = new Uint16Array(64);\n if (quantizationTableSpec >> 4 === 0) {\n // 8 bit values\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = data[offset++];\n }\n } else if (quantizationTableSpec >> 4 === 1) {\n // 16 bit values\n for (j = 0; j < 64; j++) {\n z = dctZigZag[j];\n tableData[z] = readUint16(data, offset);\n offset += 2;\n }\n } else {\n throw new JpegError(\"DQT - invalid table spec\");\n }\n quantizationTables[quantizationTableSpec & 15] = tableData;\n }\n break;\n\n case 0xffc0: // SOF0 (Start of Frame, Baseline DCT)\n case 0xffc1: // SOF1 (Start of Frame, Extended DCT)\n case 0xffc2: // SOF2 (Start of Frame, Progressive DCT)\n if (frame) {\n throw new JpegError(\"Only single frame JPEGs supported\");\n }\n offset += 2; // Skip marker length.\n\n frame = {};\n frame.extended = fileMarker === 0xffc1;\n frame.progressive = fileMarker === 0xffc2;\n frame.precision = data[offset++];\n const sofScanLines = readUint16(data, offset);\n offset += 2;\n frame.scanLines = dnlScanLines || sofScanLines;\n frame.samplesPerLine = readUint16(data, offset);\n offset += 2;\n frame.components = [];\n frame.componentIds = {};\n const componentsCount = data[offset++];\n let maxH = 0,\n maxV = 0;\n for (i = 0; i < componentsCount; i++) {\n const componentId = data[offset];\n const h = data[offset + 1] >> 4;\n const v = data[offset + 1] & 15;\n if (maxH < h) {\n maxH = h;\n }\n if (maxV < v) {\n maxV = v;\n }\n const qId = data[offset + 2];\n l = frame.components.push({\n h,\n v,\n quantizationId: qId,\n quantizationTable: null, // See comment below.\n });\n frame.componentIds[componentId] = l - 1;\n offset += 3;\n }\n frame.maxH = maxH;\n frame.maxV = maxV;\n prepareComponents(frame);\n break;\n\n case 0xffc4: // DHT (Define Huffman Tables)\n const huffmanLength = readUint16(data, offset);\n offset += 2;\n for (i = 2; i < huffmanLength; ) {\n const huffmanTableSpec = data[offset++];\n const codeLengths = new Uint8Array(16);\n let codeLengthSum = 0;\n for (j = 0; j < 16; j++, offset++) {\n codeLengthSum += codeLengths[j] = data[offset];\n }\n const huffmanValues = new Uint8Array(codeLengthSum);\n for (j = 0; j < codeLengthSum; j++, offset++) {\n huffmanValues[j] = data[offset];\n }\n i += 17 + codeLengthSum;\n\n (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[\n huffmanTableSpec & 15\n ] = buildHuffmanTable(codeLengths, huffmanValues);\n }\n break;\n\n case 0xffdd: // DRI (Define Restart Interval)\n offset += 2; // Skip marker length.\n\n resetInterval = readUint16(data, offset);\n offset += 2;\n break;\n\n case 0xffda: // SOS (Start of Scan)\n // A DNL marker (0xFFDC), if it exists, is only allowed at the end\n // of the first scan segment and may only occur once in an image.\n // Furthermore, to prevent an infinite loop, do *not* attempt to\n // parse DNL markers during re-parsing of the JPEG scan data.\n const parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n\n offset += 2; // Skip marker length.\n\n const selectorsCount = data[offset++],\n components = [];\n for (i = 0; i < selectorsCount; i++) {\n const index = data[offset++];\n const componentIndex = frame.componentIds[index];\n const component = frame.components[componentIndex];\n component.index = index;\n const tableSpec = data[offset++];\n component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n components.push(component);\n }\n const spectralStart = data[offset++],\n spectralEnd = data[offset++],\n successiveApproximation = data[offset++];\n try {\n const processed = decodeScan(\n data,\n offset,\n frame,\n components,\n resetInterval,\n spectralStart,\n spectralEnd,\n successiveApproximation >> 4,\n successiveApproximation & 15,\n parseDNLMarker\n );\n offset += processed;\n } catch (ex) {\n if (ex instanceof DNLMarkerError) {\n warn(`${ex.message} -- attempting to re-parse the JPEG image.`);\n return this.parse(data, { dnlScanLines: ex.scanLines });\n } else if (ex instanceof EOIMarkerError) {\n warn(`${ex.message} -- ignoring the rest of the image data.`);\n break markerLoop;\n }\n throw ex;\n }\n break;\n\n case 0xffdc: // DNL (Define Number of Lines)\n // Ignore the marker, since it's being handled in `decodeScan`.\n offset += 4;\n break;\n\n case 0xffff: // Fill bytes\n if (data[offset] !== 0xff) {\n // Avoid skipping a valid marker.\n offset--;\n }\n break;\n\n default:\n // Could be incorrect encoding -- the last 0xFF byte of the previous\n // block could have been eaten by the encoder, hence we fallback to\n // `startPos = offset - 3` when looking for the next valid marker.\n const nextFileMarker = findNextFileMarker(\n data,\n /* currentPos = */ offset - 2,\n /* startPos = */ offset - 3\n );\n if (nextFileMarker?.invalid) {\n warn(\n \"JpegImage.parse - unexpected data, current marker is: \" +\n nextFileMarker.invalid\n );\n offset = nextFileMarker.offset;\n break;\n }\n if (!nextFileMarker || offset >= data.length - 1) {\n warn(\n \"JpegImage.parse - reached the end of the image data \" +\n \"without finding an EOI marker (0xFFD9).\"\n );\n break markerLoop;\n }\n throw new JpegError(\n \"JpegImage.parse - unknown marker: \" + fileMarker.toString(16)\n );\n }\n fileMarker = readUint16(data, offset);\n offset += 2;\n }\n\n this.width = frame.samplesPerLine;\n this.height = frame.scanLines;\n this.jfif = jfif;\n this.adobe = adobe;\n this.components = [];\n for (const component of frame.components) {\n // Prevent errors when DQT markers are placed after SOF{n} markers,\n // by assigning the `quantizationTable` entry after the entire image\n // has been parsed (fixes issue7406.pdf).\n const quantizationTable = quantizationTables[component.quantizationId];\n if (quantizationTable) {\n component.quantizationTable = quantizationTable;\n }\n\n this.components.push({\n index: component.index,\n output: buildComponentData(frame, component),\n scaleX: component.h / frame.maxH,\n scaleY: component.v / frame.maxV,\n blocksPerLine: component.blocksPerLine,\n blocksPerColumn: component.blocksPerColumn,\n });\n }\n this.numComponents = this.components.length;\n return undefined;\n }\n\n _getLinearizedBlockData(width, height, isSourcePDF = false) {\n const scaleX = this.width / width,\n scaleY = this.height / height;\n\n let component, componentScaleX, componentScaleY, blocksPerScanline;\n let x, y, i, j, k;\n let index;\n let offset = 0;\n let output;\n const numComponents = this.components.length;\n const dataLength = width * height * numComponents;\n const data = new Uint8ClampedArray(dataLength);\n const xScaleBlockOffset = new Uint32Array(width);\n const mask3LSB = 0xfffffff8; // used to clear the 3 LSBs\n let lastComponentScaleX;\n\n for (i = 0; i < numComponents; i++) {\n component = this.components[i];\n componentScaleX = component.scaleX * scaleX;\n componentScaleY = component.scaleY * scaleY;\n offset = i;\n output = component.output;\n blocksPerScanline = (component.blocksPerLine + 1) << 3;\n // Precalculate the `xScaleBlockOffset`. Since it doesn't depend on the\n // component data, that's only necessary when `componentScaleX` changes.\n if (componentScaleX !== lastComponentScaleX) {\n for (x = 0; x < width; x++) {\n j = 0 | (x * componentScaleX);\n xScaleBlockOffset[x] = ((j & mask3LSB) << 3) | (j & 7);\n }\n lastComponentScaleX = componentScaleX;\n }\n // linearize the blocks of the component\n for (y = 0; y < height; y++) {\n j = 0 | (y * componentScaleY);\n index = (blocksPerScanline * (j & mask3LSB)) | ((j & 7) << 3);\n for (x = 0; x < width; x++) {\n data[offset] = output[index + xScaleBlockOffset[x]];\n offset += numComponents;\n }\n }\n }\n\n // decodeTransform contains pairs of multiplier (-256..256) and additive\n let transform = this._decodeTransform;\n\n // In PDF files, JPEG images with CMYK colour spaces are usually inverted\n // (this can be observed by extracting the raw image data).\n // Since the conversion algorithms (see below) were written primarily for\n // the PDF use-cases, attempting to use `JpegImage` to parse standalone\n // JPEG (CMYK) images may thus result in inverted images (see issue 9513).\n //\n // Unfortunately it's not (always) possible to tell, from the image data\n // alone, if it needs to be inverted. Thus in an attempt to provide better\n // out-of-box behaviour when `JpegImage` is used standalone, default to\n // inverting JPEG (CMYK) images if and only if the image data does *not*\n // come from a PDF file and no `decodeTransform` was passed by the user.\n if (!isSourcePDF && numComponents === 4 && !transform) {\n transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);\n }\n\n if (transform) {\n for (i = 0; i < dataLength; ) {\n for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n data[i] = ((data[i] * transform[k]) >> 8) + transform[k + 1];\n }\n }\n }\n return data;\n }\n\n get _isColorConversionNeeded() {\n if (this.adobe) {\n // The adobe transform marker overrides any previous setting.\n return !!this.adobe.transformCode;\n }\n if (this.numComponents === 3) {\n if (this._colorTransform === 0) {\n // If the Adobe transform marker is not present and the image\n // dictionary has a 'ColorTransform' entry, explicitly set to `0`,\n // then the colours should *not* be transformed.\n return false;\n } else if (\n this.components[0].index === /* \"R\" = */ 0x52 &&\n this.components[1].index === /* \"G\" = */ 0x47 &&\n this.components[2].index === /* \"B\" = */ 0x42\n ) {\n // If the three components are indexed as RGB in ASCII\n // then the colours should *not* be transformed.\n return false;\n }\n return true;\n }\n // `this.numComponents !== 3`\n if (this._colorTransform === 1) {\n // If the Adobe transform marker is not present and the image\n // dictionary has a 'ColorTransform' entry, explicitly set to `1`,\n // then the colours should be transformed.\n return true;\n }\n return false;\n }\n\n _convertYccToRgb(data) {\n let Y, Cb, Cr;\n for (let i = 0, length = data.length; i < length; i += 3) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = Y - 179.456 + 1.402 * Cr;\n data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n data[i + 2] = Y - 226.816 + 1.772 * Cb;\n }\n return data;\n }\n\n _convertYccToRgba(data, out) {\n for (let i = 0, j = 0, length = data.length; i < length; i += 3, j += 4) {\n const Y = data[i];\n const Cb = data[i + 1];\n const Cr = data[i + 2];\n out[j] = Y - 179.456 + 1.402 * Cr;\n out[j + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n out[j + 2] = Y - 226.816 + 1.772 * Cb;\n out[j + 3] = 255;\n }\n return out;\n }\n\n _convertYcckToRgb(data) {\n let Y, Cb, Cr, k;\n let offset = 0;\n for (let i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n k = data[i + 3];\n\n data[offset++] =\n -122.67195406894 +\n Cb *\n (-6.60635669420364e-5 * Cb +\n 0.000437130475926232 * Cr -\n 5.4080610064599e-5 * Y +\n 0.00048449797120281 * k -\n 0.154362151871126) +\n Cr *\n (-0.000957964378445773 * Cr +\n 0.000817076911346625 * Y -\n 0.00477271405408747 * k +\n 1.53380253221734) +\n Y *\n (0.000961250184130688 * Y -\n 0.00266257332283933 * k +\n 0.48357088451265) +\n k * (-0.000336197177618394 * k + 0.484791561490776);\n\n data[offset++] =\n 107.268039397724 +\n Cb *\n (2.19927104525741e-5 * Cb -\n 0.000640992018297945 * Cr +\n 0.000659397001245577 * Y +\n 0.000426105652938837 * k -\n 0.176491792462875) +\n Cr *\n (-0.000778269941513683 * Cr +\n 0.00130872261408275 * Y +\n 0.000770482631801132 * k -\n 0.151051492775562) +\n Y *\n (0.00126935368114843 * Y -\n 0.00265090189010898 * k +\n 0.25802910206845) +\n k * (-0.000318913117588328 * k - 0.213742400323665);\n\n data[offset++] =\n -20.810012546947 +\n Cb *\n (-0.000570115196973677 * Cb -\n 2.63409051004589e-5 * Cr +\n 0.0020741088115012 * Y -\n 0.00288260236853442 * k +\n 0.814272968359295) +\n Cr *\n (-1.53496057440975e-5 * Cr -\n 0.000132689043961446 * Y +\n 0.000560833691242812 * k -\n 0.195152027534049) +\n Y *\n (0.00174418132927582 * Y -\n 0.00255243321439347 * k +\n 0.116935020465145) +\n k * (-0.000343531996510555 * k + 0.24165260232407);\n }\n // Ensure that only the converted RGB data is returned.\n return data.subarray(0, offset);\n }\n\n _convertYcckToRgba(data) {\n for (let i = 0, length = data.length; i < length; i += 4) {\n const Y = data[i];\n const Cb = data[i + 1];\n const Cr = data[i + 2];\n const k = data[i + 3];\n\n data[i] =\n -122.67195406894 +\n Cb *\n (-6.60635669420364e-5 * Cb +\n 0.000437130475926232 * Cr -\n 5.4080610064599e-5 * Y +\n 0.00048449797120281 * k -\n 0.154362151871126) +\n Cr *\n (-0.000957964378445773 * Cr +\n 0.000817076911346625 * Y -\n 0.00477271405408747 * k +\n 1.53380253221734) +\n Y *\n (0.000961250184130688 * Y -\n 0.00266257332283933 * k +\n 0.48357088451265) +\n k * (-0.000336197177618394 * k + 0.484791561490776);\n\n data[i + 1] =\n 107.268039397724 +\n Cb *\n (2.19927104525741e-5 * Cb -\n 0.000640992018297945 * Cr +\n 0.000659397001245577 * Y +\n 0.000426105652938837 * k -\n 0.176491792462875) +\n Cr *\n (-0.000778269941513683 * Cr +\n 0.00130872261408275 * Y +\n 0.000770482631801132 * k -\n 0.151051492775562) +\n Y *\n (0.00126935368114843 * Y -\n 0.00265090189010898 * k +\n 0.25802910206845) +\n k * (-0.000318913117588328 * k - 0.213742400323665);\n\n data[i + 2] =\n -20.810012546947 +\n Cb *\n (-0.000570115196973677 * Cb -\n 2.63409051004589e-5 * Cr +\n 0.0020741088115012 * Y -\n 0.00288260236853442 * k +\n 0.814272968359295) +\n Cr *\n (-1.53496057440975e-5 * Cr -\n 0.000132689043961446 * Y +\n 0.000560833691242812 * k -\n 0.195152027534049) +\n Y *\n (0.00174418132927582 * Y -\n 0.00255243321439347 * k +\n 0.116935020465145) +\n k * (-0.000343531996510555 * k + 0.24165260232407);\n data[i + 3] = 255;\n }\n return data;\n }\n\n _convertYcckToCmyk(data) {\n let Y, Cb, Cr;\n for (let i = 0, length = data.length; i < length; i += 4) {\n Y = data[i];\n Cb = data[i + 1];\n Cr = data[i + 2];\n data[i] = 434.456 - Y - 1.402 * Cr;\n data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n data[i + 2] = 481.816 - Y - 1.772 * Cb;\n // K in data[i + 3] is unchanged\n }\n return data;\n }\n\n _convertCmykToRgb(data) {\n let c, m, y, k;\n let offset = 0;\n for (let i = 0, length = data.length; i < length; i += 4) {\n c = data[i];\n m = data[i + 1];\n y = data[i + 2];\n k = data[i + 3];\n\n data[offset++] =\n 255 +\n c *\n (-0.00006747147073602441 * c +\n 0.0008379262121013727 * m +\n 0.0002894718188643294 * y +\n 0.003264231057537806 * k -\n 1.1185611867203937) +\n m *\n (0.000026374107616089405 * m -\n 0.00008626949158638572 * y -\n 0.0002748769067499491 * k -\n 0.02155688794978967) +\n y *\n (-0.00003878099212869363 * y -\n 0.0003267808279485286 * k +\n 0.0686742238595345) -\n k * (0.0003361971776183937 * k + 0.7430659151342254);\n\n data[offset++] =\n 255 +\n c *\n (0.00013596372813588848 * c +\n 0.000924537132573585 * m +\n 0.00010567359618683593 * y +\n 0.0004791864687436512 * k -\n 0.3109689587515875) +\n m *\n (-0.00023545346108370344 * m +\n 0.0002702845253534714 * y +\n 0.0020200308977307156 * k -\n 0.7488052167015494) +\n y *\n (0.00006834815998235662 * y +\n 0.00015168452363460973 * k -\n 0.09751927774728933) -\n k * (0.0003189131175883281 * k + 0.7364883807733168);\n\n data[offset++] =\n 255 +\n c *\n (0.000013598650411385307 * c +\n 0.00012423956175490851 * m +\n 0.0004751985097583589 * y -\n 0.0000036729317476630422 * k -\n 0.05562186980264034) +\n m *\n (0.00016141380598724676 * m +\n 0.0009692239130725186 * y +\n 0.0007782692450036253 * k -\n 0.44015232367526463) +\n y *\n (5.068882914068769e-7 * y +\n 0.0017778369011375071 * k -\n 0.7591454649749609) -\n k * (0.0003435319965105553 * k + 0.7063770186160144);\n }\n // Ensure that only the converted RGB data is returned.\n return data.subarray(0, offset);\n }\n\n _convertCmykToRgba(data) {\n for (let i = 0, length = data.length; i < length; i += 4) {\n const c = data[i];\n const m = data[i + 1];\n const y = data[i + 2];\n const k = data[i + 3];\n\n data[i] =\n 255 +\n c *\n (-0.00006747147073602441 * c +\n 0.0008379262121013727 * m +\n 0.0002894718188643294 * y +\n 0.003264231057537806 * k -\n 1.1185611867203937) +\n m *\n (0.000026374107616089405 * m -\n 0.00008626949158638572 * y -\n 0.0002748769067499491 * k -\n 0.02155688794978967) +\n y *\n (-0.00003878099212869363 * y -\n 0.0003267808279485286 * k +\n 0.0686742238595345) -\n k * (0.0003361971776183937 * k + 0.7430659151342254);\n\n data[i + 1] =\n 255 +\n c *\n (0.00013596372813588848 * c +\n 0.000924537132573585 * m +\n 0.00010567359618683593 * y +\n 0.0004791864687436512 * k -\n 0.3109689587515875) +\n m *\n (-0.00023545346108370344 * m +\n 0.0002702845253534714 * y +\n 0.0020200308977307156 * k -\n 0.7488052167015494) +\n y *\n (0.00006834815998235662 * y +\n 0.00015168452363460973 * k -\n 0.09751927774728933) -\n k * (0.0003189131175883281 * k + 0.7364883807733168);\n\n data[i + 2] =\n 255 +\n c *\n (0.000013598650411385307 * c +\n 0.00012423956175490851 * m +\n 0.0004751985097583589 * y -\n 0.0000036729317476630422 * k -\n 0.05562186980264034) +\n m *\n (0.00016141380598724676 * m +\n 0.0009692239130725186 * y +\n 0.0007782692450036253 * k -\n 0.44015232367526463) +\n y *\n (5.068882914068769e-7 * y +\n 0.0017778369011375071 * k -\n 0.7591454649749609) -\n k * (0.0003435319965105553 * k + 0.7063770186160144);\n data[i + 3] = 255;\n }\n return data;\n }\n\n getData({\n width,\n height,\n forceRGBA = false,\n forceRGB = false,\n isSourcePDF = false,\n }) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n isSourcePDF === true,\n 'JpegImage.getData: Unexpected \"isSourcePDF\" value for PDF files.'\n );\n }\n if (this.numComponents > 4) {\n throw new JpegError(\"Unsupported color mode\");\n }\n // Type of data: Uint8ClampedArray(width * height * numComponents)\n const data = this._getLinearizedBlockData(width, height, isSourcePDF);\n\n if (this.numComponents === 1 && (forceRGBA || forceRGB)) {\n const len = data.length * (forceRGBA ? 4 : 3);\n const rgbaData = new Uint8ClampedArray(len);\n let offset = 0;\n if (forceRGBA) {\n grayToRGBA(data, new Uint32Array(rgbaData.buffer));\n } else {\n for (const grayColor of data) {\n rgbaData[offset++] = grayColor;\n rgbaData[offset++] = grayColor;\n rgbaData[offset++] = grayColor;\n }\n }\n return rgbaData;\n } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n if (forceRGBA) {\n const rgbaData = new Uint8ClampedArray((data.length / 3) * 4);\n return this._convertYccToRgba(data, rgbaData);\n }\n return this._convertYccToRgb(data);\n } else if (this.numComponents === 4) {\n if (this._isColorConversionNeeded) {\n if (forceRGBA) {\n return this._convertYcckToRgba(data);\n }\n if (forceRGB) {\n return this._convertYcckToRgb(data);\n }\n return this._convertYcckToCmyk(data);\n } else if (forceRGBA) {\n return this._convertCmykToRgba(data);\n } else if (forceRGB) {\n return this._convertCmykToRgb(data);\n }\n }\n return data;\n }\n}\n\nexport { JpegImage };\n","/* Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FeatureTest, ImageKind } from \"./util.js\";\n\nfunction convertToRGBA(params) {\n switch (params.kind) {\n case ImageKind.GRAYSCALE_1BPP:\n return convertBlackAndWhiteToRGBA(params);\n case ImageKind.RGB_24BPP:\n return convertRGBToRGBA(params);\n }\n\n return null;\n}\n\nfunction convertBlackAndWhiteToRGBA({\n src,\n srcPos = 0,\n dest,\n width,\n height,\n nonBlackColor = 0xffffffff,\n inverseDecode = false,\n}) {\n const black = FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = inverseDecode\n ? [nonBlackColor, black]\n : [black, nonBlackColor];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n let destPos = 0;\n\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n if (widthRemainder === 0) {\n continue;\n }\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & (1 << (7 - j)) ? oneMapping : zeroMapping;\n }\n }\n return { srcPos, destPos };\n}\n\nfunction convertRGBToRGBA({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height,\n}) {\n let i = 0;\n const len32 = src.length >> 2;\n const src32 = new Uint32Array(src.buffer, srcPos, len32);\n\n if (FeatureTest.isLittleEndian) {\n // It's a way faster to do the shuffle manually instead of working\n // component by component with some Uint8 arrays.\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i]; // R2B1G1R1\n const s2 = src32[i + 1]; // G3R3B2G2\n const s3 = src32[i + 2]; // B4G4R4B3\n\n dest[destPos] = s1 | 0xff000000;\n dest[destPos + 1] = (s1 >>> 24) | (s2 << 8) | 0xff000000;\n dest[destPos + 2] = (s2 >>> 16) | (s3 << 16) | 0xff000000;\n dest[destPos + 3] = (s3 >>> 8) | 0xff000000;\n }\n\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] =\n src[j] | (src[j + 1] << 8) | (src[j + 2] << 16) | 0xff000000;\n }\n } else {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i]; // R1G1B1R2\n const s2 = src32[i + 1]; // G2B2R3G3\n const s3 = src32[i + 2]; // B3R4G4B4\n\n dest[destPos] = s1 | 0xff;\n dest[destPos + 1] = (s1 << 24) | (s2 >>> 8) | 0xff;\n dest[destPos + 2] = (s2 << 16) | (s3 >>> 16) | 0xff;\n dest[destPos + 3] = (s3 << 8) | 0xff;\n }\n\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] =\n (src[j] << 24) | (src[j + 1] << 16) | (src[j + 2] << 8) | 0xff;\n }\n }\n\n return { srcPos, destPos };\n}\n\nfunction grayToRGBA(src, dest) {\n if (FeatureTest.isLittleEndian) {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = (src[i] * 0x10101) | 0xff000000;\n }\n } else {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = (src[i] * 0x1010100) | 0x000000ff;\n }\n }\n}\n\nexport { convertBlackAndWhiteToRGBA, convertToRGBA, grayToRGBA };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { BaseException, info, unreachable, warn } from \"../shared/util.js\";\nimport { log2, readUint16, readUint32 } from \"./core_utils.js\";\nimport { ArithmeticDecoder } from \"./arithmetic_decoder.js\";\n\nclass JpxError extends BaseException {\n constructor(msg) {\n super(`JPX error: ${msg}`, \"JpxError\");\n }\n}\n\n// Table E.1\nconst SubbandsGainLog2 = {\n LL: 0,\n LH: 1,\n HL: 1,\n HH: 2,\n};\n\nclass JpxImage {\n constructor() {\n this.failOnCorruptedImage = false;\n }\n\n parse(data) {\n const head = readUint16(data, 0);\n // No box header, immediate start of codestream (SOC)\n if (head === 0xff4f) {\n this.parseCodestream(data, 0, data.length);\n return;\n }\n\n const length = data.length;\n let position = 0;\n while (position < length) {\n let headerSize = 8;\n let lbox = readUint32(data, position);\n const tbox = readUint32(data, position + 4);\n position += headerSize;\n if (lbox === 1) {\n // XLBox: read UInt64 according to spec.\n // JavaScript's int precision of 53 bit should be sufficient here.\n lbox =\n readUint32(data, position) * 4294967296 +\n readUint32(data, position + 4);\n position += 8;\n headerSize += 8;\n }\n if (lbox === 0) {\n lbox = length - position + headerSize;\n }\n if (lbox < headerSize) {\n throw new JpxError(\"Invalid box field size\");\n }\n const dataLength = lbox - headerSize;\n let jumpDataLength = true;\n switch (tbox) {\n case 0x6a703268: // 'jp2h'\n jumpDataLength = false; // parsing child boxes\n break;\n case 0x636f6c72: // 'colr'\n // Colorspaces are not used, the CS from the PDF is used.\n const method = data[position];\n if (method === 1) {\n // enumerated colorspace\n const colorspace = readUint32(data, position + 3);\n switch (colorspace) {\n case 16: // this indicates a sRGB colorspace\n case 17: // this indicates a grayscale colorspace\n case 18: // this indicates a YUV colorspace\n break;\n default:\n warn(\"Unknown colorspace \" + colorspace);\n break;\n }\n } else if (method === 2) {\n info(\"ICC profile not supported\");\n }\n break;\n case 0x6a703263: // 'jp2c'\n this.parseCodestream(data, position, position + dataLength);\n break;\n case 0x6a502020: // 'jP\\024\\024'\n if (readUint32(data, position) !== 0x0d0a870a) {\n warn(\"Invalid JP2 signature\");\n }\n break;\n // The following header types are valid but currently not used:\n case 0x6a501a1a: // 'jP\\032\\032'\n case 0x66747970: // 'ftyp'\n case 0x72726571: // 'rreq'\n case 0x72657320: // 'res '\n case 0x69686472: // 'ihdr'\n break;\n default:\n const headerType = String.fromCharCode(\n (tbox >> 24) & 0xff,\n (tbox >> 16) & 0xff,\n (tbox >> 8) & 0xff,\n tbox & 0xff\n );\n warn(`Unsupported header type ${tbox} (${headerType}).`);\n break;\n }\n if (jumpDataLength) {\n position += dataLength;\n }\n }\n }\n\n parseImageProperties(stream) {\n let newByte = stream.getByte();\n while (newByte >= 0) {\n const oldByte = newByte;\n newByte = stream.getByte();\n const code = (oldByte << 8) | newByte;\n // Image and tile size (SIZ)\n if (code === 0xff51) {\n stream.skip(4);\n const Xsiz = stream.getInt32() >>> 0; // Byte 4\n const Ysiz = stream.getInt32() >>> 0; // Byte 8\n const XOsiz = stream.getInt32() >>> 0; // Byte 12\n const YOsiz = stream.getInt32() >>> 0; // Byte 16\n stream.skip(16);\n const Csiz = stream.getUint16(); // Byte 36\n this.width = Xsiz - XOsiz;\n this.height = Ysiz - YOsiz;\n this.componentsCount = Csiz;\n // Results are always returned as `Uint8ClampedArray`s.\n this.bitsPerComponent = 8;\n return;\n }\n }\n throw new JpxError(\"No size marker found in JPX stream\");\n }\n\n parseCodestream(data, start, end) {\n const context = {};\n let doNotRecover = false;\n try {\n let position = start;\n while (position + 1 < end) {\n const code = readUint16(data, position);\n position += 2;\n\n let length = 0,\n j,\n sqcd,\n spqcds,\n spqcdSize,\n scalarExpounded,\n tile;\n switch (code) {\n case 0xff4f: // Start of codestream (SOC)\n context.mainHeader = true;\n break;\n case 0xffd9: // End of codestream (EOC)\n break;\n case 0xff51: // Image and tile size (SIZ)\n length = readUint16(data, position);\n const siz = {};\n siz.Xsiz = readUint32(data, position + 4);\n siz.Ysiz = readUint32(data, position + 8);\n siz.XOsiz = readUint32(data, position + 12);\n siz.YOsiz = readUint32(data, position + 16);\n siz.XTsiz = readUint32(data, position + 20);\n siz.YTsiz = readUint32(data, position + 24);\n siz.XTOsiz = readUint32(data, position + 28);\n siz.YTOsiz = readUint32(data, position + 32);\n const componentsCount = readUint16(data, position + 36);\n siz.Csiz = componentsCount;\n const components = [];\n j = position + 38;\n for (let i = 0; i < componentsCount; i++) {\n const component = {\n precision: (data[j] & 0x7f) + 1,\n isSigned: !!(data[j] & 0x80),\n XRsiz: data[j + 1],\n YRsiz: data[j + 2],\n };\n j += 3;\n calculateComponentDimensions(component, siz);\n components.push(component);\n }\n context.SIZ = siz;\n context.components = components;\n calculateTileGrids(context, components);\n context.QCC = [];\n context.COC = [];\n break;\n case 0xff5c: // Quantization default (QCD)\n length = readUint16(data, position);\n const qcd = {};\n j = position + 2;\n sqcd = data[j++];\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n qcd.noQuantization = spqcdSize === 8;\n qcd.scalarExpounded = scalarExpounded;\n qcd.guardBits = sqcd >> 5;\n spqcds = [];\n while (j < length + position) {\n const spqcd = {};\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = ((data[j] & 0x7) << 8) | data[j + 1];\n j += 2;\n }\n spqcds.push(spqcd);\n }\n qcd.SPqcds = spqcds;\n if (context.mainHeader) {\n context.QCD = qcd;\n } else {\n context.currentTile.QCD = qcd;\n context.currentTile.QCC = [];\n }\n break;\n case 0xff5d: // Quantization component (QCC)\n length = readUint16(data, position);\n const qcc = {};\n j = position + 2;\n let cqcc;\n if (context.SIZ.Csiz < 257) {\n cqcc = data[j++];\n } else {\n cqcc = readUint16(data, j);\n j += 2;\n }\n sqcd = data[j++];\n switch (sqcd & 0x1f) {\n case 0:\n spqcdSize = 8;\n scalarExpounded = true;\n break;\n case 1:\n spqcdSize = 16;\n scalarExpounded = false;\n break;\n case 2:\n spqcdSize = 16;\n scalarExpounded = true;\n break;\n default:\n throw new Error(\"Invalid SQcd value \" + sqcd);\n }\n qcc.noQuantization = spqcdSize === 8;\n qcc.scalarExpounded = scalarExpounded;\n qcc.guardBits = sqcd >> 5;\n spqcds = [];\n while (j < length + position) {\n const spqcd = {};\n if (spqcdSize === 8) {\n spqcd.epsilon = data[j++] >> 3;\n spqcd.mu = 0;\n } else {\n spqcd.epsilon = data[j] >> 3;\n spqcd.mu = ((data[j] & 0x7) << 8) | data[j + 1];\n j += 2;\n }\n spqcds.push(spqcd);\n }\n qcc.SPqcds = spqcds;\n if (context.mainHeader) {\n context.QCC[cqcc] = qcc;\n } else {\n context.currentTile.QCC[cqcc] = qcc;\n }\n break;\n case 0xff52: // Coding style default (COD)\n length = readUint16(data, position);\n const cod = {};\n j = position + 2;\n const scod = data[j++];\n cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n cod.sopMarkerUsed = !!(scod & 2);\n cod.ephMarkerUsed = !!(scod & 4);\n cod.progressionOrder = data[j++];\n cod.layersCount = readUint16(data, j);\n j += 2;\n cod.multipleComponentTransform = data[j++];\n\n cod.decompositionLevelsCount = data[j++];\n cod.xcb = (data[j++] & 0xf) + 2;\n cod.ycb = (data[j++] & 0xf) + 2;\n const blockStyle = data[j++];\n cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n cod.resetContextProbabilities = !!(blockStyle & 2);\n cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n cod.verticallyStripe = !!(blockStyle & 8);\n cod.predictableTermination = !!(blockStyle & 16);\n cod.segmentationSymbolUsed = !!(blockStyle & 32);\n cod.reversibleTransformation = data[j++];\n if (cod.entropyCoderWithCustomPrecincts) {\n const precinctsSizes = [];\n while (j < length + position) {\n const precinctsSize = data[j++];\n precinctsSizes.push({\n PPx: precinctsSize & 0xf,\n PPy: precinctsSize >> 4,\n });\n }\n cod.precinctsSizes = precinctsSizes;\n }\n const unsupported = [];\n if (cod.selectiveArithmeticCodingBypass) {\n unsupported.push(\"selectiveArithmeticCodingBypass\");\n }\n if (cod.terminationOnEachCodingPass) {\n unsupported.push(\"terminationOnEachCodingPass\");\n }\n if (cod.verticallyStripe) {\n unsupported.push(\"verticallyStripe\");\n }\n if (cod.predictableTermination) {\n unsupported.push(\"predictableTermination\");\n }\n if (unsupported.length > 0) {\n doNotRecover = true;\n warn(`JPX: Unsupported COD options (${unsupported.join(\", \")}).`);\n }\n if (context.mainHeader) {\n context.COD = cod;\n } else {\n context.currentTile.COD = cod;\n context.currentTile.COC = [];\n }\n break;\n case 0xff90: // Start of tile-part (SOT)\n length = readUint16(data, position);\n tile = {};\n tile.index = readUint16(data, position + 2);\n tile.length = readUint32(data, position + 4);\n tile.dataEnd = tile.length + position - 2;\n tile.partIndex = data[position + 8];\n tile.partsCount = data[position + 9];\n\n context.mainHeader = false;\n if (tile.partIndex === 0) {\n // reset component specific settings\n tile.COD = context.COD;\n tile.COC = context.COC.slice(0); // clone of the global COC\n tile.QCD = context.QCD;\n tile.QCC = context.QCC.slice(0); // clone of the global COC\n }\n context.currentTile = tile;\n break;\n case 0xff93: // Start of data (SOD)\n tile = context.currentTile;\n if (tile.partIndex === 0) {\n initializeTile(context, tile.index);\n buildPackets(context);\n }\n\n // moving to the end of the data\n length = tile.dataEnd - position;\n parseTilePackets(context, data, position, length);\n break;\n case 0xff53: // Coding style component (COC)\n warn(\"JPX: Codestream code 0xFF53 (COC) is not implemented.\");\n /* falls through */\n case 0xff55: // Tile-part lengths, main header (TLM)\n case 0xff57: // Packet length, main header (PLM)\n case 0xff58: // Packet length, tile-part header (PLT)\n case 0xff64: // Comment (COM)\n length = readUint16(data, position);\n // skipping content\n break;\n default:\n throw new Error(\"Unknown codestream code: \" + code.toString(16));\n }\n position += length;\n }\n } catch (e) {\n if (doNotRecover || this.failOnCorruptedImage) {\n throw new JpxError(e.message);\n } else {\n warn(`JPX: Trying to recover from: \"${e.message}\".`);\n }\n }\n this.tiles = transformComponents(context);\n this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n this.componentsCount = context.SIZ.Csiz;\n }\n}\n\nfunction calculateComponentDimensions(component, siz) {\n // Section B.2 Component mapping\n component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n component.width = component.x1 - component.x0;\n component.height = component.y1 - component.y0;\n}\nfunction calculateTileGrids(context, components) {\n const siz = context.SIZ;\n // Section B.3 Division into tile and tile-components\n const tiles = [];\n let tile;\n const numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n const numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n for (let q = 0; q < numYtiles; q++) {\n for (let p = 0; p < numXtiles; p++) {\n tile = {};\n tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n tile.width = tile.tx1 - tile.tx0;\n tile.height = tile.ty1 - tile.ty0;\n tile.components = [];\n tiles.push(tile);\n }\n }\n context.tiles = tiles;\n\n const componentsCount = siz.Csiz;\n for (let i = 0, ii = componentsCount; i < ii; i++) {\n const component = components[i];\n for (let j = 0, jj = tiles.length; j < jj; j++) {\n const tileComponent = {};\n tile = tiles[j];\n tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n tile.components[i] = tileComponent;\n }\n }\n}\nfunction getBlocksDimensions(context, component, r) {\n const codOrCoc = component.codingStyleParameters;\n const result = {};\n if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n result.PPx = 15;\n result.PPy = 15;\n } else {\n result.PPx = codOrCoc.precinctsSizes[r].PPx;\n result.PPy = codOrCoc.precinctsSizes[r].PPy;\n }\n // calculate codeblock size as described in section B.7\n result.xcb_ =\n r > 0\n ? Math.min(codOrCoc.xcb, result.PPx - 1)\n : Math.min(codOrCoc.xcb, result.PPx);\n result.ycb_ =\n r > 0\n ? Math.min(codOrCoc.ycb, result.PPy - 1)\n : Math.min(codOrCoc.ycb, result.PPy);\n return result;\n}\nfunction buildPrecincts(context, resolution, dimensions) {\n // Section B.6 Division resolution to precincts\n const precinctWidth = 1 << dimensions.PPx;\n const precinctHeight = 1 << dimensions.PPy;\n // Jasper introduces codeblock groups for mapping each subband codeblocks\n // to precincts. Precinct partition divides a resolution according to width\n // and height parameters. The subband that belongs to the resolution level\n // has a different size than the level, unless it is the zero resolution.\n\n // From Jasper documentation: jpeg2000.pdf, section K: Tier-2 coding:\n // The precinct partitioning for a particular subband is derived from a\n // partitioning of its parent LL band (i.e., the LL band at the next higher\n // resolution level)... The LL band associated with each resolution level is\n // divided into precincts... Each of the resulting precinct regions is then\n // mapped into its child subbands (if any) at the next lower resolution\n // level. This is accomplished by using the coordinate transformation\n // (u, v) = (ceil(x/2), ceil(y/2)) where (x, y) and (u, v) are the\n // coordinates of a point in the LL band and child subband, respectively.\n const isZeroRes = resolution.resLevel === 0;\n const precinctWidthInSubband = 1 << (dimensions.PPx + (isZeroRes ? 0 : -1));\n const precinctHeightInSubband = 1 << (dimensions.PPy + (isZeroRes ? 0 : -1));\n const numprecinctswide =\n resolution.trx1 > resolution.trx0\n ? Math.ceil(resolution.trx1 / precinctWidth) -\n Math.floor(resolution.trx0 / precinctWidth)\n : 0;\n const numprecinctshigh =\n resolution.try1 > resolution.try0\n ? Math.ceil(resolution.try1 / precinctHeight) -\n Math.floor(resolution.try0 / precinctHeight)\n : 0;\n const numprecincts = numprecinctswide * numprecinctshigh;\n\n resolution.precinctParameters = {\n precinctWidth,\n precinctHeight,\n numprecinctswide,\n numprecinctshigh,\n numprecincts,\n precinctWidthInSubband,\n precinctHeightInSubband,\n };\n}\nfunction buildCodeblocks(context, subband, dimensions) {\n // Section B.7 Division sub-band into code-blocks\n const xcb_ = dimensions.xcb_;\n const ycb_ = dimensions.ycb_;\n const codeblockWidth = 1 << xcb_;\n const codeblockHeight = 1 << ycb_;\n const cbx0 = subband.tbx0 >> xcb_;\n const cby0 = subband.tby0 >> ycb_;\n const cbx1 = (subband.tbx1 + codeblockWidth - 1) >> xcb_;\n const cby1 = (subband.tby1 + codeblockHeight - 1) >> ycb_;\n const precinctParameters = subband.resolution.precinctParameters;\n const codeblocks = [];\n const precincts = [];\n let i, j, codeblock, precinctNumber;\n for (j = cby0; j < cby1; j++) {\n for (i = cbx0; i < cbx1; i++) {\n codeblock = {\n cbx: i,\n cby: j,\n tbx0: codeblockWidth * i,\n tby0: codeblockHeight * j,\n tbx1: codeblockWidth * (i + 1),\n tby1: codeblockHeight * (j + 1),\n };\n\n codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n\n // Calculate precinct number for this codeblock, codeblock position\n // should be relative to its subband, use actual dimension and position\n // See comment about codeblock group width and height\n const pi = Math.floor(\n (codeblock.tbx0_ - subband.tbx0) /\n precinctParameters.precinctWidthInSubband\n );\n const pj = Math.floor(\n (codeblock.tby0_ - subband.tby0) /\n precinctParameters.precinctHeightInSubband\n );\n precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n\n codeblock.precinctNumber = precinctNumber;\n codeblock.subbandType = subband.type;\n codeblock.Lblock = 3;\n\n if (\n codeblock.tbx1_ <= codeblock.tbx0_ ||\n codeblock.tby1_ <= codeblock.tby0_\n ) {\n continue;\n }\n codeblocks.push(codeblock);\n // building precinct for the sub-band\n let precinct = precincts[precinctNumber];\n if (precinct !== undefined) {\n if (i < precinct.cbxMin) {\n precinct.cbxMin = i;\n } else if (i > precinct.cbxMax) {\n precinct.cbxMax = i;\n }\n if (j < precinct.cbyMin) {\n precinct.cbxMin = j;\n } else if (j > precinct.cbyMax) {\n precinct.cbyMax = j;\n }\n } else {\n precincts[precinctNumber] = precinct = {\n cbxMin: i,\n cbyMin: j,\n cbxMax: i,\n cbyMax: j,\n };\n }\n codeblock.precinct = precinct;\n }\n }\n subband.codeblockParameters = {\n codeblockWidth: xcb_,\n codeblockHeight: ycb_,\n numcodeblockwide: cbx1 - cbx0 + 1,\n numcodeblockhigh: cby1 - cby0 + 1,\n };\n subband.codeblocks = codeblocks;\n subband.precincts = precincts;\n}\nfunction createPacket(resolution, precinctNumber, layerNumber) {\n const precinctCodeblocks = [];\n // Section B.10.8 Order of info in packet\n const subbands = resolution.subbands;\n // sub-bands already ordered in 'LL', 'HL', 'LH', and 'HH' sequence\n for (let i = 0, ii = subbands.length; i < ii; i++) {\n const subband = subbands[i];\n const codeblocks = subband.codeblocks;\n for (let j = 0, jj = codeblocks.length; j < jj; j++) {\n const codeblock = codeblocks[j];\n if (codeblock.precinctNumber !== precinctNumber) {\n continue;\n }\n precinctCodeblocks.push(codeblock);\n }\n }\n return {\n layerNumber,\n codeblocks: precinctCodeblocks,\n };\n}\nfunction LayerResolutionComponentPositionIterator(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const layersCount = tile.codingStyleDefaultParameters.layersCount;\n const componentsCount = siz.Csiz;\n let maxDecompositionLevelsCount = 0;\n for (let q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(\n maxDecompositionLevelsCount,\n tile.components[q].codingStyleParameters.decompositionLevelsCount\n );\n }\n\n let l = 0,\n r = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.1 Layer-resolution-component-position\n for (; l < layersCount; l++) {\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; i < componentsCount; i++) {\n const component = tile.components[i];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n const resolution = component.resolutions[r];\n const numprecincts = resolution.precinctParameters.numprecincts;\n for (; k < numprecincts; ) {\n const packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n k = 0;\n }\n i = 0;\n }\n r = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n}\nfunction ResolutionLayerComponentPositionIterator(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const layersCount = tile.codingStyleDefaultParameters.layersCount;\n const componentsCount = siz.Csiz;\n let maxDecompositionLevelsCount = 0;\n for (let q = 0; q < componentsCount; q++) {\n maxDecompositionLevelsCount = Math.max(\n maxDecompositionLevelsCount,\n tile.components[q].codingStyleParameters.decompositionLevelsCount\n );\n }\n\n let r = 0,\n l = 0,\n i = 0,\n k = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.2 Resolution-layer-component-position\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; l < layersCount; l++) {\n for (; i < componentsCount; i++) {\n const component = tile.components[i];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n\n const resolution = component.resolutions[r];\n const numprecincts = resolution.precinctParameters.numprecincts;\n for (; k < numprecincts; ) {\n const packet = createPacket(resolution, k, l);\n k++;\n return packet;\n }\n k = 0;\n }\n i = 0;\n }\n l = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n}\nfunction ResolutionPositionComponentLayerIterator(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const layersCount = tile.codingStyleDefaultParameters.layersCount;\n const componentsCount = siz.Csiz;\n let l, r, c, p;\n let maxDecompositionLevelsCount = 0;\n for (c = 0; c < componentsCount; c++) {\n const component = tile.components[c];\n maxDecompositionLevelsCount = Math.max(\n maxDecompositionLevelsCount,\n component.codingStyleParameters.decompositionLevelsCount\n );\n }\n const maxNumPrecinctsInLevel = new Int32Array(\n maxDecompositionLevelsCount + 1\n );\n for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n let maxNumPrecincts = 0;\n for (c = 0; c < componentsCount; ++c) {\n const resolutions = tile.components[c].resolutions;\n if (r < resolutions.length) {\n maxNumPrecincts = Math.max(\n maxNumPrecincts,\n resolutions[r].precinctParameters.numprecincts\n );\n }\n }\n maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n }\n l = 0;\n r = 0;\n c = 0;\n p = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.3 Resolution-position-component-layer\n for (; r <= maxDecompositionLevelsCount; r++) {\n for (; p < maxNumPrecinctsInLevel[r]; p++) {\n for (; c < componentsCount; c++) {\n const component = tile.components[c];\n if (r > component.codingStyleParameters.decompositionLevelsCount) {\n continue;\n }\n const resolution = component.resolutions[r];\n const numprecincts = resolution.precinctParameters.numprecincts;\n if (p >= numprecincts) {\n continue;\n }\n for (; l < layersCount; ) {\n const packet = createPacket(resolution, p, l);\n l++;\n return packet;\n }\n l = 0;\n }\n c = 0;\n }\n p = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n}\nfunction PositionComponentResolutionLayerIterator(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const layersCount = tile.codingStyleDefaultParameters.layersCount;\n const componentsCount = siz.Csiz;\n const precinctsSizes = getPrecinctSizesInImageScale(tile);\n const precinctsIterationSizes = precinctsSizes;\n let l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.4 Position-component-resolution-layer\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; c < componentsCount; c++) {\n const component = tile.components[c];\n const decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n for (; r <= decompositionLevelsCount; r++) {\n const resolution = component.resolutions[r];\n const sizeInImageScale =\n precinctsSizes.components[c].resolutions[r];\n const k = getPrecinctIndexIfExist(\n px,\n py,\n sizeInImageScale,\n precinctsIterationSizes,\n resolution\n );\n if (k === null) {\n continue;\n }\n for (; l < layersCount; ) {\n const packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n l = 0;\n }\n r = 0;\n }\n c = 0;\n }\n px = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n}\nfunction ComponentPositionResolutionLayerIterator(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const layersCount = tile.codingStyleDefaultParameters.layersCount;\n const componentsCount = siz.Csiz;\n const precinctsSizes = getPrecinctSizesInImageScale(tile);\n let l = 0,\n r = 0,\n c = 0,\n px = 0,\n py = 0;\n\n this.nextPacket = function JpxImage_nextPacket() {\n // Section B.12.1.5 Component-position-resolution-layer\n for (; c < componentsCount; ++c) {\n const component = tile.components[c];\n const precinctsIterationSizes = precinctsSizes.components[c];\n const decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n for (; px < precinctsIterationSizes.maxNumWide; px++) {\n for (; r <= decompositionLevelsCount; r++) {\n const resolution = component.resolutions[r];\n const sizeInImageScale = precinctsIterationSizes.resolutions[r];\n const k = getPrecinctIndexIfExist(\n px,\n py,\n sizeInImageScale,\n precinctsIterationSizes,\n resolution\n );\n if (k === null) {\n continue;\n }\n for (; l < layersCount; ) {\n const packet = createPacket(resolution, k, l);\n l++;\n return packet;\n }\n l = 0;\n }\n r = 0;\n }\n px = 0;\n }\n py = 0;\n }\n throw new JpxError(\"Out of packets\");\n };\n}\nfunction getPrecinctIndexIfExist(\n pxIndex,\n pyIndex,\n sizeInImageScale,\n precinctIterationSizes,\n resolution\n) {\n const posX = pxIndex * precinctIterationSizes.minWidth;\n const posY = pyIndex * precinctIterationSizes.minHeight;\n if (\n posX % sizeInImageScale.width !== 0 ||\n posY % sizeInImageScale.height !== 0\n ) {\n return null;\n }\n const startPrecinctRowIndex =\n (posY / sizeInImageScale.width) *\n resolution.precinctParameters.numprecinctswide;\n return posX / sizeInImageScale.height + startPrecinctRowIndex;\n}\nfunction getPrecinctSizesInImageScale(tile) {\n const componentsCount = tile.components.length;\n let minWidth = Number.MAX_VALUE;\n let minHeight = Number.MAX_VALUE;\n let maxNumWide = 0;\n let maxNumHigh = 0;\n const sizePerComponent = new Array(componentsCount);\n for (let c = 0; c < componentsCount; c++) {\n const component = tile.components[c];\n const decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n const sizePerResolution = new Array(decompositionLevelsCount + 1);\n let minWidthCurrentComponent = Number.MAX_VALUE;\n let minHeightCurrentComponent = Number.MAX_VALUE;\n let maxNumWideCurrentComponent = 0;\n let maxNumHighCurrentComponent = 0;\n let scale = 1;\n for (let r = decompositionLevelsCount; r >= 0; --r) {\n const resolution = component.resolutions[r];\n const widthCurrentResolution =\n scale * resolution.precinctParameters.precinctWidth;\n const heightCurrentResolution =\n scale * resolution.precinctParameters.precinctHeight;\n minWidthCurrentComponent = Math.min(\n minWidthCurrentComponent,\n widthCurrentResolution\n );\n minHeightCurrentComponent = Math.min(\n minHeightCurrentComponent,\n heightCurrentResolution\n );\n maxNumWideCurrentComponent = Math.max(\n maxNumWideCurrentComponent,\n resolution.precinctParameters.numprecinctswide\n );\n maxNumHighCurrentComponent = Math.max(\n maxNumHighCurrentComponent,\n resolution.precinctParameters.numprecinctshigh\n );\n sizePerResolution[r] = {\n width: widthCurrentResolution,\n height: heightCurrentResolution,\n };\n scale <<= 1;\n }\n minWidth = Math.min(minWidth, minWidthCurrentComponent);\n minHeight = Math.min(minHeight, minHeightCurrentComponent);\n maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n sizePerComponent[c] = {\n resolutions: sizePerResolution,\n minWidth: minWidthCurrentComponent,\n minHeight: minHeightCurrentComponent,\n maxNumWide: maxNumWideCurrentComponent,\n maxNumHigh: maxNumHighCurrentComponent,\n };\n }\n return {\n components: sizePerComponent,\n minWidth,\n minHeight,\n maxNumWide,\n maxNumHigh,\n };\n}\nfunction buildPackets(context) {\n const siz = context.SIZ;\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const componentsCount = siz.Csiz;\n // Creating resolutions and sub-bands for each component\n for (let c = 0; c < componentsCount; c++) {\n const component = tile.components[c];\n const decompositionLevelsCount =\n component.codingStyleParameters.decompositionLevelsCount;\n // Section B.5 Resolution levels and sub-bands\n const resolutions = [];\n const subbands = [];\n for (let r = 0; r <= decompositionLevelsCount; r++) {\n const blocksDimensions = getBlocksDimensions(context, component, r);\n const resolution = {};\n const scale = 1 << (decompositionLevelsCount - r);\n resolution.trx0 = Math.ceil(component.tcx0 / scale);\n resolution.try0 = Math.ceil(component.tcy0 / scale);\n resolution.trx1 = Math.ceil(component.tcx1 / scale);\n resolution.try1 = Math.ceil(component.tcy1 / scale);\n resolution.resLevel = r;\n buildPrecincts(context, resolution, blocksDimensions);\n resolutions.push(resolution);\n\n let subband;\n if (r === 0) {\n // one sub-band (LL) with last decomposition\n subband = {};\n subband.type = \"LL\";\n subband.tbx0 = Math.ceil(component.tcx0 / scale);\n subband.tby0 = Math.ceil(component.tcy0 / scale);\n subband.tbx1 = Math.ceil(component.tcx1 / scale);\n subband.tby1 = Math.ceil(component.tcy1 / scale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolution.subbands = [subband];\n } else {\n const bscale = 1 << (decompositionLevelsCount - r + 1);\n const resolutionSubbands = [];\n // three sub-bands (HL, LH and HH) with rest of decompositions\n subband = {};\n subband.type = \"HL\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n\n subband = {};\n subband.type = \"LH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n\n subband = {};\n subband.type = \"HH\";\n subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n subband.resolution = resolution;\n buildCodeblocks(context, subband, blocksDimensions);\n subbands.push(subband);\n resolutionSubbands.push(subband);\n\n resolution.subbands = resolutionSubbands;\n }\n }\n component.resolutions = resolutions;\n component.subbands = subbands;\n }\n // Generate the packets sequence\n const progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n switch (progressionOrder) {\n case 0:\n tile.packetsIterator = new LayerResolutionComponentPositionIterator(\n context\n );\n break;\n case 1:\n tile.packetsIterator = new ResolutionLayerComponentPositionIterator(\n context\n );\n break;\n case 2:\n tile.packetsIterator = new ResolutionPositionComponentLayerIterator(\n context\n );\n break;\n case 3:\n tile.packetsIterator = new PositionComponentResolutionLayerIterator(\n context\n );\n break;\n case 4:\n tile.packetsIterator = new ComponentPositionResolutionLayerIterator(\n context\n );\n break;\n default:\n throw new JpxError(`Unsupported progression order ${progressionOrder}`);\n }\n}\nfunction parseTilePackets(context, data, offset, dataLength) {\n let position = 0;\n let buffer,\n bufferSize = 0,\n skipNextBit = false;\n function readBits(count) {\n while (bufferSize < count) {\n const b = data[offset + position];\n position++;\n if (skipNextBit) {\n buffer = (buffer << 7) | b;\n bufferSize += 7;\n skipNextBit = false;\n } else {\n buffer = (buffer << 8) | b;\n bufferSize += 8;\n }\n if (b === 0xff) {\n skipNextBit = true;\n }\n }\n bufferSize -= count;\n return (buffer >>> bufferSize) & ((1 << count) - 1);\n }\n function skipMarkerIfEqual(value) {\n if (\n data[offset + position - 1] === 0xff &&\n data[offset + position] === value\n ) {\n skipBytes(1);\n return true;\n } else if (\n data[offset + position] === 0xff &&\n data[offset + position + 1] === value\n ) {\n skipBytes(2);\n return true;\n }\n return false;\n }\n function skipBytes(count) {\n position += count;\n }\n function alignToByte() {\n bufferSize = 0;\n if (skipNextBit) {\n position++;\n skipNextBit = false;\n }\n }\n function readCodingpasses() {\n if (readBits(1) === 0) {\n return 1;\n }\n if (readBits(1) === 0) {\n return 2;\n }\n let value = readBits(2);\n if (value < 3) {\n return value + 3;\n }\n value = readBits(5);\n if (value < 31) {\n return value + 6;\n }\n value = readBits(7);\n return value + 37;\n }\n const tileIndex = context.currentTile.index;\n const tile = context.tiles[tileIndex];\n const sopMarkerUsed = context.COD.sopMarkerUsed;\n const ephMarkerUsed = context.COD.ephMarkerUsed;\n const packetsIterator = tile.packetsIterator;\n while (position < dataLength) {\n alignToByte();\n if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n // Skip also marker segment length and packet sequence ID\n skipBytes(4);\n }\n const packet = packetsIterator.nextPacket();\n if (!readBits(1)) {\n continue;\n }\n const layerNumber = packet.layerNumber,\n queue = [];\n let codeblock;\n for (let i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n codeblock = packet.codeblocks[i];\n let precinct = codeblock.precinct;\n const codeblockColumn = codeblock.cbx - precinct.cbxMin;\n const codeblockRow = codeblock.cby - precinct.cbyMin;\n let codeblockIncluded = false;\n let firstTimeInclusion = false;\n let valueReady, zeroBitPlanesTree;\n if (codeblock.included !== undefined) {\n codeblockIncluded = !!readBits(1);\n } else {\n // reading inclusion tree\n precinct = codeblock.precinct;\n let inclusionTree;\n if (precinct.inclusionTree !== undefined) {\n inclusionTree = precinct.inclusionTree;\n } else {\n // building inclusion and zero bit-planes trees\n const width = precinct.cbxMax - precinct.cbxMin + 1;\n const height = precinct.cbyMax - precinct.cbyMin + 1;\n inclusionTree = new InclusionTree(width, height, layerNumber);\n zeroBitPlanesTree = new TagTree(width, height);\n precinct.inclusionTree = inclusionTree;\n precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n for (let l = 0; l < layerNumber; l++) {\n if (readBits(1) !== 0) {\n throw new JpxError(\"Invalid tag tree\");\n }\n }\n }\n\n if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n while (true) {\n if (readBits(1)) {\n valueReady = !inclusionTree.nextLevel();\n if (valueReady) {\n codeblock.included = true;\n codeblockIncluded = firstTimeInclusion = true;\n break;\n }\n } else {\n inclusionTree.incrementValue(layerNumber);\n break;\n }\n }\n }\n }\n if (!codeblockIncluded) {\n continue;\n }\n if (firstTimeInclusion) {\n zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n while (true) {\n if (readBits(1)) {\n valueReady = !zeroBitPlanesTree.nextLevel();\n if (valueReady) {\n break;\n }\n } else {\n zeroBitPlanesTree.incrementValue();\n }\n }\n codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n }\n const codingpasses = readCodingpasses();\n while (readBits(1)) {\n codeblock.Lblock++;\n }\n const codingpassesLog2 = log2(codingpasses);\n // rounding down log2\n const bits =\n (codingpasses < 1 << codingpassesLog2\n ? codingpassesLog2 - 1\n : codingpassesLog2) + codeblock.Lblock;\n const codedDataLength = readBits(bits);\n queue.push({\n codeblock,\n codingpasses,\n dataLength: codedDataLength,\n });\n }\n alignToByte();\n if (ephMarkerUsed) {\n skipMarkerIfEqual(0x92);\n }\n while (queue.length > 0) {\n const packetItem = queue.shift();\n codeblock = packetItem.codeblock;\n if (codeblock.data === undefined) {\n codeblock.data = [];\n }\n codeblock.data.push({\n data,\n start: offset + position,\n end: offset + position + packetItem.dataLength,\n codingpasses: packetItem.codingpasses,\n });\n position += packetItem.dataLength;\n }\n }\n return position;\n}\nfunction copyCoefficients(\n coefficients,\n levelWidth,\n levelHeight,\n subband,\n delta,\n mb,\n reversible,\n segmentationSymbolUsed,\n resetContextProbabilities\n) {\n const x0 = subband.tbx0;\n const y0 = subband.tby0;\n const width = subband.tbx1 - subband.tbx0;\n const codeblocks = subband.codeblocks;\n const right = subband.type.charAt(0) === \"H\" ? 1 : 0;\n const bottom = subband.type.charAt(1) === \"H\" ? levelWidth : 0;\n\n for (let i = 0, ii = codeblocks.length; i < ii; ++i) {\n const codeblock = codeblocks[i];\n const blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n const blockHeight = codeblock.tby1_ - codeblock.tby0_;\n if (blockWidth === 0 || blockHeight === 0) {\n continue;\n }\n if (codeblock.data === undefined) {\n continue;\n }\n\n const bitModel = new BitModel(\n blockWidth,\n blockHeight,\n codeblock.subbandType,\n codeblock.zeroBitPlanes,\n mb\n );\n let currentCodingpassType = 2; // first bit plane starts from cleanup\n\n // collect data\n const data = codeblock.data;\n let totalLength = 0,\n codingpasses = 0;\n let j, jj, dataItem;\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n totalLength += dataItem.end - dataItem.start;\n codingpasses += dataItem.codingpasses;\n }\n const encodedData = new Uint8Array(totalLength);\n let position = 0;\n for (j = 0, jj = data.length; j < jj; j++) {\n dataItem = data[j];\n const chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n encodedData.set(chunk, position);\n position += chunk.length;\n }\n // decoding the item\n const decoder = new ArithmeticDecoder(encodedData, 0, totalLength);\n bitModel.setDecoder(decoder);\n\n for (j = 0; j < codingpasses; j++) {\n switch (currentCodingpassType) {\n case 0:\n bitModel.runSignificancePropagationPass();\n break;\n case 1:\n bitModel.runMagnitudeRefinementPass();\n break;\n case 2:\n bitModel.runCleanupPass();\n if (segmentationSymbolUsed) {\n bitModel.checkSegmentationSymbol();\n }\n break;\n }\n\n if (resetContextProbabilities) {\n bitModel.reset();\n }\n\n currentCodingpassType = (currentCodingpassType + 1) % 3;\n }\n\n let offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n const sign = bitModel.coefficentsSign;\n const magnitude = bitModel.coefficentsMagnitude;\n const bitsDecoded = bitModel.bitsDecoded;\n const magnitudeCorrection = reversible ? 0 : 0.5;\n let k, n, nb;\n position = 0;\n // Do the interleaving of Section F.3.3 here, so we do not need\n // to copy later. LL level is not interleaved, just copied.\n const interleave = subband.type !== \"LL\";\n for (j = 0; j < blockHeight; j++) {\n const row = (offset / width) | 0; // row in the non-interleaved subband\n const levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n for (k = 0; k < blockWidth; k++) {\n n = magnitude[position];\n if (n !== 0) {\n n = (n + magnitudeCorrection) * delta;\n if (sign[position] !== 0) {\n n = -n;\n }\n nb = bitsDecoded[position];\n const pos = interleave ? levelOffset + (offset << 1) : offset;\n coefficients[pos] = reversible && nb >= mb ? n : n * (1 << (mb - nb));\n }\n offset++;\n position++;\n }\n offset += width - blockWidth;\n }\n }\n}\nfunction transformTile(context, tile, c) {\n const component = tile.components[c];\n const codingStyleParameters = component.codingStyleParameters;\n const quantizationParameters = component.quantizationParameters;\n const decompositionLevelsCount =\n codingStyleParameters.decompositionLevelsCount;\n const spqcds = quantizationParameters.SPqcds;\n const scalarExpounded = quantizationParameters.scalarExpounded;\n const guardBits = quantizationParameters.guardBits;\n const segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n const resetContextProbabilities =\n codingStyleParameters.resetContextProbabilities;\n const precision = context.components[c].precision;\n\n const reversible = codingStyleParameters.reversibleTransformation;\n const transform = reversible\n ? new ReversibleTransform()\n : new IrreversibleTransform();\n\n const subbandCoefficients = [];\n let b = 0;\n for (let i = 0; i <= decompositionLevelsCount; i++) {\n const resolution = component.resolutions[i];\n\n const width = resolution.trx1 - resolution.trx0;\n const height = resolution.try1 - resolution.try0;\n // Allocate space for the whole sublevel.\n const coefficients = new Float32Array(width * height);\n\n for (let j = 0, jj = resolution.subbands.length; j < jj; j++) {\n let mu, epsilon;\n if (!scalarExpounded) {\n // formula E-5\n mu = spqcds[0].mu;\n epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n } else {\n mu = spqcds[b].mu;\n epsilon = spqcds[b].epsilon;\n b++;\n }\n\n const subband = resolution.subbands[j];\n const gainLog2 = SubbandsGainLog2[subband.type];\n\n // calculate quantization coefficient (Section E.1.1.1)\n const delta = reversible\n ? 1\n : 2 ** (precision + gainLog2 - epsilon) * (1 + mu / 2048);\n const mb = guardBits + epsilon - 1;\n\n // In the first resolution level, copyCoefficients will fill the\n // whole array with coefficients. In the succeeding passes,\n // copyCoefficients will consecutively fill in the values that belong\n // to the interleaved positions of the HL, LH, and HH coefficients.\n // The LL coefficients will then be interleaved in Transform.iterate().\n copyCoefficients(\n coefficients,\n width,\n height,\n subband,\n delta,\n mb,\n reversible,\n segmentationSymbolUsed,\n resetContextProbabilities\n );\n }\n subbandCoefficients.push({\n width,\n height,\n items: coefficients,\n });\n }\n\n const result = transform.calculate(\n subbandCoefficients,\n component.tcx0,\n component.tcy0\n );\n return {\n left: component.tcx0,\n top: component.tcy0,\n width: result.width,\n height: result.height,\n items: result.items,\n };\n}\nfunction transformComponents(context) {\n const siz = context.SIZ;\n const components = context.components;\n const componentsCount = siz.Csiz;\n const resultImages = [];\n for (let i = 0, ii = context.tiles.length; i < ii; i++) {\n const tile = context.tiles[i];\n const transformedTiles = [];\n for (let c = 0; c < componentsCount; c++) {\n transformedTiles[c] = transformTile(context, tile, c);\n }\n const tile0 = transformedTiles[0];\n const out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n const result = {\n left: tile0.left,\n top: tile0.top,\n width: tile0.width,\n height: tile0.height,\n items: out,\n };\n\n // Section G.2.2 Inverse multi component transform\n let shift, offset;\n let pos = 0,\n j,\n jj,\n y0,\n y1,\n y2;\n if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n const fourComponents = componentsCount === 4;\n const y0items = transformedTiles[0].items;\n const y1items = transformedTiles[1].items;\n const y2items = transformedTiles[2].items;\n const y3items = fourComponents ? transformedTiles[3].items : null;\n\n // HACK: The multiple component transform formulas below assume that\n // all components have the same precision. With this in mind, we\n // compute shift and offset only once.\n shift = components[0].precision - 8;\n offset = (128 << shift) + 0.5;\n\n const component0 = tile.components[0];\n const alpha01 = componentsCount - 3;\n jj = y0items.length;\n if (!component0.codingStyleParameters.reversibleTransformation) {\n // inverse irreversible multiple component transform\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n out[pos++] = (y0 + 1.402 * y2) >> shift;\n out[pos++] = (y0 - 0.34413 * y1 - 0.71414 * y2) >> shift;\n out[pos++] = (y0 + 1.772 * y1) >> shift;\n }\n } else {\n // inverse reversible multiple component transform\n for (j = 0; j < jj; j++, pos += alpha01) {\n y0 = y0items[j] + offset;\n y1 = y1items[j];\n y2 = y2items[j];\n const g = y0 - ((y2 + y1) >> 2);\n\n out[pos++] = (g + y2) >> shift;\n out[pos++] = g >> shift;\n out[pos++] = (g + y1) >> shift;\n }\n }\n if (fourComponents) {\n for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n out[pos] = (y3items[j] + offset) >> shift;\n }\n }\n } else {\n // no multi-component transform\n for (let c = 0; c < componentsCount; c++) {\n const items = transformedTiles[c].items;\n shift = components[c].precision - 8;\n offset = (128 << shift) + 0.5;\n for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n out[pos] = (items[j] + offset) >> shift;\n pos += componentsCount;\n }\n }\n }\n resultImages.push(result);\n }\n return resultImages;\n}\nfunction initializeTile(context, tileIndex) {\n const siz = context.SIZ;\n const componentsCount = siz.Csiz;\n const tile = context.tiles[tileIndex];\n for (let c = 0; c < componentsCount; c++) {\n const component = tile.components[c];\n const qcdOrQcc =\n context.currentTile.QCC[c] !== undefined\n ? context.currentTile.QCC[c]\n : context.currentTile.QCD;\n component.quantizationParameters = qcdOrQcc;\n const codOrCoc =\n context.currentTile.COC[c] !== undefined\n ? context.currentTile.COC[c]\n : context.currentTile.COD;\n component.codingStyleParameters = codOrCoc;\n }\n tile.codingStyleDefaultParameters = context.currentTile.COD;\n}\n\n// Section B.10.2 Tag trees\nclass TagTree {\n constructor(width, height) {\n const levelsLength = log2(Math.max(width, height)) + 1;\n this.levels = [];\n for (let i = 0; i < levelsLength; i++) {\n const level = {\n width,\n height,\n items: [],\n };\n this.levels.push(level);\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n reset(i, j) {\n let currentLevel = 0,\n value = 0,\n level;\n while (currentLevel < this.levels.length) {\n level = this.levels[currentLevel];\n const index = i + j * level.width;\n if (level.items[index] !== undefined) {\n value = level.items[index];\n break;\n }\n level.index = index;\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n currentLevel--;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n this.currentLevel = currentLevel;\n delete this.value;\n }\n\n incrementValue() {\n const level = this.levels[this.currentLevel];\n level.items[level.index]++;\n }\n\n nextLevel() {\n let currentLevel = this.currentLevel;\n let level = this.levels[currentLevel];\n const value = level.items[level.index];\n currentLevel--;\n if (currentLevel < 0) {\n this.value = value;\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n}\n\nclass InclusionTree {\n constructor(width, height, defaultValue) {\n const levelsLength = log2(Math.max(width, height)) + 1;\n this.levels = [];\n for (let i = 0; i < levelsLength; i++) {\n const items = new Uint8Array(width * height);\n for (let j = 0, jj = items.length; j < jj; j++) {\n items[j] = defaultValue;\n }\n\n const level = {\n width,\n height,\n items,\n };\n this.levels.push(level);\n\n width = Math.ceil(width / 2);\n height = Math.ceil(height / 2);\n }\n }\n\n reset(i, j, stopValue) {\n let currentLevel = 0;\n while (currentLevel < this.levels.length) {\n const level = this.levels[currentLevel];\n const index = i + j * level.width;\n level.index = index;\n const value = level.items[index];\n\n if (value === 0xff) {\n break;\n }\n\n if (value > stopValue) {\n this.currentLevel = currentLevel;\n // already know about this one, propagating the value to top levels\n this.propagateValues();\n return false;\n }\n\n i >>= 1;\n j >>= 1;\n currentLevel++;\n }\n this.currentLevel = currentLevel - 1;\n return true;\n }\n\n incrementValue(stopValue) {\n const level = this.levels[this.currentLevel];\n level.items[level.index] = stopValue + 1;\n this.propagateValues();\n }\n\n propagateValues() {\n let levelIndex = this.currentLevel;\n let level = this.levels[levelIndex];\n const currentValue = level.items[level.index];\n while (--levelIndex >= 0) {\n level = this.levels[levelIndex];\n level.items[level.index] = currentValue;\n }\n }\n\n nextLevel() {\n let currentLevel = this.currentLevel;\n let level = this.levels[currentLevel];\n const value = level.items[level.index];\n level.items[level.index] = 0xff;\n currentLevel--;\n if (currentLevel < 0) {\n return false;\n }\n\n this.currentLevel = currentLevel;\n level = this.levels[currentLevel];\n level.items[level.index] = value;\n return true;\n }\n}\n\n// Section D. Coefficient bit modeling\nclass BitModel {\n static UNIFORM_CONTEXT = 17;\n\n static RUNLENGTH_CONTEXT = 18;\n\n // Table D-1\n // The index is binary presentation: 0dddvvhh, ddd - sum of Di (0..4),\n // vv - sum of Vi (0..2), and hh - sum of Hi (0..2)\n static LLAndLHContextsLabel = new Uint8Array([\n 0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4,\n 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6,\n 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8,\n ]);\n\n static HLContextLabel = new Uint8Array([\n 0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8,\n 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3,\n 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8,\n ]);\n\n static HHContextLabel = new Uint8Array([\n 0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5,\n 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8,\n 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8,\n ]);\n\n constructor(width, height, subband, zeroBitPlanes, mb) {\n this.width = width;\n this.height = height;\n\n let contextLabelTable;\n if (subband === \"HH\") {\n contextLabelTable = BitModel.HHContextLabel;\n } else if (subband === \"HL\") {\n contextLabelTable = BitModel.HLContextLabel;\n } else {\n contextLabelTable = BitModel.LLAndLHContextsLabel;\n }\n this.contextLabelTable = contextLabelTable;\n\n const coefficientCount = width * height;\n\n // coefficients outside the encoding region treated as insignificant\n // add border state cells for significanceState\n this.neighborsSignificance = new Uint8Array(coefficientCount);\n this.coefficentsSign = new Uint8Array(coefficientCount);\n let coefficentsMagnitude;\n if (mb > 14) {\n coefficentsMagnitude = new Uint32Array(coefficientCount);\n } else if (mb > 6) {\n coefficentsMagnitude = new Uint16Array(coefficientCount);\n } else {\n coefficentsMagnitude = new Uint8Array(coefficientCount);\n }\n this.coefficentsMagnitude = coefficentsMagnitude;\n this.processingFlags = new Uint8Array(coefficientCount);\n\n const bitsDecoded = new Uint8Array(coefficientCount);\n if (zeroBitPlanes !== 0) {\n for (let i = 0; i < coefficientCount; i++) {\n bitsDecoded[i] = zeroBitPlanes;\n }\n }\n this.bitsDecoded = bitsDecoded;\n\n this.reset();\n }\n\n setDecoder(decoder) {\n this.decoder = decoder;\n }\n\n reset() {\n // We have 17 contexts that are accessed via context labels,\n // plus the uniform and runlength context.\n this.contexts = new Int8Array(19);\n\n // Contexts are packed into 1 byte:\n // highest 7 bits carry the index, lowest bit carries mps\n this.contexts[0] = (4 << 1) | 0;\n this.contexts[BitModel.UNIFORM_CONTEXT] = (46 << 1) | 0;\n this.contexts[BitModel.RUNLENGTH_CONTEXT] = (3 << 1) | 0;\n }\n\n setNeighborsSignificance(row, column, index) {\n const neighborsSignificance = this.neighborsSignificance;\n const width = this.width,\n height = this.height;\n const left = column > 0;\n const right = column + 1 < width;\n let i;\n\n if (row > 0) {\n i = index - width;\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n neighborsSignificance[i] += 0x04;\n }\n\n if (row + 1 < height) {\n i = index + width;\n if (left) {\n neighborsSignificance[i - 1] += 0x10;\n }\n if (right) {\n neighborsSignificance[i + 1] += 0x10;\n }\n neighborsSignificance[i] += 0x04;\n }\n\n if (left) {\n neighborsSignificance[index - 1] += 0x01;\n }\n if (right) {\n neighborsSignificance[index + 1] += 0x01;\n }\n neighborsSignificance[index] |= 0x80;\n }\n\n runSignificancePropagationPass() {\n const decoder = this.decoder;\n const width = this.width,\n height = this.height;\n const coefficentsMagnitude = this.coefficentsMagnitude;\n const coefficentsSign = this.coefficentsSign;\n const neighborsSignificance = this.neighborsSignificance;\n const processingFlags = this.processingFlags;\n const contexts = this.contexts;\n const labels = this.contextLabelTable;\n const bitsDecoded = this.bitsDecoded;\n const processedInverseMask = ~1;\n const processedMask = 1;\n const firstMagnitudeBitMask = 2;\n\n for (let i0 = 0; i0 < height; i0 += 4) {\n for (let j = 0; j < width; j++) {\n let index = i0 * width + j;\n for (let i1 = 0; i1 < 4; i1++, index += width) {\n const i = i0 + i1;\n if (i >= height) {\n break;\n }\n // clear processed flag first\n processingFlags[index] &= processedInverseMask;\n\n if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {\n continue;\n }\n\n const contextLabel = labels[neighborsSignificance[index]];\n const decision = decoder.readBit(contexts, contextLabel);\n if (decision) {\n const sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n }\n\n decodeSignBit(row, column, index) {\n const width = this.width,\n height = this.height;\n const coefficentsMagnitude = this.coefficentsMagnitude;\n const coefficentsSign = this.coefficentsSign;\n let contribution, sign0, sign1, significance1;\n let contextLabel, decoded;\n\n // calculate horizontal contribution\n significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n sign1 = coefficentsSign[index + 1];\n if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign1 - sign0;\n } else {\n contribution = 1 - sign1 - sign1;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - 1];\n contribution = 1 - sign0 - sign0;\n } else {\n contribution = 0;\n }\n const horizontalContribution = 3 * contribution;\n\n // calculate vertical contribution and combine with the horizontal\n significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n sign1 = coefficentsSign[index + width];\n if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign1 - sign0 + horizontalContribution;\n } else {\n contribution = 1 - sign1 - sign1 + horizontalContribution;\n }\n } else if (significance1) {\n sign0 = coefficentsSign[index - width];\n contribution = 1 - sign0 - sign0 + horizontalContribution;\n } else {\n contribution = horizontalContribution;\n }\n\n if (contribution >= 0) {\n contextLabel = 9 + contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel);\n } else {\n contextLabel = 9 - contribution;\n decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n }\n return decoded;\n }\n\n runMagnitudeRefinementPass() {\n const decoder = this.decoder;\n const width = this.width,\n height = this.height;\n const coefficentsMagnitude = this.coefficentsMagnitude;\n const neighborsSignificance = this.neighborsSignificance;\n const contexts = this.contexts;\n const bitsDecoded = this.bitsDecoded;\n const processingFlags = this.processingFlags;\n const processedMask = 1;\n const firstMagnitudeBitMask = 2;\n const length = width * height;\n const width4 = width * 4;\n\n for (let index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n indexNext = Math.min(length, index0 + width4);\n for (let j = 0; j < width; j++) {\n for (let index = index0 + j; index < indexNext; index += width) {\n // significant but not those that have just become\n if (\n !coefficentsMagnitude[index] ||\n (processingFlags[index] & processedMask) !== 0\n ) {\n continue;\n }\n\n let contextLabel = 16;\n if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n processingFlags[index] ^= firstMagnitudeBitMask;\n // first refinement\n const significance = neighborsSignificance[index] & 127;\n contextLabel = significance === 0 ? 15 : 14;\n }\n\n const bit = decoder.readBit(contexts, contextLabel);\n coefficentsMagnitude[index] =\n (coefficentsMagnitude[index] << 1) | bit;\n bitsDecoded[index]++;\n processingFlags[index] |= processedMask;\n }\n }\n }\n }\n\n runCleanupPass() {\n const decoder = this.decoder;\n const width = this.width,\n height = this.height;\n const neighborsSignificance = this.neighborsSignificance;\n const coefficentsMagnitude = this.coefficentsMagnitude;\n const coefficentsSign = this.coefficentsSign;\n const contexts = this.contexts;\n const labels = this.contextLabelTable;\n const bitsDecoded = this.bitsDecoded;\n const processingFlags = this.processingFlags;\n const processedMask = 1;\n const firstMagnitudeBitMask = 2;\n const oneRowDown = width;\n const twoRowsDown = width * 2;\n const threeRowsDown = width * 3;\n let iNext;\n for (let i0 = 0; i0 < height; i0 = iNext) {\n iNext = Math.min(i0 + 4, height);\n const indexBase = i0 * width;\n const checkAllEmpty = i0 + 3 < height;\n for (let j = 0; j < width; j++) {\n const index0 = indexBase + j;\n // using the property: labels[neighborsSignificance[index]] === 0\n // when neighborsSignificance[index] === 0\n const allEmpty =\n checkAllEmpty &&\n processingFlags[index0] === 0 &&\n processingFlags[index0 + oneRowDown] === 0 &&\n processingFlags[index0 + twoRowsDown] === 0 &&\n processingFlags[index0 + threeRowsDown] === 0 &&\n neighborsSignificance[index0] === 0 &&\n neighborsSignificance[index0 + oneRowDown] === 0 &&\n neighborsSignificance[index0 + twoRowsDown] === 0 &&\n neighborsSignificance[index0 + threeRowsDown] === 0;\n let i1 = 0,\n index = index0;\n let i = i0,\n sign;\n if (allEmpty) {\n const hasSignificantCoefficent = decoder.readBit(\n contexts,\n BitModel.RUNLENGTH_CONTEXT\n );\n if (!hasSignificantCoefficent) {\n bitsDecoded[index0]++;\n bitsDecoded[index0 + oneRowDown]++;\n bitsDecoded[index0 + twoRowsDown]++;\n bitsDecoded[index0 + threeRowsDown]++;\n continue; // next column\n }\n i1 =\n (decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT) << 1) |\n decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT);\n if (i1 !== 0) {\n i = i0 + i1;\n index += i1 * width;\n }\n\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n\n index = index0;\n for (let i2 = i0; i2 <= i; i2++, index += width) {\n bitsDecoded[index]++;\n }\n\n i1++;\n }\n for (i = i0 + i1; i < iNext; i++, index += width) {\n if (\n coefficentsMagnitude[index] ||\n (processingFlags[index] & processedMask) !== 0\n ) {\n continue;\n }\n\n const contextLabel = labels[neighborsSignificance[index]];\n const decision = decoder.readBit(contexts, contextLabel);\n if (decision === 1) {\n sign = this.decodeSignBit(i, j, index);\n coefficentsSign[index] = sign;\n coefficentsMagnitude[index] = 1;\n this.setNeighborsSignificance(i, j, index);\n processingFlags[index] |= firstMagnitudeBitMask;\n }\n bitsDecoded[index]++;\n }\n }\n }\n }\n\n checkSegmentationSymbol() {\n const decoder = this.decoder;\n const contexts = this.contexts;\n const symbol =\n (decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT) << 3) |\n (decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT) << 2) |\n (decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT) << 1) |\n decoder.readBit(contexts, BitModel.UNIFORM_CONTEXT);\n if (symbol !== 0xa) {\n throw new JpxError(\"Invalid segmentation symbol\");\n }\n }\n}\n\n// Section F, Discrete wavelet transformation\nclass Transform {\n constructor() {\n if (this.constructor === Transform) {\n unreachable(\"Cannot initialize Transform.\");\n }\n }\n\n calculate(subbands, u0, v0) {\n let ll = subbands[0];\n for (let i = 1, ii = subbands.length; i < ii; i++) {\n ll = this.iterate(ll, subbands[i], u0, v0);\n }\n return ll;\n }\n\n extend(buffer, offset, size) {\n // Section F.3.7 extending... using max extension of 4\n let i1 = offset - 1,\n j1 = offset + 1;\n let i2 = offset + size - 2,\n j2 = offset + size;\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1--] = buffer[j1++];\n buffer[j2++] = buffer[i2--];\n buffer[i1] = buffer[j1];\n buffer[j2] = buffer[i2];\n }\n\n filter(x, offset, length) {\n unreachable(\"Abstract method `filter` called\");\n }\n\n iterate(ll, hl_lh_hh, u0, v0) {\n const llWidth = ll.width,\n llHeight = ll.height;\n let llItems = ll.items;\n const width = hl_lh_hh.width;\n const height = hl_lh_hh.height;\n const items = hl_lh_hh.items;\n let i, j, k, l, u, v;\n\n // Interleave LL according to Section F.3.3\n for (k = 0, i = 0; i < llHeight; i++) {\n l = i * 2 * width;\n for (j = 0; j < llWidth; j++, k++, l += 2) {\n items[l] = llItems[k];\n }\n }\n // The LL band is not needed anymore.\n llItems = ll.items = null;\n\n const bufferPadding = 4;\n const rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n // Section F.3.4 HOR_SR\n if (width === 1) {\n // if width = 1, when u0 even keep items as is, when odd divide by 2\n if ((u0 & 1) !== 0) {\n for (v = 0, k = 0; v < height; v++, k += width) {\n items[k] *= 0.5;\n }\n }\n } else {\n for (v = 0, k = 0; v < height; v++, k += width) {\n rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n\n this.extend(rowBuffer, bufferPadding, width);\n this.filter(rowBuffer, bufferPadding, width);\n\n items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);\n }\n }\n\n // Accesses to the items array can take long, because it may not fit into\n // CPU cache and has to be fetched from main memory. Since subsequent\n // accesses to the items array are not local when reading columns, we\n // have a cache miss every time. To reduce cache misses, get up to\n // 'numBuffers' items at a time and store them into the individual\n // buffers. The colBuffers should be small enough to fit into CPU cache.\n let numBuffers = 16;\n const colBuffers = [];\n for (i = 0; i < numBuffers; i++) {\n colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n }\n let b,\n currentBuffer = 0;\n ll = bufferPadding + height;\n\n // Section F.3.5 VER_SR\n if (height === 1) {\n // if height = 1, when v0 even keep items as is, when odd divide by 2\n if ((v0 & 1) !== 0) {\n for (u = 0; u < width; u++) {\n items[u] *= 0.5;\n }\n }\n } else {\n for (u = 0; u < width; u++) {\n // if we ran out of buffers, copy several image columns at once\n if (currentBuffer === 0) {\n numBuffers = Math.min(width - u, numBuffers);\n for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n colBuffers[b][l] = items[k + b];\n }\n }\n currentBuffer = numBuffers;\n }\n\n currentBuffer--;\n const buffer = colBuffers[currentBuffer];\n this.extend(buffer, bufferPadding, height);\n this.filter(buffer, bufferPadding, height);\n\n // If this is last buffer in this group of buffers, flush all buffers.\n if (currentBuffer === 0) {\n k = u - numBuffers + 1;\n for (l = bufferPadding; l < ll; k += width, l++) {\n for (b = 0; b < numBuffers; b++) {\n items[k + b] = colBuffers[b][l];\n }\n }\n }\n }\n }\n\n return { width, height, items };\n }\n}\n\n// Section 3.8.2 Irreversible 9-7 filter\nclass IrreversibleTransform extends Transform {\n filter(x, offset, length) {\n const len = length >> 1;\n offset |= 0;\n let j, n, current, next;\n\n const alpha = -1.586134342059924;\n const beta = -0.052980118572961;\n const gamma = 0.882911075530934;\n const delta = 0.443506852043971;\n const K = 1.230174104914001;\n const K_ = 1 / K;\n\n // step 1 is combined with step 3\n\n // step 2\n j = offset - 3;\n for (n = len + 4; n--; j += 2) {\n x[j] *= K_;\n }\n\n // step 1 & 3\n j = offset - 2;\n current = delta * x[j - 1];\n for (n = len + 3; n--; j += 2) {\n next = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n if (n--) {\n j += 2;\n current = delta * x[j + 1];\n x[j] = K * x[j] - current - next;\n } else {\n break;\n }\n }\n\n // step 4\n j = offset - 1;\n current = gamma * x[j - 1];\n for (n = len + 2; n--; j += 2) {\n next = gamma * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = gamma * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n // step 5\n j = offset;\n current = beta * x[j - 1];\n for (n = len + 1; n--; j += 2) {\n next = beta * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = beta * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n\n // step 6\n if (len !== 0) {\n j = offset + 1;\n current = alpha * x[j - 1];\n for (n = len; n--; j += 2) {\n next = alpha * x[j + 1];\n x[j] -= current + next;\n if (n--) {\n j += 2;\n current = alpha * x[j + 1];\n x[j] -= current + next;\n } else {\n break;\n }\n }\n }\n }\n}\n\n// Section 3.8.1 Reversible 5-3 filter\nclass ReversibleTransform extends Transform {\n filter(x, offset, length) {\n const len = length >> 1;\n offset |= 0;\n let j, n;\n\n for (j = offset, n = len + 1; n--; j += 2) {\n x[j] -= (x[j - 1] + x[j + 1] + 2) >> 2;\n }\n\n for (j = offset + 1, n = len; n--; j += 2) {\n x[j] += (x[j - 1] + x[j + 1]) >> 1;\n }\n }\n}\n\nexport { JpxImage };\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __w_pdfjs_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getVerbosityLevel, setVerbosityLevel } from \"./shared/util.js\";\nimport { Jbig2Image } from \"./core/jbig2.js\";\nimport { JpegImage } from \"./core/jpg.js\";\nimport { JpxImage } from \"./core/jpx.js\";\n\n/* eslint-disable-next-line no-unused-vars */\nconst pdfjsVersion =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_VERSION\") : void 0;\n/* eslint-disable-next-line no-unused-vars */\nconst pdfjsBuild =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_BUILD\") : void 0;\n\nexport {\n getVerbosityLevel,\n Jbig2Image,\n JpegImage,\n JpxImage,\n setVerbosityLevel,\n};\n"],"names":["isNodeJS","process","versions","nw","electron","type","exports","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","MAX_IMAGE_SIZE_TO_CACHE","LINE_FACTOR","LINE_DESCENT_FACTOR","BASELINE_FACTOR","RenderingIntentFlag","ANY","DISPLAY","PRINT","SAVE","ANNOTATIONS_FORMS","ANNOTATIONS_STORAGE","ANNOTATIONS_DISABLE","OPLIST","AnnotationMode","DISABLE","ENABLE","ENABLE_FORMS","ENABLE_STORAGE","AnnotationEditorPrefix","AnnotationEditorType","NONE","FREETEXT","STAMP","INK","AnnotationEditorParamsType","RESIZE","CREATE","FREETEXT_SIZE","FREETEXT_COLOR","FREETEXT_OPACITY","INK_COLOR","INK_THICKNESS","INK_OPACITY","PermissionFlag","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","TextRenderingMode","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","ImageKind","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","AnnotationType","TEXT","LINK","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","CARET","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","AnnotationReplyType","GROUP","REPLY","AnnotationFlag","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","AnnotationFieldFlag","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","AnnotationBorderStyleType","SOLID","DASHED","BEVELED","INSET","AnnotationActionEventType","E","X","D","U","Fo","Bl","PO","PC","PV","PI","K","F","V","C","DocumentActionEventType","WC","WS","DS","WP","DP","PageActionEventType","O","VerbosityLevel","ERRORS","WARNINGS","INFOS","CMapCompressionType","BINARY","OPS","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotation","endAnnotation","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","setVerbosityLevel","level","Number","isInteger","getVerbosityLevel","info","msg","console","log","warn","unreachable","Error","assert","cond","_isValidProtocol","url","protocol","createValidAbsoluteUrl","baseUrl","arguments","length","undefined","options","addDefaultProtocol","startsWith","dots","match","tryConvertEncoding","stringToUTF8String","absoluteUrl","URL","shadow","obj","prop","value","nonSerializable","Object","defineProperty","enumerable","configurable","writable","BaseException","BaseExceptionClosure","message","name","constructor","prototype","PasswordException","code","UnknownErrorException","details","InvalidPDFException","MissingPDFException","UnexpectedResponseException","status","FormatError","AbortException","bytesToString","bytes","MAX_ARGUMENT_COUNT","String","fromCharCode","apply","strBuf","i","chunkEnd","Math","min","chunk","subarray","push","join","stringToBytes","str","Uint8Array","charCodeAt","string32","objectSize","keys","objectFromMap","map","create","key","isLittleEndian","buffer8","view32","Uint32Array","buffer","isEvalSupported","Function","FeatureTest","isOffscreenCanvasSupported","OffscreenCanvas","platform","navigator","isWin","isMac","includes","isCSSRoundSupported","globalThis","CSS","supports","hexNumbers","Array","n","toString","padStart","Util","makeHexColor","r","g","b","scaleMinMax","minMax","temp","m1","m2","applyTransform","p","m","xt","yt","applyInverseTransform","d","getAxialAlignedBoundingBox","p1","p2","slice","p3","p4","max","inverseTransform","singularValueDecompose2dScale","transpose","a","c","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","xLow","xHigh","yLow","yHigh","bezierBoundingBox","x0","y0","x1","y1","x2","y2","x3","y3","tvalues","bounds","t","t1","t2","b2ac","sqrtb2ac","abs","j","mt","jlen","PDFStringTranslateTable","stringToPDFString","encoding","decoder","TextDecoder","fatal","decode","ex","ii","charAt","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","isArrayBuffer","v","byteLength","isArrayEqual","arr1","arr2","getModificationDate","date","Date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","PromiseCapability","settled","promise","Promise","resolve","reject","data","reason","NormalizeRegex","NormalizationMap","normalizeUnicode","Map","replaceAll","_","normalize","get","getUuid","crypto","randomUUID","buf","getRandomValues","floor","random","AnnotationPrefix","$","require","global","wrapErrorConstructorWithCause","WEB_ASSEMBLY","WebAssembly","FORCED","cause","exportGlobalErrorCauseWrapper","ERROR_NAME","wrapper","arity","forced","exportWebAssemblyErrorCauseWrapper","target","stat","init","EvalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError","CompileError","LinkError","RuntimeError","getOwnPropertyDescriptor","f","createNonEnumerableProperty","defineBuiltIn","defineGlobalProperty","copyConstructorProperties","isForced","module","source","TARGET","GLOBAL","STATIC","targetProperty","sourceProperty","descriptor","dontCallGetSet","sham","check","it","window","self","DESCRIPTORS","call","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","P","error","fails","exec","NATIVE_BIND","bind","test","hasOwnProperty","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","bitmap","IndexedObject","requireObjectCoercible","uncurryThis","classof","$Object","split","FunctionPrototype","uncurryThisWithBind","fn","stringSlice","isNullOrUndefined","$TypeError","toPrimitive","isSymbol","argument","isObject","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","input","pref","exoticToPrim","result","isCallable","$documentAll","documentAll","all","IS_HTMLDDA","document","getBuiltIn","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","aFunction","namespace","method","NATIVE_SYMBOL","Symbol","iterator","V8_VERSION","$String","getOwnPropertySymbols","symbol","userAgent","Deno","version","v8","aCallable","func","tryToString","val","valueOf","shared","uid","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","IS_PURE","store","mode","copyright","license","SHARED","toObject","id","postfix","createElement","EXISTS","definePropertyModule","object","V8_PROTOTYPE_DEFINE_BUG","anObject","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","makeBuiltIn","simple","unsafe","nonConfigurable","nonWritable","CONFIGURABLE_FUNCTION_NAME","inspectSource","InternalStateModule","enforceInternalState","enforce","getInternalState","replace","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","state","getDescriptor","PROPER","something","functionToString","NATIVE_WEAK_MAP","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","set","has","getterFor","TYPE","metadata","facade","STATE","ownKeys","getOwnPropertyDescriptorModule","exceptions","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","concat","internalObjectKeys","enumBugKeys","getOwnPropertyNames","indexOf","names","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","index","toIntegerOrInfinity","integer","trunc","number","ceil","x","toLength","replacement","feature","detection","POLYFILL","NATIVE","string","toLowerCase","Reflect","setPrototypeOf","proxyAccessor","inheritIfRequired","normalizeStringArgument","installErrorCause","installErrorStack","FULL_NAME","IS_AGGREGATE_ERROR","STACK_TRACE_LIMIT","OPTIONS_POSITION","path","OriginalError","OriginalErrorPrototype","BaseError","WrappedError","stack","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","proto","__proto__","Target","Source","dummy","Wrapper","NewTarget","NewTargetPrototype","$default","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tryGet","tag","callee","clearErrorStack","ERROR_STACK_INSTALLABLE","captureStackTrace","dropEntries","$Error","TEST","arg","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","prepareStackTrace","validateArgumentsLength","$URLSearchParams","URLSearchParams","URLSearchParamsPrototype","append","$delete","forEach","params","$value","entries","k","dindex","found","entriesLength","entry","passed","required","getAll","$has","values","defineBuiltInAccessor","size","count","setArrayLength","doesNotExceedSafeInteger","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","item","len","argCount","isArray","SILENT_ON_NON_WRITABLE_LENGTH_SET","MAX_SAFE_INTEGER","ArrayBufferViewCore","$findLast","findLast","aTypedArray","exportTypedArrayMethod","predicate","NATIVE_ARRAY_BUFFER","getPrototypeOf","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","NAME","Constructor","Prototype","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","klass","getTypedArrayConstructor","isTypedArray","aTypedArrayConstructor","KEY","property","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","ArrayBuffer","DataView","CORRECT_PROTOTYPE_GETTER","IE_PROTO","IS_FIND_LAST_INDEX","callbackfn","that","boundFunction","findLastIndex","$findLastIndex","toOffset","$set","WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS","array","TO_OBJECT_BUG","arrayLike","offset","src","toPositiveInteger","$RangeError","BYTES","arrayToReversed","toReversed","A","arrayFromConstructorAndList","sort","toSorted","compareFn","list","arrayWith","isBigIntArray","toBigInt","PROPER_ORDER","relativeIndex","actualValue","actualIndex","prim","BigInt","isDetached","ArrayBufferPrototype","detached","arrayBufferByteLength","$transfer","transfer","toIndex","PROPER_TRANSFER","structuredClone","DataViewPrototype","isResizable","maxByteLength","getInt8","setInt8","arrayBuffer","newLength","preserveResizability","newByteLength","fixedLength","newBuffer","newNewBuffer","copyLength","V8","IS_BROWSER","IS_DENO","IS_NODE","clone","transferToFixedLength","_util","_core_utils","_arithmetic_decoder","_ccitt","Jbig2Error","ContextCache","getContexts","DecodingContext","start","end","ArithmeticDecoder","contextCache","cache","MAX_INT_32","MIN_INT_32","decodeInteger","procedure","contexts","prev","readBits","bit","readBit","sign","signedValue","decodeIAID","codeLength","SegmentTypes","CodingTemplates","y","RefinementTemplates","coding","reference","ReusedContexts","RefinementReusedContexts","decodeBitmapTemplate0","width","height","decodingContext","contextLabel","pixel","row","row1","row2","OLD_PIXEL_MASK","decodeBitmap","mmr","templateIndex","prediction","skip","at","Reader","decodeMMRBitmap","useskip","template","templateLength","templateX","templateY","changingTemplateEntries","reuseMask","minX","maxX","minY","changingEntriesLength","changingTemplateX","changingTemplateY","changingTemplateBit","sbb_left","sbb_top","sbb_right","pseudoPixelContext","ltp","i0","j0","shift","sltp","decodeRefinement","referenceBitmap","offsetX","offsetY","codingTemplate","codingTemplateLength","codingTemplateX","codingTemplateY","referenceTemplate","referenceTemplateLength","referenceTemplateX","referenceTemplateY","referenceWidth","referenceHeight","decodeSymbolDictionary","huffman","refinement","symbols","numberOfNewSymbols","numberOfExportedSymbols","huffmanTables","refinementTemplateIndex","refinementAt","huffmanInput","newSymbols","currentHeight","symbolCodeLength","log2","tableB1","symbolWidths","getStandardTable","deltaHeight","tableDeltaHeight","currentWidth","totalWidth","firstSymbol","deltaWidth","tableDeltaWidth","numberOfInstances","decodeTextRegion","symbolId","rdx","rdy","bitmapSize","tableBitmapSize","byteAlign","collectiveBitmap","readUncompressedBitmap","originalEnd","bitmapEnd","position","numberOfSymbolsDecoded","xMin","xMax","bitmapWidth","symbolBitmap","exportedSymbols","flags","currentFlag","totalSymbolsLength","runLength","defaultPixelValue","numberOfSymbolInstances","stripSize","inputSymbols","transposed","dsOffset","referenceCorner","combinationOperator","logStripSize","stripT","tableDeltaT","firstS","deltaT","deltaFirstS","tableFirstS","currentS","currentT","symbolIDTable","applyRefinement","symbolWidth","symbolHeight","rdw","rdh","offsetT","offsetS","s2","symbolRow","maxWidth","deltaS","tableDeltaS","decodePatternDictionary","patternWidth","patternHeight","maxPatternIndex","collectiveWidth","patterns","patternBitmap","decodeHalftoneRegion","regionWidth","regionHeight","enableSkip","gridWidth","gridHeight","gridOffsetX","gridOffsetY","gridVectorX","gridVectorY","regionBitmap","numberOfPatterns","pattern0","bitsPerValue","grayScaleBitPlanes","mmrInput","mg","ng","patternIndex","patternRow","regionRow","regionX","regionY","readSegmentHeader","segmentHeader","readUint32","segmentType","typeName","deferredNonRetain","pageAssociationFieldSize","referredFlags","referredToCount","retainBits","referredToSegmentNumberSize","referredTo","readUint16","pageAssociation","genericRegionInfo","readRegionSegmentInformation","genericRegionSegmentFlags","RegionSegmentInformationFieldLength","genericRegionMmr","searchPatternLength","searchPattern","headerEnd","readSegments","header","segments","segment","randomAccess","processSegment","visitor","args","atLength","dictionary","dictionaryFlags","huffmanDHSelector","huffmanDWSelector","bitmapSizeSelector","aggregationInstancesSelector","bitmapCodingContextUsed","bitmapCodingContextRetained","refinementTemplate","readInt8","textRegion","textRegionSegmentFlags","textRegionHuffmanFlags","huffmanFS","huffmanDS","huffmanDT","huffmanRefinementDW","huffmanRefinementDH","huffmanRefinementDX","huffmanRefinementDY","huffmanRefinementSizeSelector","patternDictionary","patternDictionaryFlags","halftoneRegion","halftoneRegionFlags","genericRegion","pageInfo","resolutionX","resolutionY","pageSegmentFlags","lossless","requiresBuffer","combinationOperatorOverride","callbackName","processSegments","parseJbig2Chunks","chunks","SimpleSegmentVisitor","parseJbig2","numberOfPages","currentPageInfo","bitPacked","imgData","q","mask","onPageInformation","rowSize","drawBitmap","regionInfo","mask0","offset0","onImmediateGenericRegion","region","onImmediateLosslessGenericRegion","onSymbolDictionary","currentSegment","referredSegments","getSymbolDictionaryHuffmanTables","customTables","referredSegment","referredSymbols","onImmediateTextRegion","getTextRegionHuffmanTables","onImmediateLosslessTextRegion","onPatternDictionary","onImmediateHalftoneRegion","onImmediateLosslessHalftoneRegion","onTables","decodeTablesSegment","HuffmanLine","lineData","isOOB","rangeLow","prefixLength","rangeLength","prefixCode","isLowerRange","HuffmanTreeNode","line","children","isLeaf","buildTree","node","decodeNode","reader","htOffset","HuffmanTable","lines","prefixCodesDone","assignPrefixCodes","rootNode","linesLength","prefixLengthMax","histogram","currentLength","firstCode","currentCode","currentTemp","lowestValue","highestValue","prefixSizeBits","rangeSizeBits","currentRangeLow","standardTablesCache","table","currentByte","numBits","next","getCustomHuffmanTable","currentIndex","numberOfSymbols","codes","runCodesTable","repeatedLength","numberOfRepeats","customIndex","tableAggregateInstances","endOfBlock","Columns","Rows","BlackIs1","EndOfBlock","CCITTFaxDecoder","eof","readNextChar","lookForEOFLimit","Jbig2Image","parseChunks","parse","_primitives","_base_stream","PDF_VERSION_REGEXP","getLookupTableFactory","initializer","lookup","MissingDataException","begin","ParserEOFException","XRefEntryException","XRefParseException","arrayBuffersToBytes","arr","dataLength","pos","getInheritableProperty","_ref","dict","getArray","stopWhenFound","visited","RefSet","Dict","objId","put","ROMAN_NUMBER_MAP","toRomanNumerals","lowerCase","romanBuf","romanStr","isWhiteSpace","ch","parseXFAPath","positionPattern","component","parseInt","escapePDFName","char","substring","escapeString","_collectJS","xref","parents","parent","Ref","fetch","element","isName","js","BaseStream","getString","getRaw","remove","collectActions","eventType","actions","additionalActionsDicts","additionalActions","getKeys","action","actionDict","Action","XMLEntities","encodeToXmlString","codePointAt","entity","toUpperCase","validateFontName","fontFamily","mustWarn","re","RegExp","ident","validateCSSFont","cssFontInfo","DEFAULT_CSS_FONT_OBLIQUE","DEFAULT_CSS_FONT_WEIGHT","CSS_FONT_WEIGHT_VALUES","Set","fontWeight","italicAngle","weight","angle","parseFloat","isNaN","recoverJsURL","URL_OPEN_METHODS","regex","jsUrl","newWindow","numberToString","roundedValue","round","toFixed","getNewAnnotationsMap","annotationStorage","newAnnotationsByPage","annotations","pageIndex","isAscii","stringToUTF16HexString","stringToUTF16String","bigEndian","getRotationMatrix","rotation","difference","setMethodAcceptSetLike","real","aSet","SetHelpers","getSetRecord","iterateSet","iterateSimple","other","otherRec","e","getIterator","SetPrototype","add","iterate","interruptible","record","ITERATOR_INSTEAD_OF_RECORD","step","done","getIteratorDirect","INVALID_SIZE","SetRecord","numSize","intSize","createSetLike","intersection","INCORRECT","from","isDisjointFrom","iteratorClose","kind","innerResult","innerError","isSubsetOf","isSupersetOf","symmetricDifference","keysIter","union","CIRCULAR_REF","EOF","CmdCache","NameCache","RefCache","clearPrimitiveCaches","Name","Cmd","cmd","nonSerializableClosure","_map","suppressEncryption","__nonSerializable__","assignXref","newXref","key1","key2","key3","getAsync","fetchAsync","getRawValues","callback","empty","emptyDict","merge","dictArray","mergeSubDicts","mergedDict","properties","subDict","clear","num","gen","fromString","ref","_set","delete","RefSetCache","putAlias","aliasRef","isCmd","isDict","isRefsEqual","v1","v2","isEmpty","isDataLoaded","getByte","getBytes","peekByte","peekedByte","peekBytes","getUint16","b0","b1","getInt32","b2","b3","getByteRange","reset","moveStart","makeSubStream","getBaseStreams","QeTable","qe","nmps","nlps","switchFlag","bp","dataEnd","chigh","clow","byteIn","ct","cx_index","cx_mps","qeTableIcx","qeIcx","ccittEOL","ccittEOF","twoDimPass","twoDimHoriz","twoDimVert0","twoDimVertR1","twoDimVertL1","twoDimVertR2","twoDimVertL2","twoDimVertR3","twoDimVertL3","twoDimTable","whiteTable1","whiteTable2","blackTable1","blackTable2","blackTable3","eoline","EndOfLine","EncodedByteAlign","columns","rows","eoblock","black","codingLine","refLine","codingPos","nextLine2D","inputBits","inputBuf","outputBits","rowsDone","code1","_lookBits","_eatBits","refPos","blackPixels","bits","err","code2","code3","_getTwoDimCode","_addPixels","_getBlackCode","_getWhiteCode","_addPixelsNeg","gotEOL","a1","_findTableCode","limit","limitValue","_image_utils","JpegError","DNLMarkerError","scanLines","EOIMarkerError","dctZigZag","dctCos1","dctSin1","dctCos3","dctSin3","dctCos6","dctSin6","dctSqrt2","dctSqrt1d2","buildHuffmanTable","codeLengths","pop","getBlockBufferOffset","col","blocksPerLine","decodeScan","frame","components","resetInterval","spectralStart","spectralEnd","successivePrev","successive","parseDNLMarker","mcusPerLine","progressive","startOffset","bitsData","bitsCount","nextByte","maybeScanLines","blockRow","precision","decodeHuffman","tree","receive","receiveAndExtend","decodeBaseline","blockOffset","huffmanTableDC","diff","blockData","pred","rs","huffmanTableAC","s","z","decodeDCFirst","decodeDCSuccessive","eobrun","decodeACFirst","successiveACState","successiveACNextValue","decodeACSuccessive","offsetZ","decodeMcu","mcu","mcuRow","mcuCol","blockCol","h","decodeBlock","componentsLength","decodeFn","fileMarker","mcuExpected","blocksPerColumn","mcusPerColumn","mcuToRead","findNextFileMarker","invalid","partialMsg","marker","quantizeAndInverse","blockBufferOffset","qt","quantizationTable","v0","v3","v4","v5","v6","v7","p0","p5","p6","p7","buildComponentData","computationBuffer","currentPos","startPos","maxPos","newPos","currentMarker","newMarker","JpegImage","decodeTransform","colorTransform","_decodeTransform","_colorTransform","dnlScanLines","readDataBlock","endOffset","prepareComponents","samplesPerLine","maxH","maxV","blocksPerLineForMcu","blocksPerColumnForMcu","blocksBufferSize","jfif","adobe","numSOSMarkers","quantizationTables","huffmanTablesAC","huffmanTablesDC","markerLoop","l","appData","major","minor","densityUnits","xDensity","yDensity","thumbWidth","thumbHeight","thumbData","flags0","flags1","transformCode","quantizationTablesLength","quantizationTablesEnd","quantizationTableSpec","tableData","extended","sofScanLines","componentIds","componentsCount","componentId","qId","quantizationId","huffmanLength","huffmanTableSpec","codeLengthSum","huffmanValues","selectorsCount","componentIndex","tableSpec","successiveApproximation","processed","nextFileMarker","output","scaleX","scaleY","numComponents","_getLinearizedBlockData","isSourcePDF","componentScaleX","componentScaleY","blocksPerScanline","xScaleBlockOffset","mask3LSB","lastComponentScaleX","_isColorConversionNeeded","_convertYccToRgb","Y","Cb","Cr","_convertYccToRgba","out","_convertYcckToRgb","_convertYcckToRgba","_convertYcckToCmyk","_convertCmykToRgb","_convertCmykToRgba","getData","forceRGBA","forceRGB","rgbaData","grayToRGBA","grayColor","convertToRGBA","convertBlackAndWhiteToRGBA","convertRGBToRGBA","srcPos","dest","nonBlackColor","inverseDecode","zeroMapping","oneMapping","widthInSource","widthRemainder","srcLength","destPos","elem","_ref2","len32","src32","s1","s3","jj","JpxError","SubbandsGainLog2","LL","LH","HL","HH","JpxImage","failOnCorruptedImage","head","parseCodestream","headerSize","lbox","tbox","jumpDataLength","colorspace","headerType","parseImageProperties","stream","newByte","oldByte","Xsiz","Ysiz","XOsiz","YOsiz","Csiz","bitsPerComponent","context","doNotRecover","sqcd","spqcds","spqcdSize","scalarExpounded","tile","mainHeader","siz","XTsiz","YTsiz","XTOsiz","YTOsiz","isSigned","XRsiz","YRsiz","calculateComponentDimensions","SIZ","calculateTileGrids","QCC","COC","qcd","noQuantization","guardBits","spqcd","epsilon","mu","SPqcds","QCD","currentTile","qcc","cqcc","cod","scod","entropyCoderWithCustomPrecincts","sopMarkerUsed","ephMarkerUsed","progressionOrder","layersCount","multipleComponentTransform","decompositionLevelsCount","xcb","ycb","blockStyle","selectiveArithmeticCodingBypass","resetContextProbabilities","terminationOnEachCodingPass","verticallyStripe","predictableTermination","segmentationSymbolUsed","reversibleTransformation","precinctsSizes","precinctsSize","PPx","PPy","unsupported","COD","partIndex","partsCount","initializeTile","buildPackets","parseTilePackets","tiles","transformComponents","numXtiles","numYtiles","tx0","ty0","tx1","ty1","tileComponent","tcx0","tcy0","tcx1","tcy1","getBlocksDimensions","codOrCoc","codingStyleParameters","xcb_","ycb_","buildPrecincts","resolution","dimensions","precinctWidth","precinctHeight","isZeroRes","resLevel","precinctWidthInSubband","precinctHeightInSubband","numprecinctswide","trx1","trx0","numprecinctshigh","try1","try0","numprecincts","precinctParameters","buildCodeblocks","subband","codeblockWidth","codeblockHeight","cbx0","tbx0","cby0","tby0","cbx1","tbx1","cby1","tby1","codeblocks","precincts","codeblock","precinctNumber","cbx","cby","tbx0_","tby0_","tbx1_","tby1_","pi","pj","subbandType","Lblock","precinct","cbxMin","cbxMax","cbyMin","cbyMax","codeblockParameters","numcodeblockwide","numcodeblockhigh","createPacket","layerNumber","precinctCodeblocks","subbands","LayerResolutionComponentPositionIterator","tileIndex","codingStyleDefaultParameters","maxDecompositionLevelsCount","nextPacket","JpxImage_nextPacket","resolutions","packet","ResolutionLayerComponentPositionIterator","ResolutionPositionComponentLayerIterator","maxNumPrecinctsInLevel","maxNumPrecincts","PositionComponentResolutionLayerIterator","getPrecinctSizesInImageScale","precinctsIterationSizes","px","py","maxNumHigh","maxNumWide","sizeInImageScale","getPrecinctIndexIfExist","ComponentPositionResolutionLayerIterator","pxIndex","pyIndex","precinctIterationSizes","posX","minWidth","posY","minHeight","startPrecinctRowIndex","MAX_VALUE","sizePerComponent","sizePerResolution","minWidthCurrentComponent","minHeightCurrentComponent","maxNumWideCurrentComponent","maxNumHighCurrentComponent","scale","widthCurrentResolution","heightCurrentResolution","blocksDimensions","bscale","resolutionSubbands","packetsIterator","bufferSize","skipNextBit","skipMarkerIfEqual","skipBytes","alignToByte","readCodingpasses","queue","codeblockColumn","codeblockRow","codeblockIncluded","firstTimeInclusion","valueReady","zeroBitPlanesTree","included","inclusionTree","InclusionTree","TagTree","nextLevel","incrementValue","zeroBitPlanes","codingpasses","codingpassesLog2","codedDataLength","packetItem","copyCoefficients","coefficients","levelWidth","levelHeight","delta","mb","reversible","right","bottom","blockWidth","blockHeight","bitModel","BitModel","currentCodingpassType","totalLength","dataItem","encodedData","setDecoder","runSignificancePropagationPass","runMagnitudeRefinementPass","runCleanupPass","checkSegmentationSymbol","coefficentsSign","magnitude","coefficentsMagnitude","bitsDecoded","magnitudeCorrection","nb","interleave","levelOffset","transformTile","quantizationParameters","ReversibleTransform","IrreversibleTransform","subbandCoefficients","gainLog2","items","calculate","left","top","resultImages","transformedTiles","tile0","fourComponents","y0items","y1items","y2items","y3items","component0","alpha01","qcdOrQcc","levelsLength","levels","currentLevel","defaultValue","stopValue","propagateValues","levelIndex","currentValue","UNIFORM_CONTEXT","RUNLENGTH_CONTEXT","LLAndLHContextsLabel","HLContextLabel","HHContextLabel","contextLabelTable","coefficientCount","neighborsSignificance","processingFlags","setNeighborsSignificance","column","labels","processedInverseMask","processedMask","firstMagnitudeBitMask","i1","decision","decodeSignBit","contribution","sign0","sign1","significance1","decoded","horizontalContribution","width4","index0","indexNext","significance","oneRowDown","twoRowsDown","threeRowsDown","iNext","indexBase","checkAllEmpty","allEmpty","hasSignificantCoefficent","i2","Transform","u0","ll","extend","j1","j2","filter","hl_lh_hh","llWidth","llHeight","llItems","u","bufferPadding","rowBuffer","numBuffers","colBuffers","currentBuffer","alpha","beta","gamma","K_","_jbig","_jpg","_jpx","pdfjsVersion","pdfjsBuild"],"sourceRoot":""}