{"version":3,"file":"pdf.js","mappings":"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","sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/src/shared/compatibility.js","webpack://pdfjs-dist/build/pdf/src/shared/is_node.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/base_factory.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/optional_content_config.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_text.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/shared/scripting_utils.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_layer.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/src/pdf.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = factory();\n})(this, function() {\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\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\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 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\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 AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\",\n};\n\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\",\n};\n\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\",\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 StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\", // PDF short name is 'RL', but telemetry requires three chars.\n};\n\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1STANDARD: \"TYPE1STANDARD\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\",\n};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2,\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 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 /** @deprecated unused */\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 UNSUPPORTED_FEATURES = {\n /** @deprecated unused */\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n /** @deprecated unused */\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\",\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 have the same origin. For non-HTTP based URLs, returns false.\nfunction isSameOrigin(baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\n// Checks if URLs use one of the allowed protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\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 && 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 (ex) {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\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: true,\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 (\n typeof bytes !== \"object\" ||\n bytes === null ||\n bytes.length === undefined\n ) {\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\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\n// eslint-disable-next-line consistent-return\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n if (arr.byteLength !== undefined) {\n return arr.byteLength;\n }\n unreachable(\"Invalid argument for arrayByteLength\");\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array|Uint8Array|string>} arr - the array of the arrays\n * (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n const length = arr.length;\n // Shortcut: if first and only item is Uint8Array, return it.\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n let resultLength = 0;\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n let pos = 0;\n const data = new Uint8Array(resultLength);\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\n\nfunction string32(value) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\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}\nconst IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n },\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 (e) {\n return false;\n }\n}\nconst IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\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 // 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 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.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 // Apply a generic 3d matrix M on a 3-vector v:\n // | a b c | | X |\n // | d e f | x | Y |\n // | g h i | | Z |\n // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n // with v as [X,Y,Z]\n static apply3dTransform(m, v) {\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n m[6] * v[0] + m[7] * v[1] + m[8] * v[2],\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 'false'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n // Order points along the axes\n const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n const result = [];\n\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n // X: first and second points belong to different rectangles?\n if (\n (orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])\n ) {\n // Intersection must be between second and third points\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n // Y: first and second points belong to different rectangles?\n if (\n (orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])\n ) {\n // Intersection must be between second and third points\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\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 escapeString(str) {\n // replace \"(\", \")\", \"\\n\", \"\\r\" and \"\\\"\n // by \"\\(\", \"\\)\", \"\\\\n\", \"\\\\r\" and \"\\\\\"\n // in order to write it in a PDF file.\n return str.replace(/([()\\\\\\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 isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\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 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 !== null && 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\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @returns {PromiseCapability}\n */\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n },\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationMode,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n arrayByteLength,\n arraysToBytes,\n assert,\n BaseException,\n bytesToString,\n CMapCompressionType,\n createPromiseCapability,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n escapeString,\n FONT_IDENTITY_MATRIX,\n FontType,\n FormatError,\n getModificationDate,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isAscii,\n IsEvalSupportedCached,\n IsLittleEndianCached,\n isSameOrigin,\n MissingPDFException,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n StreamType,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF16BEString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n UNSUPPORTED_FEATURES,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\n};\n","/* Copyright 2017 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 __non_webpack_require__ */\n\nimport { isNodeJS } from \"./is_node.js\";\n\n// Skip compatibility checks for modern builds and if we already ran the module.\nif (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"SKIP_BABEL\")) &&\n !globalThis._pdfjsCompatibilityChecked\n) {\n globalThis._pdfjsCompatibilityChecked = true;\n\n // Support: Node.js\n (function checkNodeBtoa() {\n if (globalThis.btoa || !isNodeJS) {\n return;\n }\n globalThis.btoa = function (chars) {\n // eslint-disable-next-line no-undef\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n // Support: Node.js\n (function checkNodeAtob() {\n if (globalThis.atob || !isNodeJS) {\n return;\n }\n globalThis.atob = function (input) {\n // eslint-disable-next-line no-undef\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n // Support: Node.js\n (function checkDOMMatrix() {\n if (globalThis.DOMMatrix || !isNodeJS) {\n return;\n }\n globalThis.DOMMatrix = require(\"dommatrix/dist/dommatrix.js\");\n })();\n\n // Provides support for *recent* additions to the Promise specification,\n // however basic Promise support is assumed to be available natively.\n // Support: Firefox<71, Chrome<76, Safari<13, Node.js<12.9.0\n (function checkPromise() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `Promise` shouldn't\n // need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.Promise.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: Node.js\n (function checkReadableStream() {\n if (globalThis.ReadableStream || !isNodeJS) {\n return;\n }\n globalThis.ReadableStream = __non_webpack_require__(\n \"web-streams-polyfill/dist/ponyfill.js\"\n ).ReadableStream;\n })();\n\n // Support: Firefox<94, Chrome<98, Safari<15.4, Node.js<17.0.0\n (function checkStructuredClone() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `structuredClone`\n // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.structuredClone) {\n return;\n }\n require(\"core-js/web/structured-clone.js\");\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/* 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 process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nexport { isNodeJS };\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/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n AnnotationMode,\n assert,\n createPromiseCapability,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isSameOrigin,\n MissingPDFException,\n PasswordException,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMStandardFontDataFactory,\n isDataScheme,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory,\n} from \"./node_utils.js\";\nimport { AnnotationStorage } from \"./annotation_storage.js\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { XfaText } from \"./xfa_text.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\nconst DefaultCanvasFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCanvasFactory\n : DOMCanvasFactory;\nconst DefaultCMapReaderFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCMapReaderFactory\n : DOMCMapReaderFactory;\nconst DefaultStandardFontDataFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeStandardFontDataFactory\n : DOMStandardFontDataFactory;\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params - The document initialization\n * parameters. The \"url\" key is always present.\n * @returns {Promise} A promise, which is resolved with an instance of\n * {IPDFStream}.\n * @ignore\n */\n\n/**\n * @type {IPDFStreamFactory}\n * @private\n */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates an {IPDFStream} as an alternative PDF\n * data transport.\n *\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - The factory function\n * that takes document initialization parameters (including a \"url\") and\n * returns a promise which is resolved with an instance of {IPDFStream}.\n * @ignore\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string|URL} [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use\n * typed arrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use `atob()` to convert it to a binary string first.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is `false`.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {TypedArray} [initialData] - A typed array with the first portion\n * or all of the pdf data. Used by the extension since some data is already\n * loaded before the switch to range requests.\n * @property {number} [length] - The PDF file length. It's used for progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} [range] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't\n * embedded in the PDF document will fallback to a system font.\n * The default value is `true` in web environments and `false` in Node.js;\n * unless `disableFontFace === true` in which case this defaults to `false`\n * regardless of the environment (to prevent completely broken fonts).\n * @property {string} [standardFontDataUrl] - The URL where the standard font\n * files are located. Include the trailing slash.\n * @property {Object} [StandardFontDataFactory] - The factory that will be used\n * when reading the standard font files. Providing a custom factory is useful\n * for environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMStandardFontDataFactory}.\n * @property {boolean} [useWorkerFetch] - Enable using the Fetch API in the\n * worker-thread when reading CMap and standard font files. When `true`,\n * the `CMapReaderFactory` and `StandardFontDataFactory` options are ignored.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via the Font Loading API or `@font-face` rules.\n * If disabled, fonts will be rendered using a built-in font renderer that\n * constructs the glyphs with primitive path commands.\n * The default value is `false` in web environments and `true` in Node.js.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string|URL|TypedArray|PDFDataRangeTransport|DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === \"string\" || src instanceof URL) {\n source = { url: src };\n } else if (isArrayBuffer(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\n \"Invalid parameter in getDocument, \" +\n \"need either string, URL, Uint8Array, or parameter object.\"\n );\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n source = src;\n }\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n // The full path is required in the 'url' field.\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n warn(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString(); // Support Node.js environments.\n continue;\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n case \"range\":\n rangeTransport = value;\n continue;\n case \"worker\":\n worker = value;\n continue;\n case \"data\":\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n value instanceof Buffer // eslint-disable-line no-undef\n ) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break; // Use the data as-is when it's already a Uint8Array.\n } else if (typeof value === \"string\") {\n params[key] = stringToBytes(value);\n } else if (\n typeof value === \"object\" &&\n value !== null &&\n !isNaN(value.length)\n ) {\n params[key] = new Uint8Array(value);\n } else if (isArrayBuffer(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\n \"Invalid PDF binary data: either typed array, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n }\n continue;\n }\n params[key] = value;\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory =\n params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory =\n params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (\n typeof params.docBaseUrl !== \"string\" ||\n isDataScheme(params.docBaseUrl)\n ) {\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n params.docBaseUrl = null;\n }\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch =\n params.CMapReaderFactory === DOMCMapReaderFactory &&\n params.StandardFontDataFactory === DOMStandardFontDataFactory;\n }\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS;\n }\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts =\n !(\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n isNodeJS\n ) && !params.disableFontFace;\n }\n if (typeof params.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docId = task.docId;\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(\n worker,\n params,\n rangeTransport,\n docId\n );\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n },\n rangeTransport\n );\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n });\n }\n resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n params\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId - Unique document ID, used in `MessageHandler`.\n * @returns {Promise} A promise that is resolved when the worker ID of\n * the `MessageHandler` is known.\n * @private\n */\nasync function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n source.contentDispositionFilename =\n pdfDataRangeTransport.contentDispositionFilename;\n }\n const workerId = await worker.messageHandler.sendWithPromise(\n \"GetDocRequest\",\n {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n // Only send the required properties, and *not* the entire object.\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length,\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch\n ? source.standardFontDataUrl\n : null,\n }\n );\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\n\n/**\n * @typedef {Object} OnProgressParameters\n * @property {number} loaded - Currently loaded number of bytes.\n * @property {number} total - Total number of bytes in the PDF file.\n */\n\n/**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\nclass PDFDocumentLoadingTask {\n static get idCounters() {\n return shadow(this, \"idCounters\", { doc: 0 });\n }\n\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = `d${PDFDocumentLoadingTask.idCounters.doc++}`;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar).\n * The callback receives an {@link OnProgressParameters} argument.\n * @type {function}\n */\n this.onProgress = null;\n\n /**\n * Callback for when an unsupported feature is used in the PDF document.\n * The callback receives an {@link UNSUPPORTED_FEATURES} argument.\n * @type {function}\n */\n this.onUnsupportedFeature = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Abort all network requests and destroy the worker.\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\n\n/**\n * Abstract class to support range requests file loading.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = createPromiseCapability();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a `PDFDocument` in the worker thread.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n Object.defineProperty(this, \"fingerprint\", {\n get() {\n deprecated(\n \"`PDFDocumentProxy.fingerprint`, \" +\n \"please use `PDFDocumentProxy.fingerprints` instead.\"\n );\n return this.fingerprints[0];\n },\n });\n\n Object.defineProperty(this, \"getStats\", {\n value: async () => {\n deprecated(\n \"`PDFDocumentProxy.getStats`, \" +\n \"please use the `PDFDocumentProxy.stats`-getter instead.\"\n );\n return this.stats || { streamTypes: {}, fontTypes: {} };\n },\n });\n }\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {Array} A (not guaranteed to be) unique ID to\n * identify the PDF document.\n * NOTE: The first element will always be defined for all PDF documents,\n * whereas the second element is only defined for *modified* PDF documents.\n */\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n /**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the\n * document (an item is set to true if specific stream ID was used in the\n * document).\n * @property {Object} fontTypes - Used font types in the\n * document (an item is set to true if specific font ID was used in the\n * document).\n */\n\n /**\n * @type {PDFDocumentStats | null} The current statistics about document\n * structures, or `null` when no statistics exists.\n */\n get stats() {\n return this._transport.stats;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return !!this._transport._htmlForXfa;\n }\n\n /**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n *\n * @type {Object | null} An object representing a HTML tree structure\n * to render the XFA, or `null` when no XFA form exists.\n */\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting from zero, that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise>>} A promise that is resolved\n * with a mapping from named destinations to references.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise | null>} A promise that is resolved with all\n * information of the given named destination, or `null` when the named\n * destination is not present in the PDF file.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} containing the page labels that correspond to the page\n * indexes, or `null` when no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} containing the viewer preferences, or `null` when no viewer\n * preferences are present in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array}\n * containing the destination, or `null` when no open action is present\n * in the PDF.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table\n * for mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} of all the JavaScript strings in the name tree, or `null`\n * if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with the JavaScript actions:\n * - from the name tree (like getJavaScript);\n * - from A or AA entries in the catalog dictionary.\n * , or `null` if no JavaScript exists.\n */\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n /**\n * @typedef {Object} OutlineNode\n * @property {string} title\n * @property {boolean} bold\n * @property {boolean} italic\n * @property {Uint8ClampedArray} color - The color in RGB format to use for\n * display purposes.\n * @property {string | Array | null} dest\n * @property {string | null} url\n * @property {string | undefined} unsafeUrl\n * @property {boolean | undefined} newWindow\n * @property {number | undefined} count\n * @property {Array} items\n */\n\n /**\n * @returns {Promise>} A promise that is resolved with an\n * {Array} that is a tree outline (if it has one) of the PDF file.\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {@link OptionalContentConfig} that contains all the optional content\n * groups (assuming that the document has any).\n */\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} that contains the permission flags for the PDF document, or\n * `null` when no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise<{ info: Object, metadata: Metadata }>} A promise that is\n * resolved with an {Object} that has `info` and `metadata` properties.\n * `info` is an {Object} filled with anything available in the information\n * dictionary and similarly `metadata` is a {Metadata} object with\n * information from the metadata section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @typedef {Object} MarkInfo\n * Properties correspond to Table 321 of the PDF 32000-1:2008 spec.\n * @property {boolean} Marked\n * @property {boolean} UserProperties\n * @property {boolean} Suspects\n */\n\n /**\n * @returns {Promise} A promise that is resolved with\n * a {MarkInfo} object that contains the MarkInfo flags for the PDF\n * document, or `null` when no MarkInfo values are present in the PDF file.\n */\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {TypedArray} that has the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise<{ length: number }>} A promise that is resolved when the\n * document's data is loaded. It is resolved with an {Object} that contains\n * the `length` property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * Cleans up resources allocated by the document on both the main and worker\n * threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @param {boolean} [keepLoadedFonts] - Let fonts remain attached to the DOM.\n * NOTE: This will increase persistent memory usage, hence don't use this\n * option unless absolutely necessary. The default value is `false`.\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {DocumentInitParameters} A subset of the current\n * {DocumentInitParameters}, which are needed in the viewer.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the full data of the saved document.\n */\n saveDocument() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n this._transport.annotationStorage.size <= 0\n ) {\n deprecated(\n \"saveDocument called while `annotationStorage` is empty, \" +\n \"please use the getData-method instead.\"\n );\n }\n return this._transport.saveDocument();\n }\n\n /**\n * @returns {Promise> | null>} A promise that is\n * resolved with an {Object} containing /AcroForm field data for the JS\n * sandbox, or `null` when no field data is present in the PDF file.\n */\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with `true`\n * if some /AcroForm fields have JavaScript actions.\n */\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing IDs of annotations that have a calculation\n * action, or `null` when no such annotations are present in the PDF file.\n */\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} disableCombineTextItems - Do not attempt to combine\n * same line {@link TextItem}'s. The default value is `false`.\n * @property {boolean} [includeMarkedContent] - When true include marked\n * content items in the items array of TextContent. The default is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {Array} items - Array of\n * {@link TextItem} and {@link TextMarkedContent} objects. TextMarkedContent\n * items are included when includeMarkedContent is true.\n * @property {Object} styles - {@link TextStyle} objects,\n * indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - Text content.\n * @property {string} dir - Text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {Array} transform - Transformation matrix.\n * @property {number} width - Width in device space.\n * @property {number} height - Height in device space.\n * @property {string} fontName - Font name used by PDF.js for converted font.\n * @property {boolean} hasEOL - Indicating if the text content is followed by a\n * line-break.\n */\n\n/**\n * Page text marked content part.\n *\n * @typedef {Object} TextMarkedContent\n * @property {string} type - Either 'beginMarkedContent',\n * 'beginMarkedContentProps', or 'endMarkedContent'.\n * @property {string} id - The marked content identifier. Only used for type\n * 'beginMarkedContentProps'.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - Font ascent.\n * @property {number} descent - Font descent.\n * @property {boolean} vertical - Whether or not the text is in vertical mode.\n * @property {string} fontFamily - The possible font family.\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} [intent] - Determines the annotations that are fetched,\n * can be 'display' (viewable annotations), 'print' (printable annotations),\n * or 'any' (all annotations). The default value is 'display'.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {Object} canvasContext - A 2D context of a DOM Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by calling\n * the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are rendered\n * onto the canvas, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {Array} [transform] - Additional transform, applied just\n * before viewport transform.\n * @property {Object} [imageLayer] - An object that has `beginLayout`,\n * `endLayout` and `appendImage` functions.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object | string} [background] - Background to use for the canvas.\n * Any valid `canvas.fillStyle` can be used: a `DOMString` parsed as CSS\n * value, a `CanvasGradient` object (a linear or radial gradient) or\n * a `CanvasPattern` object (a repetitive image). The default value is\n * 'rgb(255,255,255)'.\n * @property {Promise} [optionalContentConfigPromise] -\n * A promise that should resolve with an {@link OptionalContentConfig}\n * created from `PDFDocumentProxy.getOptionalContentConfig`. If `null`,\n * the configuration will be fetched automatically with the default visibility\n * states set.\n * @property {Map} [annotationCanvasMap] - Map some\n * annotation ids with canvases used to render them.\n */\n\n/**\n * Page getOperatorList parameters.\n *\n * @typedef {Object} GetOperatorListParameters\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are included\n * in the operatorList, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n */\n\n/**\n * Structure tree node. The root node will have a role \"Root\".\n *\n * @typedef {Object} StructTreeNode\n * @property {Array} children - Array of\n * {@link StructTreeNode} and {@link StructTreeContent} objects.\n * @property {string} role - element's role, already mapped if a role map exists\n * in the PDF.\n */\n\n/**\n * Structure tree content.\n *\n * @typedef {Object} StructTreeContent\n * @property {string} type - either \"content\" for page and stream structure\n * elements or \"object\" for object references.\n * @property {string} id - unique id that will map to the text layer.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a `PDFPage` in the worker thread.\n */\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n /** @type {PDFObjects} */\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this._annotationPromises = new Map();\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {RefProxy | null} The reference that points to this page.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in\n * user space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise>} A promise that is resolved with an\n * {Array} of the annotation objects.\n */\n getAnnotations({ intent = \"display\" } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n let promise = this._annotationPromises.get(intentArgs.cacheKey);\n if (!promise) {\n promise = this._transport.getAnnotations(\n this._pageIndex,\n intentArgs.renderingIntent\n );\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n promise = promise.then(annotations => {\n for (const annotation of annotations) {\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get() {\n deprecated(\n \"`title`-property on annotation, please use `titleObj` instead.\"\n );\n return annotation.titleObj.str;\n },\n });\n }\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get() {\n deprecated(\n \"`contents`-property on annotation, please use `contentsObj` instead.\"\n );\n return annotation.contentsObj.str;\n },\n });\n }\n }\n return annotations;\n });\n }\n }\n return promise;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} with JS actions.\n */\n getJSActions() {\n return (this._jsActionsPromise ||= this._transport.getPageJSActions(\n this._pageIndex\n ));\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with a fake DOM object (a tree structure where elements\n * are {Object} with a name, attributes (class, style, ...), value and\n * children, very similar to a HTML DOM tree), or `null` if no XFA exists.\n */\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n *\n * @param {RenderParameters} params - Page render parameters.\n * @returns {RenderTask} An object that contains a promise that is\n * resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n }) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n if (arguments[0]?.renderInteractiveForms !== undefined) {\n deprecated(\n \"render no longer accepts the `renderInteractiveForms`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].renderInteractiveForms === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_FORMS;\n }\n }\n if (arguments[0]?.includeAnnotationStorage !== undefined) {\n deprecated(\n \"render no longer accepts the `includeAnnotationStorage`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].includeAnnotationStorage === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_STORAGE;\n }\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode\n );\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render.\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance =\n canvasFactory ||\n new DefaultCanvasFactory({ ownerDocument: this._ownerDocument });\n const intentPrint = !!(\n intentArgs.renderingIntent & RenderingIntentFlag.PRINT\n );\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = createPromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup once rendering has finished (regardless of cleanupAfterRender).\n if (this.cleanupAfterRender || intentPrint) {\n this.pendingCleanup = true;\n }\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error),\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n });\n\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n Promise.all([\n intentState.displayReadyCapability.promise,\n optionalContentConfigPromise,\n ])\n .then(([transparency, optionalContentConfig]) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig,\n });\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @param {GetOperatorListParameters} params - Page getOperatorList\n * parameters.\n * @returns {Promise} A promise resolved with an\n * {@link PDFOperatorList} object that represents the page's operator list.\n */\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n /* isOpList = */ true\n );\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = createPromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} Stream for reading text content chunks.\n */\n streamTextContent({\n disableCombineTextItems = false,\n includeMarkedContent = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} A promise that is resolved with a\n * {@link TextContent} object that represents the page's text content.\n */\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n // TODO: We need to revisit this once the XFA foreground patch lands and\n // only do this for non-foreground XFA.\n return this.getXfa().then(xfa => {\n return XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {@link StructTreeNode} object that represents the page's structure tree,\n * or `null` when no structure tree is present for the current page.\n */\n getStructTree() {\n return (this._structTreePromise ||= this._transport.getStructTree(\n this._pageIndex\n ));\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intentState.opListReadCapability) {\n // Avoid errors below, since the renderTasks are just stubs.\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n *\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @private\n */\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup) {\n return false;\n }\n for (const { renderTasks, operatorList } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n if (resetStats && this._stats) {\n this._stats = new StatTimer();\n }\n this.pendingCleanup = false;\n return true;\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n /**\n * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList({ renderingIntent, cacheKey }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n Number.isInteger(renderingIntent) && renderingIntent > 0,\n '_pumpOperatorList: Expected valid \"renderingIntent\" argument.'\n );\n }\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage:\n renderingIntent & RenderingIntentFlag.ANNOTATIONS_STORAGE\n ? this._transport.annotationStorage.serializable\n : null,\n }\n );\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n }\n );\n };\n pump();\n }\n\n /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n reason instanceof Error,\n '_abortOperatorList: Expected valid \"reason\" argument.'\n );\n }\n\n if (!intentState.streamReader) {\n return;\n }\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.size > 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({ intentState, reason, force: true });\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n intentState.streamReader\n .cancel(new AbortException(reason.message))\n .catch(() => {\n // Avoid \"Uncaught promise\" messages in the console.\n });\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {Object} Returns page stats, if enabled; returns `null` otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n constructor() {\n this._listeners = [];\n this._deferred = Promise.resolve();\n }\n\n postMessage(obj, transfers) {\n const event = {\n data:\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"SKIP_BABEL\") ||\n transfers\n ? structuredClone(obj, transfers)\n : structuredClone(obj),\n };\n\n this._deferred.then(() => {\n for (const listener of this._listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Object} [port] - The `workerPort` object.\n * @property {number} [verbosity] - Controls the logging level;\n * the constants from {@link VerbosityLevel} should be used.\n */\n\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0,\n};\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n PDFWorkerUtil.isWorkerDisabled = true;\n\n PDFWorkerUtil.fallbackWorkerSrc = PDFJSDev.test(\"LIB\")\n ? \"../pdf.worker.js\"\n : \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n // We will rely on blob URL's property to specify origin.\n // We want this function to fail in case if createObjectURL or Blob do not\n // exist or fail for some reason -- our Worker creation will fail anyway.\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\n/**\n * PDF.js web worker abstraction that controls the instantiation of PDF\n * documents. Message handlers are used to pass information from the main\n * thread to the worker thread and vice versa. If the creation of a web\n * worker is not possible, a \"fake\" worker will be used instead.\n *\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\nclass PDFWorker {\n static get _workerPorts() {\n return shadow(this, \"_workerPorts\", new WeakMap());\n }\n\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\n } = {}) {\n if (port && PDFWorker._workerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n\n this._readyCapability = createPromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n PDFWorker._workerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n /**\n * Promise for worker initialization completion.\n * @type {Promise}\n */\n get promise() {\n return this._readyCapability.promise;\n }\n\n /**\n * The current `workerPort`, when it exists.\n * @type {Worker}\n */\n get port() {\n return this._port;\n }\n\n /**\n * The current MessageHandler-instance.\n * @type {MessageHandler}\n */\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {\n // Ignoring \"ready\" event -- MessageHandler should already be initialized\n // and ready to accept messages.\n });\n this._readyCapability.resolve();\n }\n\n _initialize() {\n // If worker support isn't disabled explicit and the browser has worker\n // support, create a new web worker and test if it/the browser fulfills\n // all requirements to run parts of pdf.js in a web worker.\n // Right now, the requirement is, that an Uint8Array is still an\n // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n if (\n typeof Worker !== \"undefined\" &&\n !PDFWorkerUtil.isWorkerDisabled &&\n !PDFWorker._mainThreadWorkerMessageHandler\n ) {\n let workerSrc = PDFWorker.workerSrc;\n\n try {\n // Wraps workerSrc path into blob URL, if the former does not belong\n // to the same origin.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n !isSameOrigin(window.location.href, workerSrc)\n ) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(\n new URL(workerSrc, window.location).href\n );\n }\n\n // Some versions of FF can't create a worker on localhost, see:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=683280\n const worker = new Worker(workerSrc);\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n // Fall back to fake worker if the termination is caused by an\n // error (e.g. NetworkError / SecurityError).\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n // Worker failed to initialize due to an error. Clean up and fall\n // back to the fake worker.\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n try {\n sendTest();\n } catch (e) {\n // We need fallback to a faked worker.\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array([255]);\n // Some versions of Opera throw a DATA_CLONE_ERR on serializing the\n // typed array. Also, checking if we can use transfers.\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n warn(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n // It might take time for the worker to initialize. We will try to send\n // the \"test\" message immediately, and once the \"ready\" message arrives.\n // The worker shall process only the first received \"test\" message.\n sendTest();\n return;\n } catch (e) {\n info(\"The worker has been disabled.\");\n }\n }\n // Either workers are disabled, not supported or have thrown an exception.\n // Thus, we fallback to a faked worker.\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal\n .then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n\n // All fake workers use the same port, making id unique.\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n\n // If the main thread is our worker, setup the handling for the\n // messages -- the main thread sends to it self.\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n\n const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n })\n .catch(reason => {\n this._readyCapability.reject(\n new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n );\n });\n }\n\n /**\n * Destroys the worker instance.\n */\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n // We need to terminate only web worker created resource.\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker._workerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n\n /**\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (this._workerPorts.has(params.port)) {\n return this._workerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n\n /**\n * The current `workerSrc`, when it exists.\n * @type {string}\n */\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch (ex) {\n return null;\n }\n }\n\n // Loads worker code into the main-thread.\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a `