diff --git a/README.md b/README.md index f4c77ef..746973f 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,4 @@ PDF.js is community-driven and supported by Mozilla. Main goal is to create a ge ## Changes -Changes made to the pdf.js v3.0.219 legacy prebuild can be seen in https://gitea.rkg.lv/yellowmonarch/pdf.js/commit/2e131f452d0b7de026aafb5ebb4fccc7eba1874e \ No newline at end of file +Changes made to the pdf.js v3.0.219 legacy prebuild can be seen from https://gitea.rkg.lv/yellowmonarch/pdf.js/commit/2e131f452d0b7de026aafb5ebb4fccc7eba1874e \ No newline at end of file diff --git a/build/pdf.js b/build/pdf.js index 473b64c..8009582 100644 --- a/build/pdf.js +++ b/build/pdf.js @@ -19,19727 +19,6 @@ * @licend The above is the entire license notice for the * JavaScript code in this page */ - -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(); - else if(typeof define === 'function' && define.amd) - define("pdfjs-dist/build/pdf", [], factory); - else if(typeof exports === 'object') - exports["pdfjs-dist/build/pdf"] = factory(); - else - root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory(); -})(globalThis, () => { -return /******/ (() => { // webpackBootstrap -/******/ var __webpack_modules__ = ([ -/* 0 */, -/* 1 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.UNSUPPORTED_FEATURES = exports.TextRenderingMode = exports.StreamType = exports.RenderingIntentFlag = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0; -exports.arrayByteLength = arrayByteLength; -exports.arraysToBytes = arraysToBytes; -exports.assert = assert; -exports.bytesToString = bytesToString; -exports.createPromiseCapability = createPromiseCapability; -exports.createValidAbsoluteUrl = createValidAbsoluteUrl; -exports.escapeString = escapeString; -exports.getModificationDate = getModificationDate; -exports.getVerbosityLevel = getVerbosityLevel; -exports.info = info; -exports.isArrayBuffer = isArrayBuffer; -exports.isArrayEqual = isArrayEqual; -exports.isAscii = isAscii; -exports.objectFromMap = objectFromMap; -exports.objectSize = objectSize; -exports.setVerbosityLevel = setVerbosityLevel; -exports.shadow = shadow; -exports.string32 = string32; -exports.stringToBytes = stringToBytes; -exports.stringToPDFString = stringToPDFString; -exports.stringToUTF16BEString = stringToUTF16BEString; -exports.stringToUTF8String = stringToUTF8String; -exports.unreachable = unreachable; -exports.utf8StringToString = utf8StringToString; -exports.warn = warn; -if (!globalThis._pdfjsCompatibilityChecked) { - globalThis._pdfjsCompatibilityChecked = true; - __w_pdfjs_require__(2); -} -const IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0]; -exports.IDENTITY_MATRIX = IDENTITY_MATRIX; -const FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0]; -exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX; -const LINE_FACTOR = 1.35; -exports.LINE_FACTOR = LINE_FACTOR; -const LINE_DESCENT_FACTOR = 0.35; -exports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR; -const RenderingIntentFlag = { - ANY: 0x01, - DISPLAY: 0x02, - PRINT: 0x04, - ANNOTATIONS_FORMS: 0x10, - ANNOTATIONS_STORAGE: 0x20, - ANNOTATIONS_DISABLE: 0x40, - OPLIST: 0x100 -}; -exports.RenderingIntentFlag = RenderingIntentFlag; -const AnnotationMode = { - DISABLE: 0, - ENABLE: 1, - ENABLE_FORMS: 2, - ENABLE_STORAGE: 3 -}; -exports.AnnotationMode = AnnotationMode; -const AnnotationEditorPrefix = "pdfjs_internal_editor_"; -exports.AnnotationEditorPrefix = AnnotationEditorPrefix; -const AnnotationEditorType = { - DISABLE: -1, - NONE: 0, - FREETEXT: 3, - INK: 15 -}; -exports.AnnotationEditorType = AnnotationEditorType; -const AnnotationEditorParamsType = { - FREETEXT_SIZE: 1, - FREETEXT_COLOR: 2, - FREETEXT_OPACITY: 3, - INK_COLOR: 11, - INK_THICKNESS: 12, - INK_OPACITY: 13 -}; -exports.AnnotationEditorParamsType = AnnotationEditorParamsType; -const PermissionFlag = { - PRINT: 0x04, - MODIFY_CONTENTS: 0x08, - COPY: 0x10, - MODIFY_ANNOTATIONS: 0x20, - FILL_INTERACTIVE_FORMS: 0x100, - COPY_FOR_ACCESSIBILITY: 0x200, - ASSEMBLE: 0x400, - PRINT_HIGH_QUALITY: 0x800 -}; -exports.PermissionFlag = PermissionFlag; -const TextRenderingMode = { - FILL: 0, - STROKE: 1, - FILL_STROKE: 2, - INVISIBLE: 3, - FILL_ADD_TO_PATH: 4, - STROKE_ADD_TO_PATH: 5, - FILL_STROKE_ADD_TO_PATH: 6, - ADD_TO_PATH: 7, - FILL_STROKE_MASK: 3, - ADD_TO_PATH_FLAG: 4 -}; -exports.TextRenderingMode = TextRenderingMode; -const ImageKind = { - GRAYSCALE_1BPP: 1, - RGB_24BPP: 2, - RGBA_32BPP: 3 -}; -exports.ImageKind = ImageKind; -const AnnotationType = { - TEXT: 1, - LINK: 2, - FREETEXT: 3, - LINE: 4, - SQUARE: 5, - CIRCLE: 6, - POLYGON: 7, - POLYLINE: 8, - HIGHLIGHT: 9, - UNDERLINE: 10, - SQUIGGLY: 11, - STRIKEOUT: 12, - STAMP: 13, - CARET: 14, - INK: 15, - POPUP: 16, - FILEATTACHMENT: 17, - SOUND: 18, - MOVIE: 19, - WIDGET: 20, - SCREEN: 21, - PRINTERMARK: 22, - TRAPNET: 23, - WATERMARK: 24, - THREED: 25, - REDACT: 26 -}; -exports.AnnotationType = AnnotationType; -const AnnotationStateModelType = { - MARKED: "Marked", - REVIEW: "Review" -}; -exports.AnnotationStateModelType = AnnotationStateModelType; -const AnnotationMarkedState = { - MARKED: "Marked", - UNMARKED: "Unmarked" -}; -exports.AnnotationMarkedState = AnnotationMarkedState; -const AnnotationReviewState = { - ACCEPTED: "Accepted", - REJECTED: "Rejected", - CANCELLED: "Cancelled", - COMPLETED: "Completed", - NONE: "None" -}; -exports.AnnotationReviewState = AnnotationReviewState; -const AnnotationReplyType = { - GROUP: "Group", - REPLY: "R" -}; -exports.AnnotationReplyType = AnnotationReplyType; -const AnnotationFlag = { - INVISIBLE: 0x01, - HIDDEN: 0x02, - PRINT: 0x04, - NOZOOM: 0x08, - NOROTATE: 0x10, - NOVIEW: 0x20, - READONLY: 0x40, - LOCKED: 0x80, - TOGGLENOVIEW: 0x100, - LOCKEDCONTENTS: 0x200 -}; -exports.AnnotationFlag = AnnotationFlag; -const AnnotationFieldFlag = { - READONLY: 0x0000001, - REQUIRED: 0x0000002, - NOEXPORT: 0x0000004, - MULTILINE: 0x0001000, - PASSWORD: 0x0002000, - NOTOGGLETOOFF: 0x0004000, - RADIO: 0x0008000, - PUSHBUTTON: 0x0010000, - COMBO: 0x0020000, - EDIT: 0x0040000, - SORT: 0x0080000, - FILESELECT: 0x0100000, - MULTISELECT: 0x0200000, - DONOTSPELLCHECK: 0x0400000, - DONOTSCROLL: 0x0800000, - COMB: 0x1000000, - RICHTEXT: 0x2000000, - RADIOSINUNISON: 0x2000000, - COMMITONSELCHANGE: 0x4000000 -}; -exports.AnnotationFieldFlag = AnnotationFieldFlag; -const AnnotationBorderStyleType = { - SOLID: 1, - DASHED: 2, - BEVELED: 3, - INSET: 4, - UNDERLINE: 5 -}; -exports.AnnotationBorderStyleType = AnnotationBorderStyleType; -const AnnotationActionEventType = { - E: "Mouse Enter", - X: "Mouse Exit", - D: "Mouse Down", - U: "Mouse Up", - Fo: "Focus", - Bl: "Blur", - PO: "PageOpen", - PC: "PageClose", - PV: "PageVisible", - PI: "PageInvisible", - K: "Keystroke", - F: "Format", - V: "Validate", - C: "Calculate" -}; -exports.AnnotationActionEventType = AnnotationActionEventType; -const DocumentActionEventType = { - WC: "WillClose", - WS: "WillSave", - DS: "DidSave", - WP: "WillPrint", - DP: "DidPrint" -}; -exports.DocumentActionEventType = DocumentActionEventType; -const PageActionEventType = { - O: "PageOpen", - C: "PageClose" -}; -exports.PageActionEventType = PageActionEventType; -const StreamType = { - UNKNOWN: "UNKNOWN", - FLATE: "FLATE", - LZW: "LZW", - DCT: "DCT", - JPX: "JPX", - JBIG: "JBIG", - A85: "A85", - AHX: "AHX", - CCF: "CCF", - RLX: "RLX" -}; -exports.StreamType = StreamType; -const FontType = { - UNKNOWN: "UNKNOWN", - TYPE1: "TYPE1", - TYPE1STANDARD: "TYPE1STANDARD", - TYPE1C: "TYPE1C", - CIDFONTTYPE0: "CIDFONTTYPE0", - CIDFONTTYPE0C: "CIDFONTTYPE0C", - TRUETYPE: "TRUETYPE", - CIDFONTTYPE2: "CIDFONTTYPE2", - TYPE3: "TYPE3", - OPENTYPE: "OPENTYPE", - TYPE0: "TYPE0", - MMTYPE1: "MMTYPE1" -}; -exports.FontType = FontType; -const VerbosityLevel = { - ERRORS: 0, - WARNINGS: 1, - INFOS: 5 -}; -exports.VerbosityLevel = VerbosityLevel; -const CMapCompressionType = { - NONE: 0, - BINARY: 1 -}; -exports.CMapCompressionType = CMapCompressionType; -const OPS = { - dependency: 1, - setLineWidth: 2, - setLineCap: 3, - setLineJoin: 4, - setMiterLimit: 5, - setDash: 6, - setRenderingIntent: 7, - setFlatness: 8, - setGState: 9, - save: 10, - restore: 11, - transform: 12, - moveTo: 13, - lineTo: 14, - curveTo: 15, - curveTo2: 16, - curveTo3: 17, - closePath: 18, - rectangle: 19, - stroke: 20, - closeStroke: 21, - fill: 22, - eoFill: 23, - fillStroke: 24, - eoFillStroke: 25, - closeFillStroke: 26, - closeEOFillStroke: 27, - endPath: 28, - clip: 29, - eoClip: 30, - beginText: 31, - endText: 32, - setCharSpacing: 33, - setWordSpacing: 34, - setHScale: 35, - setLeading: 36, - setFont: 37, - setTextRenderingMode: 38, - setTextRise: 39, - moveText: 40, - setLeadingMoveText: 41, - setTextMatrix: 42, - nextLine: 43, - showText: 44, - showSpacedText: 45, - nextLineShowText: 46, - nextLineSetSpacingShowText: 47, - setCharWidth: 48, - setCharWidthAndBounds: 49, - setStrokeColorSpace: 50, - setFillColorSpace: 51, - setStrokeColor: 52, - setStrokeColorN: 53, - setFillColor: 54, - setFillColorN: 55, - setStrokeGray: 56, - setFillGray: 57, - setStrokeRGBColor: 58, - setFillRGBColor: 59, - setStrokeCMYKColor: 60, - setFillCMYKColor: 61, - shadingFill: 62, - beginInlineImage: 63, - beginImageData: 64, - endInlineImage: 65, - paintXObject: 66, - markPoint: 67, - markPointProps: 68, - beginMarkedContent: 69, - beginMarkedContentProps: 70, - endMarkedContent: 71, - beginCompat: 72, - endCompat: 73, - paintFormXObjectBegin: 74, - paintFormXObjectEnd: 75, - beginGroup: 76, - endGroup: 77, - beginAnnotation: 80, - endAnnotation: 81, - paintImageMaskXObject: 83, - paintImageMaskXObjectGroup: 84, - paintImageXObject: 85, - paintInlineImageXObject: 86, - paintInlineImageXObjectGroup: 87, - paintImageXObjectRepeat: 88, - paintImageMaskXObjectRepeat: 89, - paintSolidColorImageMask: 90, - constructPath: 91 -}; -exports.OPS = OPS; -const UNSUPPORTED_FEATURES = { - forms: "forms", - javaScript: "javaScript", - signatures: "signatures", - smask: "smask", - shadingPattern: "shadingPattern", - errorTilingPattern: "errorTilingPattern", - errorExtGState: "errorExtGState", - errorXObject: "errorXObject", - errorFontLoadType3: "errorFontLoadType3", - errorFontState: "errorFontState", - errorFontMissing: "errorFontMissing", - errorFontTranslate: "errorFontTranslate", - errorColorSpace: "errorColorSpace", - errorOperatorList: "errorOperatorList", - errorFontToUnicode: "errorFontToUnicode", - errorFontLoadNative: "errorFontLoadNative", - errorFontBuildPath: "errorFontBuildPath", - errorFontGetPath: "errorFontGetPath", - errorMarkedContent: "errorMarkedContent", - errorContentSubStream: "errorContentSubStream" -}; -exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES; -const PasswordResponses = { - NEED_PASSWORD: 1, - INCORRECT_PASSWORD: 2 -}; -exports.PasswordResponses = PasswordResponses; -let verbosity = VerbosityLevel.WARNINGS; -function setVerbosityLevel(level) { - if (Number.isInteger(level)) { - verbosity = level; - } -} -function getVerbosityLevel() { - return verbosity; -} -function info(msg) { - if (verbosity >= VerbosityLevel.INFOS) { - console.log(`Info: ${msg}`); - } -} -function warn(msg) { - if (verbosity >= VerbosityLevel.WARNINGS) { - console.log(`Warning: ${msg}`); - } -} -function unreachable(msg) { - throw new Error(msg); -} -function assert(cond, msg) { - if (!cond) { - unreachable(msg); - } -} -function _isValidProtocol(url) { - if (!url) { - return false; - } - switch (url.protocol) { - case "http:": - case "https:": - case "ftp:": - case "mailto:": - case "tel:": - return true; - default: - return false; - } -} -function createValidAbsoluteUrl(url) { - let baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - if (!url) { - return null; - } - try { - if (options && typeof url === "string") { - if (options.addDefaultProtocol && url.startsWith("www.")) { - const dots = url.match(/\./g); - if (dots && dots.length >= 2) { - url = `http://${url}`; - } - } - if (options.tryConvertEncoding) { - try { - url = stringToUTF8String(url); - } catch (ex) {} - } - } - const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url); - if (_isValidProtocol(absoluteUrl)) { - return absoluteUrl; - } - } catch (ex) {} - return null; -} -function shadow(obj, prop, value) { - Object.defineProperty(obj, prop, { - value, - enumerable: true, - configurable: true, - writable: false - }); - return value; -} -const BaseException = function BaseExceptionClosure() { - function BaseException(message, name) { - if (this.constructor === BaseException) { - unreachable("Cannot initialize BaseException."); - } - this.message = message; - this.name = name; - } - BaseException.prototype = new Error(); - BaseException.constructor = BaseException; - return BaseException; -}(); -exports.BaseException = BaseException; -class PasswordException extends BaseException { - constructor(msg, code) { - super(msg, "PasswordException"); - this.code = code; - } -} -exports.PasswordException = PasswordException; -class UnknownErrorException extends BaseException { - constructor(msg, details) { - super(msg, "UnknownErrorException"); - this.details = details; - } -} -exports.UnknownErrorException = UnknownErrorException; -class InvalidPDFException extends BaseException { - constructor(msg) { - super(msg, "InvalidPDFException"); - } -} -exports.InvalidPDFException = InvalidPDFException; -class MissingPDFException extends BaseException { - constructor(msg) { - super(msg, "MissingPDFException"); - } -} -exports.MissingPDFException = MissingPDFException; -class UnexpectedResponseException extends BaseException { - constructor(msg, status) { - super(msg, "UnexpectedResponseException"); - this.status = status; - } -} -exports.UnexpectedResponseException = UnexpectedResponseException; -class FormatError extends BaseException { - constructor(msg) { - super(msg, "FormatError"); - } -} -exports.FormatError = FormatError; -class AbortException extends BaseException { - constructor(msg) { - super(msg, "AbortException"); - } -} -exports.AbortException = AbortException; -function bytesToString(bytes) { - if (typeof bytes !== "object" || bytes === null || bytes.length === undefined) { - unreachable("Invalid argument for bytesToString"); - } - const length = bytes.length; - const MAX_ARGUMENT_COUNT = 8192; - if (length < MAX_ARGUMENT_COUNT) { - return String.fromCharCode.apply(null, bytes); - } - const strBuf = []; - for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) { - const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length); - const chunk = bytes.subarray(i, chunkEnd); - strBuf.push(String.fromCharCode.apply(null, chunk)); - } - return strBuf.join(""); -} -function stringToBytes(str) { - if (typeof str !== "string") { - unreachable("Invalid argument for stringToBytes"); - } - const length = str.length; - const bytes = new Uint8Array(length); - for (let i = 0; i < length; ++i) { - bytes[i] = str.charCodeAt(i) & 0xff; - } - return bytes; -} -function arrayByteLength(arr) { - if (arr.length !== undefined) { - return arr.length; - } - if (arr.byteLength !== undefined) { - return arr.byteLength; - } - unreachable("Invalid argument for arrayByteLength"); -} -function arraysToBytes(arr) { - const length = arr.length; - if (length === 1 && arr[0] instanceof Uint8Array) { - return arr[0]; - } - let resultLength = 0; - for (let i = 0; i < length; i++) { - resultLength += arrayByteLength(arr[i]); - } - let pos = 0; - const data = new Uint8Array(resultLength); - for (let i = 0; i < length; i++) { - let item = arr[i]; - if (!(item instanceof Uint8Array)) { - if (typeof item === "string") { - item = stringToBytes(item); - } else { - item = new Uint8Array(item); - } - } - const itemLength = item.byteLength; - data.set(item, pos); - pos += itemLength; - } - return data; -} -function string32(value) { - return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff); -} -function objectSize(obj) { - return Object.keys(obj).length; -} -function objectFromMap(map) { - const obj = Object.create(null); - for (const [key, value] of map) { - obj[key] = value; - } - return obj; -} -function isLittleEndian() { - const buffer8 = new Uint8Array(4); - buffer8[0] = 1; - const view32 = new Uint32Array(buffer8.buffer, 0, 1); - return view32[0] === 1; -} -function isEvalSupported() { - try { - new Function(""); - return true; - } catch (e) { - return false; - } -} -class FeatureTest { - static get isLittleEndian() { - return shadow(this, "isLittleEndian", isLittleEndian()); - } - static get isEvalSupported() { - return shadow(this, "isEvalSupported", isEvalSupported()); - } - static get isOffscreenCanvasSupported() { - return shadow(this, "isOffscreenCanvasSupported", typeof OffscreenCanvas !== "undefined"); - } -} -exports.FeatureTest = FeatureTest; -const hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, "0")); -class Util { - static makeHexColor(r, g, b) { - return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`; - } - static scaleMinMax(transform, minMax) { - let temp; - if (transform[0]) { - if (transform[0] < 0) { - temp = minMax[0]; - minMax[0] = minMax[1]; - minMax[1] = temp; - } - minMax[0] *= transform[0]; - minMax[1] *= transform[0]; - if (transform[3] < 0) { - temp = minMax[2]; - minMax[2] = minMax[3]; - minMax[3] = temp; - } - minMax[2] *= transform[3]; - minMax[3] *= transform[3]; - } else { - temp = minMax[0]; - minMax[0] = minMax[2]; - minMax[2] = temp; - temp = minMax[1]; - minMax[1] = minMax[3]; - minMax[3] = temp; - if (transform[1] < 0) { - temp = minMax[2]; - minMax[2] = minMax[3]; - minMax[3] = temp; - } - minMax[2] *= transform[1]; - minMax[3] *= transform[1]; - if (transform[2] < 0) { - temp = minMax[0]; - minMax[0] = minMax[1]; - minMax[1] = temp; - } - minMax[0] *= transform[2]; - minMax[1] *= transform[2]; - } - minMax[0] += transform[4]; - minMax[1] += transform[4]; - minMax[2] += transform[5]; - minMax[3] += transform[5]; - } - static transform(m1, m2) { - return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]]; - } - static applyTransform(p, m) { - const xt = p[0] * m[0] + p[1] * m[2] + m[4]; - const yt = p[0] * m[1] + p[1] * m[3] + m[5]; - return [xt, yt]; - } - static applyInverseTransform(p, m) { - const d = m[0] * m[3] - m[1] * m[2]; - const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d; - const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d; - return [xt, yt]; - } - static getAxialAlignedBoundingBox(r, m) { - const p1 = Util.applyTransform(r, m); - const p2 = Util.applyTransform(r.slice(2, 4), m); - const p3 = Util.applyTransform([r[0], r[3]], m); - const p4 = Util.applyTransform([r[2], r[1]], m); - return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])]; - } - static inverseTransform(m) { - const d = m[0] * m[3] - m[1] * m[2]; - return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d]; - } - static singularValueDecompose2dScale(m) { - const transpose = [m[0], m[2], m[1], m[3]]; - const a = m[0] * transpose[0] + m[1] * transpose[2]; - const b = m[0] * transpose[1] + m[1] * transpose[3]; - const c = m[2] * transpose[0] + m[3] * transpose[2]; - const d = m[2] * transpose[1] + m[3] * transpose[3]; - const first = (a + d) / 2; - const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2; - const sx = first + second || 1; - const sy = first - second || 1; - return [Math.sqrt(sx), Math.sqrt(sy)]; - } - static normalizeRect(rect) { - const r = rect.slice(0); - if (rect[0] > rect[2]) { - r[0] = rect[2]; - r[2] = rect[0]; - } - if (rect[1] > rect[3]) { - r[1] = rect[3]; - r[3] = rect[1]; - } - return r; - } - static intersect(rect1, rect2) { - const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2])); - const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2])); - if (xLow > xHigh) { - return null; - } - const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3])); - const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3])); - if (yLow > yHigh) { - return null; - } - return [xLow, yLow, xHigh, yHigh]; - } - static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) { - const tvalues = [], - bounds = [[], []]; - let a, b, c, t, t1, t2, b2ac, sqrtb2ac; - for (let i = 0; i < 2; ++i) { - if (i === 0) { - b = 6 * x0 - 12 * x1 + 6 * x2; - a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3; - c = 3 * x1 - 3 * x0; - } else { - b = 6 * y0 - 12 * y1 + 6 * y2; - a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3; - c = 3 * y1 - 3 * y0; - } - if (Math.abs(a) < 1e-12) { - if (Math.abs(b) < 1e-12) { - continue; - } - t = -c / b; - if (0 < t && t < 1) { - tvalues.push(t); - } - continue; - } - b2ac = b * b - 4 * c * a; - sqrtb2ac = Math.sqrt(b2ac); - if (b2ac < 0) { - continue; - } - t1 = (-b + sqrtb2ac) / (2 * a); - if (0 < t1 && t1 < 1) { - tvalues.push(t1); - } - t2 = (-b - sqrtb2ac) / (2 * a); - if (0 < t2 && t2 < 1) { - tvalues.push(t2); - } - } - let j = tvalues.length, - mt; - const jlen = j; - while (j--) { - t = tvalues[j]; - mt = 1 - t; - bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3; - bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3; - } - bounds[0][jlen] = x0; - bounds[1][jlen] = y0; - bounds[0][jlen + 1] = x3; - bounds[1][jlen + 1] = y3; - bounds[0].length = bounds[1].length = jlen + 2; - return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])]; - } -} -exports.Util = Util; -const PDFStringTranslateTable = [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, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac]; -function stringToPDFString(str) { - if (str[0] >= "\xEF") { - let encoding; - if (str[0] === "\xFE" && str[1] === "\xFF") { - encoding = "utf-16be"; - } else if (str[0] === "\xFF" && str[1] === "\xFE") { - encoding = "utf-16le"; - } else if (str[0] === "\xEF" && str[1] === "\xBB" && str[2] === "\xBF") { - encoding = "utf-8"; - } - if (encoding) { - try { - const decoder = new TextDecoder(encoding, { - fatal: true - }); - const buffer = stringToBytes(str); - return decoder.decode(buffer); - } catch (ex) { - warn(`stringToPDFString: "${ex}".`); - } - } - } - const strBuf = []; - for (let i = 0, ii = str.length; i < ii; i++) { - const code = PDFStringTranslateTable[str.charCodeAt(i)]; - strBuf.push(code ? String.fromCharCode(code) : str.charAt(i)); - } - return strBuf.join(""); -} -function escapeString(str) { - return str.replace(/([()\\\n\r])/g, match => { - if (match === "\n") { - return "\\n"; - } else if (match === "\r") { - return "\\r"; - } - return `\\${match}`; - }); -} -function isAscii(str) { - return /^[\x00-\x7F]*$/.test(str); -} -function stringToUTF16BEString(str) { - const buf = ["\xFE\xFF"]; - for (let i = 0, ii = str.length; i < ii; i++) { - const char = str.charCodeAt(i); - buf.push(String.fromCharCode(char >> 8 & 0xff), String.fromCharCode(char & 0xff)); - } - return buf.join(""); -} -function stringToUTF8String(str) { - return decodeURIComponent(escape(str)); -} -function utf8StringToString(str) { - return unescape(encodeURIComponent(str)); -} -function isArrayBuffer(v) { - return typeof v === "object" && v !== null && v.byteLength !== undefined; -} -function isArrayEqual(arr1, arr2) { - if (arr1.length !== arr2.length) { - return false; - } - for (let i = 0, ii = arr1.length; i < ii; i++) { - if (arr1[i] !== arr2[i]) { - return false; - } - } - return true; -} -function getModificationDate() { - let date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); - const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, "0"), date.getUTCDate().toString().padStart(2, "0"), date.getUTCHours().toString().padStart(2, "0"), date.getUTCMinutes().toString().padStart(2, "0"), date.getUTCSeconds().toString().padStart(2, "0")]; - return buffer.join(""); -} -function createPromiseCapability() { - const capability = Object.create(null); - let isSettled = false; - Object.defineProperty(capability, "settled", { - get() { - return isSettled; - } - }); - capability.promise = new Promise(function (resolve, reject) { - capability.resolve = function (data) { - isSettled = true; - resolve(data); - }; - capability.reject = function (reason) { - isSettled = true; - reject(reason); - }; - }); - return capability; -} - -/***/ }), -/* 2 */ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - - -var _is_node = __w_pdfjs_require__(3); -(function checkNodeBtoa() { - if (globalThis.btoa || !_is_node.isNodeJS) { - return; - } - globalThis.btoa = function (chars) { - return Buffer.from(chars, "binary").toString("base64"); - }; -})(); -(function checkNodeAtob() { - if (globalThis.atob || !_is_node.isNodeJS) { - return; - } - globalThis.atob = function (input) { - return Buffer.from(input, "base64").toString("binary"); - }; -})(); -(function checkDOMMatrix() { - if (globalThis.DOMMatrix || !_is_node.isNodeJS) { - return; - } - globalThis.DOMMatrix = require("canvas").DOMMatrix; -})(); -(function checkReadableStream() { - if (globalThis.ReadableStream || !_is_node.isNodeJS) { - return; - } - globalThis.ReadableStream = require("web-streams-polyfill/dist/ponyfill.js").ReadableStream; -})(); -(function checkArrayAt() { - if (Array.prototype.at) { - return; - } - __w_pdfjs_require__(4); -})(); -(function checkTypedArrayAt() { - if (Uint8Array.prototype.at) { - return; - } - __w_pdfjs_require__(79); -})(); -(function checkStructuredClone() { - if (globalThis.structuredClone) { - return; - } - __w_pdfjs_require__(89); -})(); - -/***/ }), -/* 3 */ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.isNodeJS = void 0; -const isNodeJS = typeof process === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser"); -exports.isNodeJS = isNodeJS; - -/***/ }), -/* 4 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -__w_pdfjs_require__(5); -var entryUnbind = __w_pdfjs_require__(78); -module.exports = entryUnbind('Array', 'at'); - -/***/ }), -/* 5 */ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var $ = __w_pdfjs_require__(6); -var toObject = __w_pdfjs_require__(44); -var lengthOfArrayLike = __w_pdfjs_require__(68); -var toIntegerOrInfinity = __w_pdfjs_require__(66); -var addToUnscopables = __w_pdfjs_require__(73); -$({ - target: 'Array', - proto: true -}, { - at: function at(index) { - var O = toObject(this); - var len = lengthOfArrayLike(O); - var relativeIndex = toIntegerOrInfinity(index); - var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; - return k < 0 || k >= len ? undefined : O[k]; - } -}); -addToUnscopables('at'); - -/***/ }), -/* 6 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var global = __w_pdfjs_require__(7); -var getOwnPropertyDescriptor = (__w_pdfjs_require__(8).f); -var createNonEnumerableProperty = __w_pdfjs_require__(48); -var defineBuiltIn = __w_pdfjs_require__(52); -var defineGlobalProperty = __w_pdfjs_require__(42); -var copyConstructorProperties = __w_pdfjs_require__(60); -var isForced = __w_pdfjs_require__(72); -module.exports = function (options, source) { - var TARGET = options.target; - var GLOBAL = options.global; - var STATIC = options.stat; - var FORCED, target, key, targetProperty, sourceProperty, descriptor; - if (GLOBAL) { - target = global; - } else if (STATIC) { - target = global[TARGET] || defineGlobalProperty(TARGET, {}); - } else { - target = (global[TARGET] || {}).prototype; - } - if (target) - for (key in source) { - sourceProperty = source[key]; - if (options.dontCallGetSet) { - descriptor = getOwnPropertyDescriptor(target, key); - targetProperty = descriptor && descriptor.value; - } else - targetProperty = target[key]; - FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); - if (!FORCED && targetProperty !== undefined) { - if (typeof sourceProperty == typeof targetProperty) - continue; - copyConstructorProperties(sourceProperty, targetProperty); - } - if (options.sham || targetProperty && targetProperty.sham) { - createNonEnumerableProperty(sourceProperty, 'sham', true); - } - defineBuiltIn(target, key, sourceProperty, options); - } -}; - -/***/ }), -/* 7 */ -/***/ ((module) => { - -var check = function (it) { - return it && it.Math == Math && it; -}; -module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || (function () { - return this; -}()) || Function('return this')(); - -/***/ }), -/* 8 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -var DESCRIPTORS = __w_pdfjs_require__(9); -var call = __w_pdfjs_require__(11); -var propertyIsEnumerableModule = __w_pdfjs_require__(13); -var createPropertyDescriptor = __w_pdfjs_require__(14); -var toIndexedObject = __w_pdfjs_require__(15); -var toPropertyKey = __w_pdfjs_require__(22); -var hasOwn = __w_pdfjs_require__(43); -var IE8_DOM_DEFINE = __w_pdfjs_require__(46); -var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; -exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { - O = toIndexedObject(O); - P = toPropertyKey(P); - if (IE8_DOM_DEFINE) - try { - return $getOwnPropertyDescriptor(O, P); - } catch (error) { - } - if (hasOwn(O, P)) - return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); -}; - -/***/ }), -/* 9 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var fails = __w_pdfjs_require__(10); -module.exports = !fails(function () { - return Object.defineProperty({}, 1, { - get: function () { - return 7; - } - })[1] != 7; -}); - -/***/ }), -/* 10 */ -/***/ ((module) => { - -module.exports = function (exec) { - try { - return !!exec(); - } catch (error) { - return true; - } -}; - -/***/ }), -/* 11 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var NATIVE_BIND = __w_pdfjs_require__(12); -var call = Function.prototype.call; -module.exports = NATIVE_BIND ? call.bind(call) : function () { - return call.apply(call, arguments); -}; - -/***/ }), -/* 12 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var fails = __w_pdfjs_require__(10); -module.exports = !fails(function () { - var test = function () { - }.bind(); - return typeof test != 'function' || test.hasOwnProperty('prototype'); -}); - -/***/ }), -/* 13 */ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - -var $propertyIsEnumerable = {}.propertyIsEnumerable; -var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; -var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); -exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { - var descriptor = getOwnPropertyDescriptor(this, V); - return !!descriptor && descriptor.enumerable; -} : $propertyIsEnumerable; - -/***/ }), -/* 14 */ -/***/ ((module) => { - -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; - -/***/ }), -/* 15 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var IndexedObject = __w_pdfjs_require__(16); -var requireObjectCoercible = __w_pdfjs_require__(20); -module.exports = function (it) { - return IndexedObject(requireObjectCoercible(it)); -}; - -/***/ }), -/* 16 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var uncurryThis = __w_pdfjs_require__(17); -var fails = __w_pdfjs_require__(10); -var classof = __w_pdfjs_require__(18); -var $Object = Object; -var split = uncurryThis(''.split); -module.exports = fails(function () { - return !$Object('z').propertyIsEnumerable(0); -}) ? function (it) { - return classof(it) == 'String' ? split(it, '') : $Object(it); -} : $Object; - -/***/ }), -/* 17 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var classofRaw = __w_pdfjs_require__(18); -var uncurryThisRaw = __w_pdfjs_require__(19); -module.exports = function (fn) { - if (classofRaw(fn) === 'Function') - return uncurryThisRaw(fn); -}; - -/***/ }), -/* 18 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var uncurryThisRaw = __w_pdfjs_require__(19); -var toString = uncurryThisRaw({}.toString); -var stringSlice = uncurryThisRaw(''.slice); -module.exports = function (it) { - return stringSlice(toString(it), 8, -1); -}; - -/***/ }), -/* 19 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var NATIVE_BIND = __w_pdfjs_require__(12); -var FunctionPrototype = Function.prototype; -var call = FunctionPrototype.call; -var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); -module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { - return function () { - return call.apply(fn, arguments); - }; -}; - -/***/ }), -/* 20 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var isNullOrUndefined = __w_pdfjs_require__(21); -var $TypeError = TypeError; -module.exports = function (it) { - if (isNullOrUndefined(it)) - throw $TypeError("Can't call method on " + it); - return it; -}; - -/***/ }), -/* 21 */ -/***/ ((module) => { - -module.exports = function (it) { - return it === null || it === undefined; -}; - -/***/ }), -/* 22 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var toPrimitive = __w_pdfjs_require__(23); -var isSymbol = __w_pdfjs_require__(27); -module.exports = function (argument) { - var key = toPrimitive(argument, 'string'); - return isSymbol(key) ? key : key + ''; -}; - -/***/ }), -/* 23 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var call = __w_pdfjs_require__(11); -var isObject = __w_pdfjs_require__(24); -var isSymbol = __w_pdfjs_require__(27); -var getMethod = __w_pdfjs_require__(34); -var ordinaryToPrimitive = __w_pdfjs_require__(37); -var wellKnownSymbol = __w_pdfjs_require__(38); -var $TypeError = TypeError; -var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); -module.exports = function (input, pref) { - if (!isObject(input) || isSymbol(input)) - return input; - var exoticToPrim = getMethod(input, TO_PRIMITIVE); - var result; - if (exoticToPrim) { - if (pref === undefined) - pref = 'default'; - result = call(exoticToPrim, input, pref); - if (!isObject(result) || isSymbol(result)) - return result; - throw $TypeError("Can't convert object to primitive value"); - } - if (pref === undefined) - pref = 'number'; - return ordinaryToPrimitive(input, pref); -}; - -/***/ }), -/* 24 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var isCallable = __w_pdfjs_require__(25); -var $documentAll = __w_pdfjs_require__(26); -var documentAll = $documentAll.all; -module.exports = $documentAll.IS_HTMLDDA ? function (it) { - return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll; -} : function (it) { - return typeof it == 'object' ? it !== null : isCallable(it); -}; - -/***/ }), -/* 25 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var $documentAll = __w_pdfjs_require__(26); -var documentAll = $documentAll.all; -module.exports = $documentAll.IS_HTMLDDA ? function (argument) { - return typeof argument == 'function' || argument === documentAll; -} : function (argument) { - return typeof argument == 'function'; -}; - -/***/ }), -/* 26 */ -/***/ ((module) => { - -var documentAll = typeof document == 'object' && document.all; -var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined; -module.exports = { - all: documentAll, - IS_HTMLDDA: IS_HTMLDDA -}; - -/***/ }), -/* 27 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var getBuiltIn = __w_pdfjs_require__(28); -var isCallable = __w_pdfjs_require__(25); -var isPrototypeOf = __w_pdfjs_require__(29); -var USE_SYMBOL_AS_UID = __w_pdfjs_require__(30); -var $Object = Object; -module.exports = USE_SYMBOL_AS_UID ? function (it) { - return typeof it == 'symbol'; -} : function (it) { - var $Symbol = getBuiltIn('Symbol'); - return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); -}; - -/***/ }), -/* 28 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var global = __w_pdfjs_require__(7); -var isCallable = __w_pdfjs_require__(25); -var aFunction = function (argument) { - return isCallable(argument) ? argument : undefined; -}; -module.exports = function (namespace, method) { - return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; -}; - -/***/ }), -/* 29 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var uncurryThis = __w_pdfjs_require__(17); -module.exports = uncurryThis({}.isPrototypeOf); - -/***/ }), -/* 30 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var NATIVE_SYMBOL = __w_pdfjs_require__(31); -module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; - -/***/ }), -/* 31 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var V8_VERSION = __w_pdfjs_require__(32); -var fails = __w_pdfjs_require__(10); -module.exports = !!Object.getOwnPropertySymbols && !fails(function () { - var symbol = Symbol(); - return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41; -}); - -/***/ }), -/* 32 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var global = __w_pdfjs_require__(7); -var userAgent = __w_pdfjs_require__(33); -var process = global.process; -var Deno = global.Deno; -var versions = process && process.versions || Deno && Deno.version; -var v8 = versions && versions.v8; -var match, version; -if (v8) { - match = v8.split('.'); - version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); -} -if (!version && userAgent) { - match = userAgent.match(/Edge\/(\d+)/); - if (!match || match[1] >= 74) { - match = userAgent.match(/Chrome\/(\d+)/); - if (match) - version = +match[1]; - } -} -module.exports = version; - -/***/ }), -/* 33 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var getBuiltIn = __w_pdfjs_require__(28); -module.exports = getBuiltIn('navigator', 'userAgent') || ''; - -/***/ }), -/* 34 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var aCallable = __w_pdfjs_require__(35); -var isNullOrUndefined = __w_pdfjs_require__(21); -module.exports = function (V, P) { - var func = V[P]; - return isNullOrUndefined(func) ? undefined : aCallable(func); -}; - -/***/ }), -/* 35 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var isCallable = __w_pdfjs_require__(25); -var tryToString = __w_pdfjs_require__(36); -var $TypeError = TypeError; -module.exports = function (argument) { - if (isCallable(argument)) - return argument; - throw $TypeError(tryToString(argument) + ' is not a function'); -}; - -/***/ }), -/* 36 */ -/***/ ((module) => { - -var $String = String; -module.exports = function (argument) { - try { - return $String(argument); - } catch (error) { - return 'Object'; - } -}; - -/***/ }), -/* 37 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var call = __w_pdfjs_require__(11); -var isCallable = __w_pdfjs_require__(25); -var isObject = __w_pdfjs_require__(24); -var $TypeError = TypeError; -module.exports = function (input, pref) { - var fn, val; - if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) - return val; - if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) - return val; - if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) - return val; - throw $TypeError("Can't convert object to primitive value"); -}; - -/***/ }), -/* 38 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var global = __w_pdfjs_require__(7); -var shared = __w_pdfjs_require__(39); -var hasOwn = __w_pdfjs_require__(43); -var uid = __w_pdfjs_require__(45); -var NATIVE_SYMBOL = __w_pdfjs_require__(31); -var USE_SYMBOL_AS_UID = __w_pdfjs_require__(30); -var WellKnownSymbolsStore = shared('wks'); -var Symbol = global.Symbol; -var symbolFor = Symbol && Symbol['for']; -var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; -module.exports = function (name) { - if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { - var description = 'Symbol.' + name; - if (NATIVE_SYMBOL && hasOwn(Symbol, name)) { - WellKnownSymbolsStore[name] = Symbol[name]; - } else if (USE_SYMBOL_AS_UID && symbolFor) { - WellKnownSymbolsStore[name] = symbolFor(description); - } else { - WellKnownSymbolsStore[name] = createWellKnownSymbol(description); - } - } - return WellKnownSymbolsStore[name]; -}; - -/***/ }), -/* 39 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var IS_PURE = __w_pdfjs_require__(40); -var store = __w_pdfjs_require__(41); -(module.exports = function (key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); -})('versions', []).push({ - version: '3.26.0', - mode: IS_PURE ? 'pure' : 'global', - copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.26.0/LICENSE', - source: 'https://github.com/zloirock/core-js' -}); - -/***/ }), -/* 40 */ -/***/ ((module) => { - -module.exports = false; - -/***/ }), -/* 41 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var global = __w_pdfjs_require__(7); -var defineGlobalProperty = __w_pdfjs_require__(42); -var SHARED = '__core-js_shared__'; -var store = global[SHARED] || defineGlobalProperty(SHARED, {}); -module.exports = store; - -/***/ }), -/* 42 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var global = __w_pdfjs_require__(7); -var defineProperty = Object.defineProperty; -module.exports = function (key, value) { - try { - defineProperty(global, key, { - value: value, - configurable: true, - writable: true - }); - } catch (error) { - global[key] = value; - } - return value; -}; - -/***/ }), -/* 43 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var uncurryThis = __w_pdfjs_require__(17); -var toObject = __w_pdfjs_require__(44); -var hasOwnProperty = uncurryThis({}.hasOwnProperty); -module.exports = Object.hasOwn || function hasOwn(it, key) { - return hasOwnProperty(toObject(it), key); -}; - -/***/ }), -/* 44 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var requireObjectCoercible = __w_pdfjs_require__(20); -var $Object = Object; -module.exports = function (argument) { - return $Object(requireObjectCoercible(argument)); -}; - -/***/ }), -/* 45 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var uncurryThis = __w_pdfjs_require__(17); -var id = 0; -var postfix = Math.random(); -var toString = uncurryThis(1.0.toString); -module.exports = function (key) { - return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); -}; - -/***/ }), -/* 46 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var DESCRIPTORS = __w_pdfjs_require__(9); -var fails = __w_pdfjs_require__(10); -var createElement = __w_pdfjs_require__(47); -module.exports = !DESCRIPTORS && !fails(function () { - return Object.defineProperty(createElement('div'), 'a', { - get: function () { - return 7; - } - }).a != 7; -}); - -/***/ }), -/* 47 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var global = __w_pdfjs_require__(7); -var isObject = __w_pdfjs_require__(24); -var document = global.document; -var EXISTS = isObject(document) && isObject(document.createElement); -module.exports = function (it) { - return EXISTS ? document.createElement(it) : {}; -}; - -/***/ }), -/* 48 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var DESCRIPTORS = __w_pdfjs_require__(9); -var definePropertyModule = __w_pdfjs_require__(49); -var createPropertyDescriptor = __w_pdfjs_require__(14); -module.exports = DESCRIPTORS ? function (object, key, value) { - return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); -} : function (object, key, value) { - object[key] = value; - return object; -}; - -/***/ }), -/* 49 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -var DESCRIPTORS = __w_pdfjs_require__(9); -var IE8_DOM_DEFINE = __w_pdfjs_require__(46); -var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(50); -var anObject = __w_pdfjs_require__(51); -var toPropertyKey = __w_pdfjs_require__(22); -var $TypeError = TypeError; -var $defineProperty = Object.defineProperty; -var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; -var ENUMERABLE = 'enumerable'; -var CONFIGURABLE = 'configurable'; -var WRITABLE = 'writable'; -exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { - anObject(O); - P = toPropertyKey(P); - anObject(Attributes); - if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { - var current = $getOwnPropertyDescriptor(O, P); - if (current && current[WRITABLE]) { - O[P] = Attributes.value; - Attributes = { - configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], - enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], - writable: false - }; - } - } - return $defineProperty(O, P, Attributes); -} : $defineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPropertyKey(P); - anObject(Attributes); - if (IE8_DOM_DEFINE) - try { - return $defineProperty(O, P, Attributes); - } catch (error) { - } - if ('get' in Attributes || 'set' in Attributes) - throw $TypeError('Accessors not supported'); - if ('value' in Attributes) - O[P] = Attributes.value; - return O; -}; - -/***/ }), -/* 50 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var DESCRIPTORS = __w_pdfjs_require__(9); -var fails = __w_pdfjs_require__(10); -module.exports = DESCRIPTORS && fails(function () { - return Object.defineProperty(function () { - }, 'prototype', { - value: 42, - writable: false - }).prototype != 42; -}); - -/***/ }), -/* 51 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var isObject = __w_pdfjs_require__(24); -var $String = String; -var $TypeError = TypeError; -module.exports = function (argument) { - if (isObject(argument)) - return argument; - throw $TypeError($String(argument) + ' is not an object'); -}; - -/***/ }), -/* 52 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var isCallable = __w_pdfjs_require__(25); -var definePropertyModule = __w_pdfjs_require__(49); -var makeBuiltIn = __w_pdfjs_require__(53); -var defineGlobalProperty = __w_pdfjs_require__(42); -module.exports = function (O, key, value, options) { - if (!options) - options = {}; - var simple = options.enumerable; - var name = options.name !== undefined ? options.name : key; - if (isCallable(value)) - makeBuiltIn(value, name, options); - if (options.global) { - if (simple) - O[key] = value; - else - defineGlobalProperty(key, value); - } else { - try { - if (!options.unsafe) - delete O[key]; - else if (O[key]) - simple = true; - } catch (error) { - } - if (simple) - O[key] = value; - else - definePropertyModule.f(O, key, { - value: value, - enumerable: false, - configurable: !options.nonConfigurable, - writable: !options.nonWritable - }); - } - return O; -}; - -/***/ }), -/* 53 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var fails = __w_pdfjs_require__(10); -var isCallable = __w_pdfjs_require__(25); -var hasOwn = __w_pdfjs_require__(43); -var DESCRIPTORS = __w_pdfjs_require__(9); -var CONFIGURABLE_FUNCTION_NAME = (__w_pdfjs_require__(54).CONFIGURABLE); -var inspectSource = __w_pdfjs_require__(55); -var InternalStateModule = __w_pdfjs_require__(56); -var enforceInternalState = InternalStateModule.enforce; -var getInternalState = InternalStateModule.get; -var defineProperty = Object.defineProperty; -var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { - return defineProperty(function () { - }, 'length', { value: 8 }).length !== 8; -}); -var TEMPLATE = String(String).split('String'); -var makeBuiltIn = module.exports = function (value, name, options) { - if (String(name).slice(0, 7) === 'Symbol(') { - name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; - } - if (options && options.getter) - name = 'get ' + name; - if (options && options.setter) - name = 'set ' + name; - if (!hasOwn(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { - if (DESCRIPTORS) - defineProperty(value, 'name', { - value: name, - configurable: true - }); - else - value.name = name; - } - if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { - defineProperty(value, 'length', { value: options.arity }); - } - try { - if (options && hasOwn(options, 'constructor') && options.constructor) { - if (DESCRIPTORS) - defineProperty(value, 'prototype', { writable: false }); - } else if (value.prototype) - value.prototype = undefined; - } catch (error) { - } - var state = enforceInternalState(value); - if (!hasOwn(state, 'source')) { - state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); - } - return value; -}; -Function.prototype.toString = makeBuiltIn(function toString() { - return isCallable(this) && getInternalState(this).source || inspectSource(this); -}, 'toString'); - -/***/ }), -/* 54 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var DESCRIPTORS = __w_pdfjs_require__(9); -var hasOwn = __w_pdfjs_require__(43); -var FunctionPrototype = Function.prototype; -var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; -var EXISTS = hasOwn(FunctionPrototype, 'name'); -var PROPER = EXISTS && function something() { -}.name === 'something'; -var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable); -module.exports = { - EXISTS: EXISTS, - PROPER: PROPER, - CONFIGURABLE: CONFIGURABLE -}; - -/***/ }), -/* 55 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var uncurryThis = __w_pdfjs_require__(17); -var isCallable = __w_pdfjs_require__(25); -var store = __w_pdfjs_require__(41); -var functionToString = uncurryThis(Function.toString); -if (!isCallable(store.inspectSource)) { - store.inspectSource = function (it) { - return functionToString(it); - }; -} -module.exports = store.inspectSource; - -/***/ }), -/* 56 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var NATIVE_WEAK_MAP = __w_pdfjs_require__(57); -var global = __w_pdfjs_require__(7); -var isObject = __w_pdfjs_require__(24); -var createNonEnumerableProperty = __w_pdfjs_require__(48); -var hasOwn = __w_pdfjs_require__(43); -var shared = __w_pdfjs_require__(41); -var sharedKey = __w_pdfjs_require__(58); -var hiddenKeys = __w_pdfjs_require__(59); -var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; -var TypeError = global.TypeError; -var WeakMap = global.WeakMap; -var set, get, has; -var enforce = function (it) { - return has(it) ? get(it) : set(it, {}); -}; -var getterFor = function (TYPE) { - return function (it) { - var state; - if (!isObject(it) || (state = get(it)).type !== TYPE) { - throw TypeError('Incompatible receiver, ' + TYPE + ' required'); - } - return state; - }; -}; -if (NATIVE_WEAK_MAP || shared.state) { - var store = shared.state || (shared.state = new WeakMap()); - store.get = store.get; - store.has = store.has; - store.set = store.set; - set = function (it, metadata) { - if (store.has(it)) - throw TypeError(OBJECT_ALREADY_INITIALIZED); - metadata.facade = it; - store.set(it, metadata); - return metadata; - }; - get = function (it) { - return store.get(it) || {}; - }; - has = function (it) { - return store.has(it); - }; -} else { - var STATE = sharedKey('state'); - hiddenKeys[STATE] = true; - set = function (it, metadata) { - if (hasOwn(it, STATE)) - throw TypeError(OBJECT_ALREADY_INITIALIZED); - metadata.facade = it; - createNonEnumerableProperty(it, STATE, metadata); - return metadata; - }; - get = function (it) { - return hasOwn(it, STATE) ? it[STATE] : {}; - }; - has = function (it) { - return hasOwn(it, STATE); - }; -} -module.exports = { - set: set, - get: get, - has: has, - enforce: enforce, - getterFor: getterFor -}; - -/***/ }), -/* 57 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var global = __w_pdfjs_require__(7); -var isCallable = __w_pdfjs_require__(25); -var WeakMap = global.WeakMap; -module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); - -/***/ }), -/* 58 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var shared = __w_pdfjs_require__(39); -var uid = __w_pdfjs_require__(45); -var keys = shared('keys'); -module.exports = function (key) { - return keys[key] || (keys[key] = uid(key)); -}; - -/***/ }), -/* 59 */ -/***/ ((module) => { - -module.exports = {}; - -/***/ }), -/* 60 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var hasOwn = __w_pdfjs_require__(43); -var ownKeys = __w_pdfjs_require__(61); -var getOwnPropertyDescriptorModule = __w_pdfjs_require__(8); -var definePropertyModule = __w_pdfjs_require__(49); -module.exports = function (target, source, exceptions) { - var keys = ownKeys(source); - var defineProperty = definePropertyModule.f; - var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { - defineProperty(target, key, getOwnPropertyDescriptor(source, key)); - } - } -}; - -/***/ }), -/* 61 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var getBuiltIn = __w_pdfjs_require__(28); -var uncurryThis = __w_pdfjs_require__(17); -var getOwnPropertyNamesModule = __w_pdfjs_require__(62); -var getOwnPropertySymbolsModule = __w_pdfjs_require__(71); -var anObject = __w_pdfjs_require__(51); -var concat = uncurryThis([].concat); -module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { - var keys = getOwnPropertyNamesModule.f(anObject(it)); - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; -}; - -/***/ }), -/* 62 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -var internalObjectKeys = __w_pdfjs_require__(63); -var enumBugKeys = __w_pdfjs_require__(70); -var hiddenKeys = enumBugKeys.concat('length', 'prototype'); -exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return internalObjectKeys(O, hiddenKeys); -}; - -/***/ }), -/* 63 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var uncurryThis = __w_pdfjs_require__(17); -var hasOwn = __w_pdfjs_require__(43); -var toIndexedObject = __w_pdfjs_require__(15); -var indexOf = (__w_pdfjs_require__(64).indexOf); -var hiddenKeys = __w_pdfjs_require__(59); -var push = uncurryThis([].push); -module.exports = function (object, names) { - var O = toIndexedObject(object); - var i = 0; - var result = []; - var key; - for (key in O) - !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); - while (names.length > i) - if (hasOwn(O, key = names[i++])) { - ~indexOf(result, key) || push(result, key); - } - return result; -}; - -/***/ }), -/* 64 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var toIndexedObject = __w_pdfjs_require__(15); -var toAbsoluteIndex = __w_pdfjs_require__(65); -var lengthOfArrayLike = __w_pdfjs_require__(68); -var createMethod = function (IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIndexedObject($this); - var length = lengthOfArrayLike(O); - var index = toAbsoluteIndex(fromIndex, length); - var value; - if (IS_INCLUDES && el != el) - while (length > index) { - value = O[index++]; - if (value != value) - return true; - } - else - for (; length > index; index++) { - if ((IS_INCLUDES || index in O) && O[index] === el) - return IS_INCLUDES || index || 0; - } - return !IS_INCLUDES && -1; - }; -}; -module.exports = { - includes: createMethod(true), - indexOf: createMethod(false) -}; - -/***/ }), -/* 65 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var toIntegerOrInfinity = __w_pdfjs_require__(66); -var max = Math.max; -var min = Math.min; -module.exports = function (index, length) { - var integer = toIntegerOrInfinity(index); - return integer < 0 ? max(integer + length, 0) : min(integer, length); -}; - -/***/ }), -/* 66 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var trunc = __w_pdfjs_require__(67); -module.exports = function (argument) { - var number = +argument; - return number !== number || number === 0 ? 0 : trunc(number); -}; - -/***/ }), -/* 67 */ -/***/ ((module) => { - -var ceil = Math.ceil; -var floor = Math.floor; -module.exports = Math.trunc || function trunc(x) { - var n = +x; - return (n > 0 ? floor : ceil)(n); -}; - -/***/ }), -/* 68 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var toLength = __w_pdfjs_require__(69); -module.exports = function (obj) { - return toLength(obj.length); -}; - -/***/ }), -/* 69 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var toIntegerOrInfinity = __w_pdfjs_require__(66); -var min = Math.min; -module.exports = function (argument) { - return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; -}; - -/***/ }), -/* 70 */ -/***/ ((module) => { - -module.exports = [ - 'constructor', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'toLocaleString', - 'toString', - 'valueOf' -]; - -/***/ }), -/* 71 */ -/***/ ((__unused_webpack_module, exports) => { - -exports.f = Object.getOwnPropertySymbols; - -/***/ }), -/* 72 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var fails = __w_pdfjs_require__(10); -var isCallable = __w_pdfjs_require__(25); -var replacement = /#|\.prototype\./; -var isForced = function (feature, detection) { - var value = data[normalize(feature)]; - return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection; -}; -var normalize = isForced.normalize = function (string) { - return String(string).replace(replacement, '.').toLowerCase(); -}; -var data = isForced.data = {}; -var NATIVE = isForced.NATIVE = 'N'; -var POLYFILL = isForced.POLYFILL = 'P'; -module.exports = isForced; - -/***/ }), -/* 73 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var wellKnownSymbol = __w_pdfjs_require__(38); -var create = __w_pdfjs_require__(74); -var defineProperty = (__w_pdfjs_require__(49).f); -var UNSCOPABLES = wellKnownSymbol('unscopables'); -var ArrayPrototype = Array.prototype; -if (ArrayPrototype[UNSCOPABLES] == undefined) { - defineProperty(ArrayPrototype, UNSCOPABLES, { - configurable: true, - value: create(null) - }); -} -module.exports = function (key) { - ArrayPrototype[UNSCOPABLES][key] = true; -}; - -/***/ }), -/* 74 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var anObject = __w_pdfjs_require__(51); -var definePropertiesModule = __w_pdfjs_require__(75); -var enumBugKeys = __w_pdfjs_require__(70); -var hiddenKeys = __w_pdfjs_require__(59); -var html = __w_pdfjs_require__(77); -var documentCreateElement = __w_pdfjs_require__(47); -var sharedKey = __w_pdfjs_require__(58); -var GT = '>'; -var LT = '<'; -var PROTOTYPE = 'prototype'; -var SCRIPT = 'script'; -var IE_PROTO = sharedKey('IE_PROTO'); -var EmptyConstructor = function () { -}; -var scriptTag = function (content) { - return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; -}; -var NullProtoObjectViaActiveX = function (activeXDocument) { - activeXDocument.write(scriptTag('')); - activeXDocument.close(); - var temp = activeXDocument.parentWindow.Object; - activeXDocument = null; - return temp; -}; -var NullProtoObjectViaIFrame = function () { - var iframe = documentCreateElement('iframe'); - var JS = 'java' + SCRIPT + ':'; - var iframeDocument; - iframe.style.display = 'none'; - html.appendChild(iframe); - iframe.src = String(JS); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(scriptTag('document.F=Object')); - iframeDocument.close(); - return iframeDocument.F; -}; -var activeXDocument; -var NullProtoObject = function () { - try { - activeXDocument = new ActiveXObject('htmlfile'); - } catch (error) { - } - NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); - var length = enumBugKeys.length; - while (length--) - delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; - return NullProtoObject(); -}; -hiddenKeys[IE_PROTO] = true; -module.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - EmptyConstructor[PROTOTYPE] = anObject(O); - result = new EmptyConstructor(); - EmptyConstructor[PROTOTYPE] = null; - result[IE_PROTO] = O; - } else - result = NullProtoObject(); - return Properties === undefined ? result : definePropertiesModule.f(result, Properties); -}; - -/***/ }), -/* 75 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -var DESCRIPTORS = __w_pdfjs_require__(9); -var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(50); -var definePropertyModule = __w_pdfjs_require__(49); -var anObject = __w_pdfjs_require__(51); -var toIndexedObject = __w_pdfjs_require__(15); -var objectKeys = __w_pdfjs_require__(76); -exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var props = toIndexedObject(Properties); - var keys = objectKeys(Properties); - var length = keys.length; - var index = 0; - var key; - while (length > index) - definePropertyModule.f(O, key = keys[index++], props[key]); - return O; -}; - -/***/ }), -/* 76 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var internalObjectKeys = __w_pdfjs_require__(63); -var enumBugKeys = __w_pdfjs_require__(70); -module.exports = Object.keys || function keys(O) { - return internalObjectKeys(O, enumBugKeys); -}; - -/***/ }), -/* 77 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var getBuiltIn = __w_pdfjs_require__(28); -module.exports = getBuiltIn('document', 'documentElement'); - -/***/ }), -/* 78 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var global = __w_pdfjs_require__(7); -var uncurryThis = __w_pdfjs_require__(17); -module.exports = function (CONSTRUCTOR, METHOD) { - return uncurryThis(global[CONSTRUCTOR].prototype[METHOD]); -}; - -/***/ }), -/* 79 */ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { - -__w_pdfjs_require__(80); - -/***/ }), -/* 80 */ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var ArrayBufferViewCore = __w_pdfjs_require__(81); -var lengthOfArrayLike = __w_pdfjs_require__(68); -var toIntegerOrInfinity = __w_pdfjs_require__(66); -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; -exportTypedArrayMethod('at', function at(index) { - var O = aTypedArray(this); - var len = lengthOfArrayLike(O); - var relativeIndex = toIntegerOrInfinity(index); - var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; - return k < 0 || k >= len ? undefined : O[k]; -}); - -/***/ }), -/* 81 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(82); -var DESCRIPTORS = __w_pdfjs_require__(9); -var global = __w_pdfjs_require__(7); -var isCallable = __w_pdfjs_require__(25); -var isObject = __w_pdfjs_require__(24); -var hasOwn = __w_pdfjs_require__(43); -var classof = __w_pdfjs_require__(83); -var tryToString = __w_pdfjs_require__(36); -var createNonEnumerableProperty = __w_pdfjs_require__(48); -var defineBuiltIn = __w_pdfjs_require__(52); -var defineProperty = (__w_pdfjs_require__(49).f); -var isPrototypeOf = __w_pdfjs_require__(29); -var getPrototypeOf = __w_pdfjs_require__(85); -var setPrototypeOf = __w_pdfjs_require__(87); -var wellKnownSymbol = __w_pdfjs_require__(38); -var uid = __w_pdfjs_require__(45); -var InternalStateModule = __w_pdfjs_require__(56); -var enforceInternalState = InternalStateModule.enforce; -var getInternalState = InternalStateModule.get; -var Int8Array = global.Int8Array; -var Int8ArrayPrototype = Int8Array && Int8Array.prototype; -var Uint8ClampedArray = global.Uint8ClampedArray; -var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; -var TypedArray = Int8Array && getPrototypeOf(Int8Array); -var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); -var ObjectPrototype = Object.prototype; -var TypeError = global.TypeError; -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); -var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor'; -var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera'; -var TYPED_ARRAY_TAG_REQUIRED = false; -var NAME, Constructor, Prototype; -var TypedArrayConstructorsList = { - Int8Array: 1, - Uint8Array: 1, - Uint8ClampedArray: 1, - Int16Array: 2, - Uint16Array: 2, - Int32Array: 4, - Uint32Array: 4, - Float32Array: 4, - Float64Array: 8 -}; -var BigIntArrayConstructorsList = { - BigInt64Array: 8, - BigUint64Array: 8 -}; -var isView = function isView(it) { - if (!isObject(it)) - return false; - var klass = classof(it); - return klass === 'DataView' || hasOwn(TypedArrayConstructorsList, klass) || hasOwn(BigIntArrayConstructorsList, klass); -}; -var getTypedArrayConstructor = function (it) { - var proto = getPrototypeOf(it); - if (!isObject(proto)) - return; - var state = getInternalState(proto); - return state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto); -}; -var isTypedArray = function (it) { - if (!isObject(it)) - return false; - var klass = classof(it); - return hasOwn(TypedArrayConstructorsList, klass) || hasOwn(BigIntArrayConstructorsList, klass); -}; -var aTypedArray = function (it) { - if (isTypedArray(it)) - return it; - throw TypeError('Target is not a typed array'); -}; -var aTypedArrayConstructor = function (C) { - if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) - return C; - throw TypeError(tryToString(C) + ' is not a typed array constructor'); -}; -var exportTypedArrayMethod = function (KEY, property, forced, options) { - if (!DESCRIPTORS) - return; - if (forced) - for (var ARRAY in TypedArrayConstructorsList) { - var TypedArrayConstructor = global[ARRAY]; - if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) - try { - delete TypedArrayConstructor.prototype[KEY]; - } catch (error) { - try { - TypedArrayConstructor.prototype[KEY] = property; - } catch (error2) { - } - } - } - if (!TypedArrayPrototype[KEY] || forced) { - defineBuiltIn(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); - } -}; -var exportTypedArrayStaticMethod = function (KEY, property, forced) { - var ARRAY, TypedArrayConstructor; - if (!DESCRIPTORS) - return; - if (setPrototypeOf) { - if (forced) - for (ARRAY in TypedArrayConstructorsList) { - TypedArrayConstructor = global[ARRAY]; - if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) - try { - delete TypedArrayConstructor[KEY]; - } catch (error) { - } - } - if (!TypedArray[KEY] || forced) { - try { - return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); - } catch (error) { - } - } else - return; - } - for (ARRAY in TypedArrayConstructorsList) { - TypedArrayConstructor = global[ARRAY]; - if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { - defineBuiltIn(TypedArrayConstructor, KEY, property); - } - } -}; -for (NAME in TypedArrayConstructorsList) { - Constructor = global[NAME]; - Prototype = Constructor && Constructor.prototype; - if (Prototype) - enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; - else - NATIVE_ARRAY_BUFFER_VIEWS = false; -} -for (NAME in BigIntArrayConstructorsList) { - Constructor = global[NAME]; - Prototype = Constructor && Constructor.prototype; - if (Prototype) - enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; -} -if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) { - TypedArray = function TypedArray() { - throw TypeError('Incorrect invocation'); - }; - if (NATIVE_ARRAY_BUFFER_VIEWS) - for (NAME in TypedArrayConstructorsList) { - if (global[NAME]) - setPrototypeOf(global[NAME], TypedArray); - } -} -if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { - TypedArrayPrototype = TypedArray.prototype; - if (NATIVE_ARRAY_BUFFER_VIEWS) - for (NAME in TypedArrayConstructorsList) { - if (global[NAME]) - setPrototypeOf(global[NAME].prototype, TypedArrayPrototype); - } -} -if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { - setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); -} -if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) { - TYPED_ARRAY_TAG_REQUIRED = true; - defineProperty(TypedArrayPrototype, TO_STRING_TAG, { - get: function () { - return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; - } - }); - for (NAME in TypedArrayConstructorsList) - if (global[NAME]) { - createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME); - } -} -module.exports = { - NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, - TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG, - aTypedArray: aTypedArray, - aTypedArrayConstructor: aTypedArrayConstructor, - exportTypedArrayMethod: exportTypedArrayMethod, - exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, - getTypedArrayConstructor: getTypedArrayConstructor, - isView: isView, - isTypedArray: isTypedArray, - TypedArray: TypedArray, - TypedArrayPrototype: TypedArrayPrototype -}; - -/***/ }), -/* 82 */ -/***/ ((module) => { - -module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; - -/***/ }), -/* 83 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(84); -var isCallable = __w_pdfjs_require__(25); -var classofRaw = __w_pdfjs_require__(18); -var wellKnownSymbol = __w_pdfjs_require__(38); -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var $Object = Object; -var CORRECT_ARGUMENTS = classofRaw((function () { - return arguments; -}())) == 'Arguments'; -var tryGet = function (it, key) { - try { - return it[key]; - } catch (error) { - } -}; -module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { - var O, tag, result; - return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result; -}; - -/***/ }), -/* 84 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var wellKnownSymbol = __w_pdfjs_require__(38); -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var test = {}; -test[TO_STRING_TAG] = 'z'; -module.exports = String(test) === '[object z]'; - -/***/ }), -/* 85 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var hasOwn = __w_pdfjs_require__(43); -var isCallable = __w_pdfjs_require__(25); -var toObject = __w_pdfjs_require__(44); -var sharedKey = __w_pdfjs_require__(58); -var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(86); -var IE_PROTO = sharedKey('IE_PROTO'); -var $Object = Object; -var ObjectPrototype = $Object.prototype; -module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { - var object = toObject(O); - if (hasOwn(object, IE_PROTO)) - return object[IE_PROTO]; - var constructor = object.constructor; - if (isCallable(constructor) && object instanceof constructor) { - return constructor.prototype; - } - return object instanceof $Object ? ObjectPrototype : null; -}; - -/***/ }), -/* 86 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var fails = __w_pdfjs_require__(10); -module.exports = !fails(function () { - function F() { - } - F.prototype.constructor = null; - return Object.getPrototypeOf(new F()) !== F.prototype; -}); - -/***/ }), -/* 87 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var uncurryThis = __w_pdfjs_require__(17); -var anObject = __w_pdfjs_require__(51); -var aPossiblePrototype = __w_pdfjs_require__(88); -module.exports = Object.setPrototypeOf || ('__proto__' in {} ? (function () { - var CORRECT_SETTER = false; - var test = {}; - var setter; - try { - setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); - setter(test, []); - CORRECT_SETTER = test instanceof Array; - } catch (error) { - } - return function setPrototypeOf(O, proto) { - anObject(O); - aPossiblePrototype(proto); - if (CORRECT_SETTER) - setter(O, proto); - else - O.__proto__ = proto; - return O; - }; -}()) : undefined); - -/***/ }), -/* 88 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var isCallable = __w_pdfjs_require__(25); -var $String = String; -var $TypeError = TypeError; -module.exports = function (argument) { - if (typeof argument == 'object' || isCallable(argument)) - return argument; - throw $TypeError("Can't set " + $String(argument) + ' as a prototype'); -}; - -/***/ }), -/* 89 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -__w_pdfjs_require__(90); -__w_pdfjs_require__(97); -__w_pdfjs_require__(99); -__w_pdfjs_require__(121); -__w_pdfjs_require__(123); -var path = __w_pdfjs_require__(132); -module.exports = path.structuredClone; - -/***/ }), -/* 90 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var toIndexedObject = __w_pdfjs_require__(15); -var addToUnscopables = __w_pdfjs_require__(73); -var Iterators = __w_pdfjs_require__(91); -var InternalStateModule = __w_pdfjs_require__(56); -var defineProperty = (__w_pdfjs_require__(49).f); -var defineIterator = __w_pdfjs_require__(92); -var createIterResultObject = __w_pdfjs_require__(96); -var IS_PURE = __w_pdfjs_require__(40); -var DESCRIPTORS = __w_pdfjs_require__(9); -var ARRAY_ITERATOR = 'Array Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); -module.exports = defineIterator(Array, 'Array', function (iterated, kind) { - setInternalState(this, { - type: ARRAY_ITERATOR, - target: toIndexedObject(iterated), - index: 0, - kind: kind - }); -}, function () { - var state = getInternalState(this); - var target = state.target; - var kind = state.kind; - var index = state.index++; - if (!target || index >= target.length) { - state.target = undefined; - return createIterResultObject(undefined, true); - } - if (kind == 'keys') - return createIterResultObject(index, false); - if (kind == 'values') - return createIterResultObject(target[index], false); - return createIterResultObject([ - index, - target[index] - ], false); -}, 'values'); -var values = Iterators.Arguments = Iterators.Array; -addToUnscopables('keys'); -addToUnscopables('values'); -addToUnscopables('entries'); -if (!IS_PURE && DESCRIPTORS && values.name !== 'values') - try { - defineProperty(values, 'name', { value: 'values' }); - } catch (error) { - } - -/***/ }), -/* 91 */ -/***/ ((module) => { - -module.exports = {}; - -/***/ }), -/* 92 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var $ = __w_pdfjs_require__(6); -var call = __w_pdfjs_require__(11); -var IS_PURE = __w_pdfjs_require__(40); -var FunctionName = __w_pdfjs_require__(54); -var isCallable = __w_pdfjs_require__(25); -var createIteratorConstructor = __w_pdfjs_require__(93); -var getPrototypeOf = __w_pdfjs_require__(85); -var setPrototypeOf = __w_pdfjs_require__(87); -var setToStringTag = __w_pdfjs_require__(95); -var createNonEnumerableProperty = __w_pdfjs_require__(48); -var defineBuiltIn = __w_pdfjs_require__(52); -var wellKnownSymbol = __w_pdfjs_require__(38); -var Iterators = __w_pdfjs_require__(91); -var IteratorsCore = __w_pdfjs_require__(94); -var PROPER_FUNCTION_NAME = FunctionName.PROPER; -var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; -var IteratorPrototype = IteratorsCore.IteratorPrototype; -var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; -var ITERATOR = wellKnownSymbol('iterator'); -var KEYS = 'keys'; -var VALUES = 'values'; -var ENTRIES = 'entries'; -var returnThis = function () { - return this; -}; -module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { - createIteratorConstructor(IteratorConstructor, NAME, next); - var getIterationMethod = function (KIND) { - if (KIND === DEFAULT && defaultIterator) - return defaultIterator; - if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) - return IterablePrototype[KIND]; - switch (KIND) { - case KEYS: - return function keys() { - return new IteratorConstructor(this, KIND); - }; - case VALUES: - return function values() { - return new IteratorConstructor(this, KIND); - }; - case ENTRIES: - return function entries() { - return new IteratorConstructor(this, KIND); - }; - } - return function () { - return new IteratorConstructor(this); - }; - }; - var TO_STRING_TAG = NAME + ' Iterator'; - var INCORRECT_VALUES_NAME = false; - var IterablePrototype = Iterable.prototype; - var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT]; - var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); - var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; - var CurrentIteratorPrototype, methods, KEY; - if (anyNativeIterator) { - CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); - if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { - if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { - if (setPrototypeOf) { - setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); - } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { - defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); - } - } - setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); - if (IS_PURE) - Iterators[TO_STRING_TAG] = returnThis; - } - } - if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { - if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { - createNonEnumerableProperty(IterablePrototype, 'name', VALUES); - } else { - INCORRECT_VALUES_NAME = true; - defaultIterator = function values() { - return call(nativeIterator, this); - }; - } - } - if (DEFAULT) { - methods = { - values: getIterationMethod(VALUES), - keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), - entries: getIterationMethod(ENTRIES) - }; - if (FORCED) - for (KEY in methods) { - if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { - defineBuiltIn(IterablePrototype, KEY, methods[KEY]); - } - } - else - $({ - target: NAME, - proto: true, - forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME - }, methods); - } - if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { - defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); - } - Iterators[NAME] = defaultIterator; - return methods; -}; - -/***/ }), -/* 93 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var IteratorPrototype = (__w_pdfjs_require__(94).IteratorPrototype); -var create = __w_pdfjs_require__(74); -var createPropertyDescriptor = __w_pdfjs_require__(14); -var setToStringTag = __w_pdfjs_require__(95); -var Iterators = __w_pdfjs_require__(91); -var returnThis = function () { - return this; -}; -module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { - var TO_STRING_TAG = NAME + ' Iterator'; - IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); - setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); - Iterators[TO_STRING_TAG] = returnThis; - return IteratorConstructor; -}; - -/***/ }), -/* 94 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var fails = __w_pdfjs_require__(10); -var isCallable = __w_pdfjs_require__(25); -var isObject = __w_pdfjs_require__(24); -var create = __w_pdfjs_require__(74); -var getPrototypeOf = __w_pdfjs_require__(85); -var defineBuiltIn = __w_pdfjs_require__(52); -var wellKnownSymbol = __w_pdfjs_require__(38); -var IS_PURE = __w_pdfjs_require__(40); -var ITERATOR = wellKnownSymbol('iterator'); -var BUGGY_SAFARI_ITERATORS = false; -var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; -if ([].keys) { - arrayIterator = [].keys(); - if (!('next' in arrayIterator)) - BUGGY_SAFARI_ITERATORS = true; - else { - PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); - if (PrototypeOfArrayIteratorPrototype !== Object.prototype) - IteratorPrototype = PrototypeOfArrayIteratorPrototype; - } -} -var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () { - var test = {}; - return IteratorPrototype[ITERATOR].call(test) !== test; -}); -if (NEW_ITERATOR_PROTOTYPE) - IteratorPrototype = {}; -else if (IS_PURE) - IteratorPrototype = create(IteratorPrototype); -if (!isCallable(IteratorPrototype[ITERATOR])) { - defineBuiltIn(IteratorPrototype, ITERATOR, function () { - return this; - }); -} -module.exports = { - IteratorPrototype: IteratorPrototype, - BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS -}; - -/***/ }), -/* 95 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var defineProperty = (__w_pdfjs_require__(49).f); -var hasOwn = __w_pdfjs_require__(43); -var wellKnownSymbol = __w_pdfjs_require__(38); -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -module.exports = function (target, TAG, STATIC) { - if (target && !STATIC) - target = target.prototype; - if (target && !hasOwn(target, TO_STRING_TAG)) { - defineProperty(target, TO_STRING_TAG, { - configurable: true, - value: TAG - }); - } -}; - -/***/ }), -/* 96 */ -/***/ ((module) => { - -module.exports = function (value, done) { - return { - value: value, - done: done - }; -}; - -/***/ }), -/* 97 */ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(84); -var defineBuiltIn = __w_pdfjs_require__(52); -var toString = __w_pdfjs_require__(98); -if (!TO_STRING_TAG_SUPPORT) { - defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true }); -} - -/***/ }), -/* 98 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(84); -var classof = __w_pdfjs_require__(83); -module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { - return '[object ' + classof(this) + ']'; -}; - -/***/ }), -/* 99 */ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { - -__w_pdfjs_require__(100); - -/***/ }), -/* 100 */ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var collection = __w_pdfjs_require__(101); -var collectionStrong = __w_pdfjs_require__(118); -collection('Map', function (init) { - return function Map() { - return init(this, arguments.length ? arguments[0] : undefined); - }; -}, collectionStrong); - -/***/ }), -/* 101 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var $ = __w_pdfjs_require__(6); -var global = __w_pdfjs_require__(7); -var uncurryThis = __w_pdfjs_require__(17); -var isForced = __w_pdfjs_require__(72); -var defineBuiltIn = __w_pdfjs_require__(52); -var InternalMetadataModule = __w_pdfjs_require__(102); -var iterate = __w_pdfjs_require__(109); -var anInstance = __w_pdfjs_require__(115); -var isCallable = __w_pdfjs_require__(25); -var isNullOrUndefined = __w_pdfjs_require__(21); -var isObject = __w_pdfjs_require__(24); -var fails = __w_pdfjs_require__(10); -var checkCorrectnessOfIteration = __w_pdfjs_require__(116); -var setToStringTag = __w_pdfjs_require__(95); -var inheritIfRequired = __w_pdfjs_require__(117); -module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { - var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; - var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; - var ADDER = IS_MAP ? 'set' : 'add'; - var NativeConstructor = global[CONSTRUCTOR_NAME]; - var NativePrototype = NativeConstructor && NativeConstructor.prototype; - var Constructor = NativeConstructor; - var exported = {}; - var fixMethod = function (KEY) { - var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); - defineBuiltIn(NativePrototype, KEY, KEY == 'add' ? function add(value) { - uncurriedNativeMethod(this, value === 0 ? 0 : value); - return this; - } : KEY == 'delete' ? function (key) { - return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); - } : KEY == 'get' ? function get(key) { - return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); - } : KEY == 'has' ? function has(key) { - return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); - } : function set(key, value) { - uncurriedNativeMethod(this, key === 0 ? 0 : key, value); - return this; - }); - }; - var REPLACE = isForced(CONSTRUCTOR_NAME, !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { - new NativeConstructor().entries().next(); - }))); - if (REPLACE) { - Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); - InternalMetadataModule.enable(); - } else if (isForced(CONSTRUCTOR_NAME, true)) { - var instance = new Constructor(); - var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; - var THROWS_ON_PRIMITIVES = fails(function () { - instance.has(1); - }); - var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { - new NativeConstructor(iterable); - }); - var BUGGY_ZERO = !IS_WEAK && fails(function () { - var $instance = new NativeConstructor(); - var index = 5; - while (index--) - $instance[ADDER](index, index); - return !$instance.has(-0); - }); - if (!ACCEPT_ITERABLES) { - Constructor = wrapper(function (dummy, iterable) { - anInstance(dummy, NativePrototype); - var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); - if (!isNullOrUndefined(iterable)) - iterate(iterable, that[ADDER], { - that: that, - AS_ENTRIES: IS_MAP - }); - return that; - }); - Constructor.prototype = NativePrototype; - NativePrototype.constructor = Constructor; - } - if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { - fixMethod('delete'); - fixMethod('has'); - IS_MAP && fixMethod('get'); - } - if (BUGGY_ZERO || HASNT_CHAINING) - fixMethod(ADDER); - if (IS_WEAK && NativePrototype.clear) - delete NativePrototype.clear; - } - exported[CONSTRUCTOR_NAME] = Constructor; - $({ - global: true, - constructor: true, - forced: Constructor != NativeConstructor - }, exported); - setToStringTag(Constructor, CONSTRUCTOR_NAME); - if (!IS_WEAK) - common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); - return Constructor; -}; - -/***/ }), -/* 102 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var $ = __w_pdfjs_require__(6); -var uncurryThis = __w_pdfjs_require__(17); -var hiddenKeys = __w_pdfjs_require__(59); -var isObject = __w_pdfjs_require__(24); -var hasOwn = __w_pdfjs_require__(43); -var defineProperty = (__w_pdfjs_require__(49).f); -var getOwnPropertyNamesModule = __w_pdfjs_require__(62); -var getOwnPropertyNamesExternalModule = __w_pdfjs_require__(103); -var isExtensible = __w_pdfjs_require__(106); -var uid = __w_pdfjs_require__(45); -var FREEZING = __w_pdfjs_require__(108); -var REQUIRED = false; -var METADATA = uid('meta'); -var id = 0; -var setMetadata = function (it) { - defineProperty(it, METADATA, { - value: { - objectID: 'O' + id++, - weakData: {} - } - }); -}; -var fastKey = function (it, create) { - if (!isObject(it)) - return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if (!hasOwn(it, METADATA)) { - if (!isExtensible(it)) - return 'F'; - if (!create) - return 'E'; - setMetadata(it); - } - return it[METADATA].objectID; -}; -var getWeakData = function (it, create) { - if (!hasOwn(it, METADATA)) { - if (!isExtensible(it)) - return true; - if (!create) - return false; - setMetadata(it); - } - return it[METADATA].weakData; -}; -var onFreeze = function (it) { - if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) - setMetadata(it); - return it; -}; -var enable = function () { - meta.enable = function () { - }; - REQUIRED = true; - var getOwnPropertyNames = getOwnPropertyNamesModule.f; - var splice = uncurryThis([].splice); - var test = {}; - test[METADATA] = 1; - if (getOwnPropertyNames(test).length) { - getOwnPropertyNamesModule.f = function (it) { - var result = getOwnPropertyNames(it); - for (var i = 0, length = result.length; i < length; i++) { - if (result[i] === METADATA) { - splice(result, i, 1); - break; - } - } - return result; - }; - $({ - target: 'Object', - stat: true, - forced: true - }, { getOwnPropertyNames: getOwnPropertyNamesExternalModule.f }); - } -}; -var meta = module.exports = { - enable: enable, - fastKey: fastKey, - getWeakData: getWeakData, - onFreeze: onFreeze -}; -hiddenKeys[METADATA] = true; - -/***/ }), -/* 103 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var classof = __w_pdfjs_require__(18); -var toIndexedObject = __w_pdfjs_require__(15); -var $getOwnPropertyNames = (__w_pdfjs_require__(62).f); -var arraySlice = __w_pdfjs_require__(104); -var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; -var getWindowNames = function (it) { - try { - return $getOwnPropertyNames(it); - } catch (error) { - return arraySlice(windowNames); - } -}; -module.exports.f = function getOwnPropertyNames(it) { - return windowNames && classof(it) == 'Window' ? getWindowNames(it) : $getOwnPropertyNames(toIndexedObject(it)); -}; - -/***/ }), -/* 104 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var toAbsoluteIndex = __w_pdfjs_require__(65); -var lengthOfArrayLike = __w_pdfjs_require__(68); -var createProperty = __w_pdfjs_require__(105); -var $Array = Array; -var max = Math.max; -module.exports = function (O, start, end) { - var length = lengthOfArrayLike(O); - var k = toAbsoluteIndex(start, length); - var fin = toAbsoluteIndex(end === undefined ? length : end, length); - var result = $Array(max(fin - k, 0)); - for (var n = 0; k < fin; k++, n++) - createProperty(result, n, O[k]); - result.length = n; - return result; -}; - -/***/ }), -/* 105 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var toPropertyKey = __w_pdfjs_require__(22); -var definePropertyModule = __w_pdfjs_require__(49); -var createPropertyDescriptor = __w_pdfjs_require__(14); -module.exports = function (object, key, value) { - var propertyKey = toPropertyKey(key); - if (propertyKey in object) - definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); - else - object[propertyKey] = value; -}; - -/***/ }), -/* 106 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var fails = __w_pdfjs_require__(10); -var isObject = __w_pdfjs_require__(24); -var classof = __w_pdfjs_require__(18); -var ARRAY_BUFFER_NON_EXTENSIBLE = __w_pdfjs_require__(107); -var $isExtensible = Object.isExtensible; -var FAILS_ON_PRIMITIVES = fails(function () { - $isExtensible(1); -}); -module.exports = FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE ? function isExtensible(it) { - if (!isObject(it)) - return false; - if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') - return false; - return $isExtensible ? $isExtensible(it) : true; -} : $isExtensible; - -/***/ }), -/* 107 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var fails = __w_pdfjs_require__(10); -module.exports = fails(function () { - if (typeof ArrayBuffer == 'function') { - var buffer = new ArrayBuffer(8); - if (Object.isExtensible(buffer)) - Object.defineProperty(buffer, 'a', { value: 8 }); - } -}); - -/***/ }), -/* 108 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var fails = __w_pdfjs_require__(10); -module.exports = !fails(function () { - return Object.isExtensible(Object.preventExtensions({})); -}); - -/***/ }), -/* 109 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var bind = __w_pdfjs_require__(110); -var call = __w_pdfjs_require__(11); -var anObject = __w_pdfjs_require__(51); -var tryToString = __w_pdfjs_require__(36); -var isArrayIteratorMethod = __w_pdfjs_require__(111); -var lengthOfArrayLike = __w_pdfjs_require__(68); -var isPrototypeOf = __w_pdfjs_require__(29); -var getIterator = __w_pdfjs_require__(112); -var getIteratorMethod = __w_pdfjs_require__(113); -var iteratorClose = __w_pdfjs_require__(114); -var $TypeError = TypeError; -var Result = function (stopped, result) { - this.stopped = stopped; - this.result = result; -}; -var ResultPrototype = Result.prototype; -module.exports = function (iterable, unboundFunction, options) { - var that = options && options.that; - var AS_ENTRIES = !!(options && options.AS_ENTRIES); - var IS_RECORD = !!(options && options.IS_RECORD); - var IS_ITERATOR = !!(options && options.IS_ITERATOR); - var INTERRUPTED = !!(options && options.INTERRUPTED); - var fn = bind(unboundFunction, that); - var iterator, iterFn, index, length, result, next, step; - var stop = function (condition) { - if (iterator) - iteratorClose(iterator, 'normal', condition); - return new Result(true, condition); - }; - var callFn = function (value) { - if (AS_ENTRIES) { - anObject(value); - return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); - } - return INTERRUPTED ? fn(value, stop) : fn(value); - }; - if (IS_RECORD) { - iterator = iterable.iterator; - } else if (IS_ITERATOR) { - iterator = iterable; - } else { - iterFn = getIteratorMethod(iterable); - if (!iterFn) - throw $TypeError(tryToString(iterable) + ' is not iterable'); - if (isArrayIteratorMethod(iterFn)) { - for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { - result = callFn(iterable[index]); - if (result && isPrototypeOf(ResultPrototype, result)) - return result; - } - return new Result(false); - } - iterator = getIterator(iterable, iterFn); - } - next = IS_RECORD ? iterable.next : iterator.next; - while (!(step = call(next, iterator)).done) { - try { - result = callFn(step.value); - } catch (error) { - iteratorClose(iterator, 'throw', error); - } - if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) - return result; - } - return new Result(false); -}; - -/***/ }), -/* 110 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var uncurryThis = __w_pdfjs_require__(17); -var aCallable = __w_pdfjs_require__(35); -var NATIVE_BIND = __w_pdfjs_require__(12); -var bind = uncurryThis(uncurryThis.bind); -module.exports = function (fn, that) { - aCallable(fn); - return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function () { - return fn.apply(that, arguments); - }; -}; - -/***/ }), -/* 111 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var wellKnownSymbol = __w_pdfjs_require__(38); -var Iterators = __w_pdfjs_require__(91); -var ITERATOR = wellKnownSymbol('iterator'); -var ArrayPrototype = Array.prototype; -module.exports = function (it) { - return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); -}; - -/***/ }), -/* 112 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var call = __w_pdfjs_require__(11); -var aCallable = __w_pdfjs_require__(35); -var anObject = __w_pdfjs_require__(51); -var tryToString = __w_pdfjs_require__(36); -var getIteratorMethod = __w_pdfjs_require__(113); -var $TypeError = TypeError; -module.exports = function (argument, usingIterator) { - var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; - if (aCallable(iteratorMethod)) - return anObject(call(iteratorMethod, argument)); - throw $TypeError(tryToString(argument) + ' is not iterable'); -}; - -/***/ }), -/* 113 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var classof = __w_pdfjs_require__(83); -var getMethod = __w_pdfjs_require__(34); -var isNullOrUndefined = __w_pdfjs_require__(21); -var Iterators = __w_pdfjs_require__(91); -var wellKnownSymbol = __w_pdfjs_require__(38); -var ITERATOR = wellKnownSymbol('iterator'); -module.exports = function (it) { - if (!isNullOrUndefined(it)) - return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)]; -}; - -/***/ }), -/* 114 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var call = __w_pdfjs_require__(11); -var anObject = __w_pdfjs_require__(51); -var getMethod = __w_pdfjs_require__(34); -module.exports = function (iterator, kind, value) { - var innerResult, innerError; - anObject(iterator); - try { - innerResult = getMethod(iterator, 'return'); - if (!innerResult) { - if (kind === 'throw') - throw value; - return value; - } - innerResult = call(innerResult, iterator); - } catch (error) { - innerError = true; - innerResult = error; - } - if (kind === 'throw') - throw value; - if (innerError) - throw innerResult; - anObject(innerResult); - return value; -}; - -/***/ }), -/* 115 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var isPrototypeOf = __w_pdfjs_require__(29); -var $TypeError = TypeError; -module.exports = function (it, Prototype) { - if (isPrototypeOf(Prototype, it)) - return it; - throw $TypeError('Incorrect invocation'); -}; - -/***/ }), -/* 116 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var wellKnownSymbol = __w_pdfjs_require__(38); -var ITERATOR = wellKnownSymbol('iterator'); -var SAFE_CLOSING = false; -try { - var called = 0; - var iteratorWithReturn = { - next: function () { - return { done: !!called++ }; - }, - 'return': function () { - SAFE_CLOSING = true; - } - }; - iteratorWithReturn[ITERATOR] = function () { - return this; - }; - Array.from(iteratorWithReturn, function () { - throw 2; - }); -} catch (error) { -} -module.exports = function (exec, SKIP_CLOSING) { - if (!SKIP_CLOSING && !SAFE_CLOSING) - return false; - var ITERATION_SUPPORT = false; - try { - var object = {}; - object[ITERATOR] = function () { - return { - next: function () { - return { done: ITERATION_SUPPORT = true }; - } - }; - }; - exec(object); - } catch (error) { - } - return ITERATION_SUPPORT; -}; - -/***/ }), -/* 117 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var isCallable = __w_pdfjs_require__(25); -var isObject = __w_pdfjs_require__(24); -var setPrototypeOf = __w_pdfjs_require__(87); -module.exports = function ($this, dummy, Wrapper) { - var NewTarget, NewTargetPrototype; - if (setPrototypeOf && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) - setPrototypeOf($this, NewTargetPrototype); - return $this; -}; - -/***/ }), -/* 118 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var defineProperty = (__w_pdfjs_require__(49).f); -var create = __w_pdfjs_require__(74); -var defineBuiltIns = __w_pdfjs_require__(119); -var bind = __w_pdfjs_require__(110); -var anInstance = __w_pdfjs_require__(115); -var isNullOrUndefined = __w_pdfjs_require__(21); -var iterate = __w_pdfjs_require__(109); -var defineIterator = __w_pdfjs_require__(92); -var createIterResultObject = __w_pdfjs_require__(96); -var setSpecies = __w_pdfjs_require__(120); -var DESCRIPTORS = __w_pdfjs_require__(9); -var fastKey = (__w_pdfjs_require__(102).fastKey); -var InternalStateModule = __w_pdfjs_require__(56); -var setInternalState = InternalStateModule.set; -var internalStateGetterFor = InternalStateModule.getterFor; -module.exports = { - getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { - var Constructor = wrapper(function (that, iterable) { - anInstance(that, Prototype); - setInternalState(that, { - type: CONSTRUCTOR_NAME, - index: create(null), - first: undefined, - last: undefined, - size: 0 - }); - if (!DESCRIPTORS) - that.size = 0; - if (!isNullOrUndefined(iterable)) - iterate(iterable, that[ADDER], { - that: that, - AS_ENTRIES: IS_MAP - }); - }); - var Prototype = Constructor.prototype; - var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); - var define = function (that, key, value) { - var state = getInternalState(that); - var entry = getEntry(that, key); - var previous, index; - if (entry) { - entry.value = value; - } else { - state.last = entry = { - index: index = fastKey(key, true), - key: key, - value: value, - previous: previous = state.last, - next: undefined, - removed: false - }; - if (!state.first) - state.first = entry; - if (previous) - previous.next = entry; - if (DESCRIPTORS) - state.size++; - else - that.size++; - if (index !== 'F') - state.index[index] = entry; - } - return that; - }; - var getEntry = function (that, key) { - var state = getInternalState(that); - var index = fastKey(key); - var entry; - if (index !== 'F') - return state.index[index]; - for (entry = state.first; entry; entry = entry.next) { - if (entry.key == key) - return entry; - } - }; - defineBuiltIns(Prototype, { - clear: function clear() { - var that = this; - var state = getInternalState(that); - var data = state.index; - var entry = state.first; - while (entry) { - entry.removed = true; - if (entry.previous) - entry.previous = entry.previous.next = undefined; - delete data[entry.index]; - entry = entry.next; - } - state.first = state.last = undefined; - if (DESCRIPTORS) - state.size = 0; - else - that.size = 0; - }, - 'delete': function (key) { - var that = this; - var state = getInternalState(that); - var entry = getEntry(that, key); - if (entry) { - var next = entry.next; - var prev = entry.previous; - delete state.index[entry.index]; - entry.removed = true; - if (prev) - prev.next = next; - if (next) - next.previous = prev; - if (state.first == entry) - state.first = next; - if (state.last == entry) - state.last = prev; - if (DESCRIPTORS) - state.size--; - else - that.size--; - } - return !!entry; - }, - forEach: function forEach(callbackfn) { - var state = getInternalState(this); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); - var entry; - while (entry = entry ? entry.next : state.first) { - boundFunction(entry.value, entry.key, this); - while (entry && entry.removed) - entry = entry.previous; - } - }, - has: function has(key) { - return !!getEntry(this, key); - } - }); - defineBuiltIns(Prototype, IS_MAP ? { - get: function get(key) { - var entry = getEntry(this, key); - return entry && entry.value; - }, - set: function set(key, value) { - return define(this, key === 0 ? 0 : key, value); - } - } : { - add: function add(value) { - return define(this, value = value === 0 ? 0 : value, value); - } - }); - if (DESCRIPTORS) - defineProperty(Prototype, 'size', { - get: function () { - return getInternalState(this).size; - } - }); - return Constructor; - }, - setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { - var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; - var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); - var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); - defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { - setInternalState(this, { - type: ITERATOR_NAME, - target: iterated, - state: getInternalCollectionState(iterated), - kind: kind, - last: undefined - }); - }, function () { - var state = getInternalIteratorState(this); - var kind = state.kind; - var entry = state.last; - while (entry && entry.removed) - entry = entry.previous; - if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { - state.target = undefined; - return createIterResultObject(undefined, true); - } - if (kind == 'keys') - return createIterResultObject(entry.key, false); - if (kind == 'values') - return createIterResultObject(entry.value, false); - return createIterResultObject([ - entry.key, - entry.value - ], false); - }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); - setSpecies(CONSTRUCTOR_NAME); - } -}; - -/***/ }), -/* 119 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var defineBuiltIn = __w_pdfjs_require__(52); -module.exports = function (target, src, options) { - for (var key in src) - defineBuiltIn(target, key, src[key], options); - return target; -}; - -/***/ }), -/* 120 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var getBuiltIn = __w_pdfjs_require__(28); -var definePropertyModule = __w_pdfjs_require__(49); -var wellKnownSymbol = __w_pdfjs_require__(38); -var DESCRIPTORS = __w_pdfjs_require__(9); -var SPECIES = wellKnownSymbol('species'); -module.exports = function (CONSTRUCTOR_NAME) { - var Constructor = getBuiltIn(CONSTRUCTOR_NAME); - var defineProperty = definePropertyModule.f; - if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { - defineProperty(Constructor, SPECIES, { - configurable: true, - get: function () { - return this; - } - }); - } -}; - -/***/ }), -/* 121 */ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { - -__w_pdfjs_require__(122); - -/***/ }), -/* 122 */ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var collection = __w_pdfjs_require__(101); -var collectionStrong = __w_pdfjs_require__(118); -collection('Set', function (init) { - return function Set() { - return init(this, arguments.length ? arguments[0] : undefined); - }; -}, collectionStrong); - -/***/ }), -/* 123 */ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var IS_PURE = __w_pdfjs_require__(40); -var $ = __w_pdfjs_require__(6); -var global = __w_pdfjs_require__(7); -var getBuiltin = __w_pdfjs_require__(28); -var uncurryThis = __w_pdfjs_require__(17); -var fails = __w_pdfjs_require__(10); -var uid = __w_pdfjs_require__(45); -var isCallable = __w_pdfjs_require__(25); -var isConstructor = __w_pdfjs_require__(124); -var isNullOrUndefined = __w_pdfjs_require__(21); -var isObject = __w_pdfjs_require__(24); -var isSymbol = __w_pdfjs_require__(27); -var iterate = __w_pdfjs_require__(109); -var anObject = __w_pdfjs_require__(51); -var classof = __w_pdfjs_require__(83); -var hasOwn = __w_pdfjs_require__(43); -var createProperty = __w_pdfjs_require__(105); -var createNonEnumerableProperty = __w_pdfjs_require__(48); -var lengthOfArrayLike = __w_pdfjs_require__(68); -var validateArgumentsLength = __w_pdfjs_require__(125); -var getRegExpFlags = __w_pdfjs_require__(126); -var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(128); -var V8 = __w_pdfjs_require__(32); -var IS_BROWSER = __w_pdfjs_require__(129); -var IS_DENO = __w_pdfjs_require__(130); -var IS_NODE = __w_pdfjs_require__(131); -var Object = global.Object; -var Date = global.Date; -var Error = global.Error; -var EvalError = global.EvalError; -var RangeError = global.RangeError; -var ReferenceError = global.ReferenceError; -var SyntaxError = global.SyntaxError; -var TypeError = global.TypeError; -var URIError = global.URIError; -var PerformanceMark = global.PerformanceMark; -var WebAssembly = global.WebAssembly; -var CompileError = WebAssembly && WebAssembly.CompileError || Error; -var LinkError = WebAssembly && WebAssembly.LinkError || Error; -var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error; -var DOMException = getBuiltin('DOMException'); -var Set = getBuiltin('Set'); -var Map = getBuiltin('Map'); -var MapPrototype = Map.prototype; -var mapHas = uncurryThis(MapPrototype.has); -var mapGet = uncurryThis(MapPrototype.get); -var mapSet = uncurryThis(MapPrototype.set); -var setAdd = uncurryThis(Set.prototype.add); -var objectKeys = getBuiltin('Object', 'keys'); -var push = uncurryThis([].push); -var thisBooleanValue = uncurryThis(true.valueOf); -var thisNumberValue = uncurryThis(1.0.valueOf); -var thisStringValue = uncurryThis(''.valueOf); -var thisTimeValue = uncurryThis(Date.prototype.getTime); -var PERFORMANCE_MARK = uid('structuredClone'); -var DATA_CLONE_ERROR = 'DataCloneError'; -var TRANSFERRING = 'Transferring'; -var checkBasicSemantic = function (structuredCloneImplementation) { - return !fails(function () { - var set1 = new global.Set([7]); - var set2 = structuredCloneImplementation(set1); - var number = structuredCloneImplementation(Object(7)); - return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7; - }) && structuredCloneImplementation; -}; -var checkErrorsCloning = function (structuredCloneImplementation, $Error) { - return !fails(function () { - var error = new $Error(); - var test = structuredCloneImplementation({ - a: error, - b: error - }); - return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack); - }); -}; -var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) { - return !fails(function () { - var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); - return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3; - }); -}; -var nativeStructuredClone = global.structuredClone; -var FORCED_REPLACEMENT = IS_PURE || !checkErrorsCloning(nativeStructuredClone, Error) || !checkErrorsCloning(nativeStructuredClone, DOMException) || !checkNewErrorsCloningSemantic(nativeStructuredClone); -var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { - return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; -}); -var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; -var throwUncloneable = function (type) { - throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); -}; -var throwUnpolyfillable = function (type, action) { - throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); -}; -var createDataTransfer = function () { - var dataTransfer; - try { - dataTransfer = new global.DataTransfer(); - } catch (error) { - try { - dataTransfer = new global.ClipboardEvent('').clipboardData; - } catch (error2) { - } - } - return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null; -}; -var structuredCloneInternal = function (value, map) { - if (isSymbol(value)) - throwUncloneable('Symbol'); - if (!isObject(value)) - return value; - if (map) { - if (mapHas(map, value)) - return mapGet(map, value); - } else - map = new Map(); - var type = classof(value); - var deep = false; - var C, name, cloned, dataTransfer, i, length, keys, key, source, target; - switch (type) { - case 'Array': - cloned = []; - deep = true; - break; - case 'Object': - cloned = {}; - deep = true; - break; - case 'Map': - cloned = new Map(); - deep = true; - break; - case 'Set': - cloned = new Set(); - deep = true; - break; - case 'RegExp': - cloned = new RegExp(value.source, getRegExpFlags(value)); - break; - case 'Error': - name = value.name; - switch (name) { - case 'AggregateError': - cloned = getBuiltin('AggregateError')([]); - break; - case 'EvalError': - cloned = EvalError(); - break; - case 'RangeError': - cloned = RangeError(); - break; - case 'ReferenceError': - cloned = ReferenceError(); - break; - case 'SyntaxError': - cloned = SyntaxError(); - break; - case 'TypeError': - cloned = TypeError(); - break; - case 'URIError': - cloned = URIError(); - break; - case 'CompileError': - cloned = CompileError(); - break; - case 'LinkError': - cloned = LinkError(); - break; - case 'RuntimeError': - cloned = RuntimeError(); - break; - default: - cloned = Error(); - } - deep = true; - break; - case 'DOMException': - cloned = new DOMException(value.message, value.name); - deep = true; - break; - case 'DataView': - case 'Int8Array': - case 'Uint8Array': - case 'Uint8ClampedArray': - case 'Int16Array': - case 'Uint16Array': - case 'Int32Array': - case 'Uint32Array': - case 'Float32Array': - case 'Float64Array': - case 'BigInt64Array': - case 'BigUint64Array': - C = global[type]; - if (!isObject(C)) - throwUnpolyfillable(type); - cloned = new C(structuredCloneInternal(value.buffer, map), value.byteOffset, type === 'DataView' ? value.byteLength : value.length); - break; - case 'DOMQuad': - try { - cloned = new DOMQuad(structuredCloneInternal(value.p1, map), structuredCloneInternal(value.p2, map), structuredCloneInternal(value.p3, map), structuredCloneInternal(value.p4, map)); - } catch (error) { - if (nativeRestrictedStructuredClone) { - cloned = nativeRestrictedStructuredClone(value); - } else - throwUnpolyfillable(type); - } - break; - case 'FileList': - dataTransfer = createDataTransfer(); - if (dataTransfer) { - for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { - dataTransfer.items.add(structuredCloneInternal(value[i], map)); - } - cloned = dataTransfer.files; - } else if (nativeRestrictedStructuredClone) { - cloned = nativeRestrictedStructuredClone(value); - } else - throwUnpolyfillable(type); - break; - case 'ImageData': - try { - cloned = new ImageData(structuredCloneInternal(value.data, map), value.width, value.height, { colorSpace: value.colorSpace }); - } catch (error) { - if (nativeRestrictedStructuredClone) { - cloned = nativeRestrictedStructuredClone(value); - } else - throwUnpolyfillable(type); - } - break; - default: - if (nativeRestrictedStructuredClone) { - cloned = nativeRestrictedStructuredClone(value); - } else - switch (type) { - case 'BigInt': - cloned = Object(value.valueOf()); - break; - case 'Boolean': - cloned = Object(thisBooleanValue(value)); - break; - case 'Number': - cloned = Object(thisNumberValue(value)); - break; - case 'String': - cloned = Object(thisStringValue(value)); - break; - case 'Date': - cloned = new Date(thisTimeValue(value)); - break; - case 'ArrayBuffer': - C = global.DataView; - if (!C && typeof value.slice != 'function') - throwUnpolyfillable(type); - try { - if (typeof value.slice == 'function') { - cloned = value.slice(0); - } else { - length = value.byteLength; - cloned = new ArrayBuffer(length); - source = new C(value); - target = new C(cloned); - for (i = 0; i < length; i++) { - target.setUint8(i, source.getUint8(i)); - } - } - } catch (error) { - throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); - } - break; - case 'SharedArrayBuffer': - cloned = value; - break; - case 'Blob': - try { - cloned = value.slice(0, value.size, value.type); - } catch (error) { - throwUnpolyfillable(type); - } - break; - case 'DOMPoint': - case 'DOMPointReadOnly': - C = global[type]; - try { - cloned = C.fromPoint ? C.fromPoint(value) : new C(value.x, value.y, value.z, value.w); - } catch (error) { - throwUnpolyfillable(type); - } - break; - case 'DOMRect': - case 'DOMRectReadOnly': - C = global[type]; - try { - cloned = C.fromRect ? C.fromRect(value) : new C(value.x, value.y, value.width, value.height); - } catch (error) { - throwUnpolyfillable(type); - } - break; - case 'DOMMatrix': - case 'DOMMatrixReadOnly': - C = global[type]; - try { - cloned = C.fromMatrix ? C.fromMatrix(value) : new C(value); - } catch (error) { - throwUnpolyfillable(type); - } - break; - case 'AudioData': - case 'VideoFrame': - if (!isCallable(value.clone)) - throwUnpolyfillable(type); - try { - cloned = value.clone(); - } catch (error) { - throwUncloneable(type); - } - break; - case 'File': - try { - cloned = new File([value], value.name, value); - } catch (error) { - throwUnpolyfillable(type); - } - break; - case 'CropTarget': - case 'CryptoKey': - case 'FileSystemDirectoryHandle': - case 'FileSystemFileHandle': - case 'FileSystemHandle': - case 'GPUCompilationInfo': - case 'GPUCompilationMessage': - case 'ImageBitmap': - case 'RTCCertificate': - case 'WebAssembly.Module': - throwUnpolyfillable(type); - default: - throwUncloneable(type); - } - } - mapSet(map, value, cloned); - if (deep) - switch (type) { - case 'Array': - case 'Object': - keys = objectKeys(value); - for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { - key = keys[i]; - createProperty(cloned, key, structuredCloneInternal(value[key], map)); - } - break; - case 'Map': - value.forEach(function (v, k) { - mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); - }); - break; - case 'Set': - value.forEach(function (v) { - setAdd(cloned, structuredCloneInternal(v, map)); - }); - break; - case 'Error': - createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map)); - if (hasOwn(value, 'cause')) { - createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map)); - } - if (name == 'AggregateError') { - cloned.errors = structuredCloneInternal(value.errors, map); - } - case 'DOMException': - if (ERROR_STACK_INSTALLABLE) { - createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map)); - } - } - return cloned; -}; -var PROPER_TRANSFER = nativeStructuredClone && !fails(function () { - if (IS_DENO && V8 > 92 || IS_NODE && V8 > 94 || IS_BROWSER && V8 > 97) - return false; - var buffer = new ArrayBuffer(8); - var clone = nativeStructuredClone(buffer, { transfer: [buffer] }); - return buffer.byteLength != 0 || clone.byteLength != 8; -}); -var tryToTransfer = function (rawTransfer, map) { - if (!isObject(rawTransfer)) - throw TypeError('Transfer option cannot be converted to a sequence'); - var transfer = []; - iterate(rawTransfer, function (value) { - push(transfer, anObject(value)); - }); - var i = 0; - var length = lengthOfArrayLike(transfer); - var value, type, C, transferredArray, transferred, canvas, context; - if (PROPER_TRANSFER) { - transferredArray = nativeStructuredClone(transfer, { transfer: transfer }); - while (i < length) - mapSet(map, transfer[i], transferredArray[i++]); - } else - while (i < length) { - value = transfer[i++]; - if (mapHas(map, value)) - throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); - type = classof(value); - switch (type) { - case 'ImageBitmap': - C = global.OffscreenCanvas; - if (!isConstructor(C)) - throwUnpolyfillable(type, TRANSFERRING); - try { - canvas = new C(value.width, value.height); - context = canvas.getContext('bitmaprenderer'); - context.transferFromImageBitmap(value); - transferred = canvas.transferToImageBitmap(); - } catch (error) { - } - break; - case 'AudioData': - case 'VideoFrame': - if (!isCallable(value.clone) || !isCallable(value.close)) - throwUnpolyfillable(type, TRANSFERRING); - try { - transferred = value.clone(); - value.close(); - } catch (error) { - } - break; - case 'ArrayBuffer': - case 'MediaSourceHandle': - case 'MessagePort': - case 'OffscreenCanvas': - case 'ReadableStream': - case 'TransformStream': - case 'WritableStream': - throwUnpolyfillable(type, TRANSFERRING); - } - if (transferred === undefined) - throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); - mapSet(map, value, transferred); - } -}; -$({ - global: true, - enumerable: true, - sham: !PROPER_TRANSFER, - forced: FORCED_REPLACEMENT -}, { - structuredClone: function structuredClone(value) { - var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; - var transfer = options ? options.transfer : undefined; - var map; - if (transfer !== undefined) { - map = new Map(); - tryToTransfer(transfer, map); - } - return structuredCloneInternal(value, map); - } -}); - -/***/ }), -/* 124 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var uncurryThis = __w_pdfjs_require__(17); -var fails = __w_pdfjs_require__(10); -var isCallable = __w_pdfjs_require__(25); -var classof = __w_pdfjs_require__(83); -var getBuiltIn = __w_pdfjs_require__(28); -var inspectSource = __w_pdfjs_require__(55); -var noop = function () { -}; -var empty = []; -var construct = getBuiltIn('Reflect', 'construct'); -var constructorRegExp = /^\s*(?:class|function)\b/; -var exec = uncurryThis(constructorRegExp.exec); -var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); -var isConstructorModern = function isConstructor(argument) { - if (!isCallable(argument)) - return false; - try { - construct(noop, empty, argument); - return true; - } catch (error) { - return false; - } -}; -var isConstructorLegacy = function isConstructor(argument) { - if (!isCallable(argument)) - return false; - switch (classof(argument)) { - case 'AsyncFunction': - case 'GeneratorFunction': - case 'AsyncGeneratorFunction': - return false; - } - try { - return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); - } catch (error) { - return true; - } -}; -isConstructorLegacy.sham = true; -module.exports = !construct || fails(function () { - var called; - return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function () { - called = true; - }) || called; -}) ? isConstructorLegacy : isConstructorModern; - -/***/ }), -/* 125 */ -/***/ ((module) => { - -var $TypeError = TypeError; -module.exports = function (passed, required) { - if (passed < required) - throw $TypeError('Not enough arguments'); - return passed; -}; - -/***/ }), -/* 126 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var call = __w_pdfjs_require__(11); -var hasOwn = __w_pdfjs_require__(43); -var isPrototypeOf = __w_pdfjs_require__(29); -var regExpFlags = __w_pdfjs_require__(127); -var RegExpPrototype = RegExp.prototype; -module.exports = function (R) { - var flags = R.flags; - return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) ? call(regExpFlags, R) : flags; -}; - -/***/ }), -/* 127 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -"use strict"; - -var anObject = __w_pdfjs_require__(51); -module.exports = function () { - var that = anObject(this); - var result = ''; - if (that.hasIndices) - result += 'd'; - if (that.global) - result += 'g'; - if (that.ignoreCase) - result += 'i'; - if (that.multiline) - result += 'm'; - if (that.dotAll) - result += 's'; - if (that.unicode) - result += 'u'; - if (that.unicodeSets) - result += 'v'; - if (that.sticky) - result += 'y'; - return result; -}; - -/***/ }), -/* 128 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var fails = __w_pdfjs_require__(10); -var createPropertyDescriptor = __w_pdfjs_require__(14); -module.exports = !fails(function () { - var error = Error('a'); - if (!('stack' in error)) - return true; - Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); - return error.stack !== 7; -}); - -/***/ }), -/* 129 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var IS_DENO = __w_pdfjs_require__(130); -var IS_NODE = __w_pdfjs_require__(131); -module.exports = !IS_DENO && !IS_NODE && typeof window == 'object' && typeof document == 'object'; - -/***/ }), -/* 130 */ -/***/ ((module) => { - -module.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object'; - -/***/ }), -/* 131 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var classof = __w_pdfjs_require__(18); -var global = __w_pdfjs_require__(7); -module.exports = classof(global.process) == 'process'; - -/***/ }), -/* 132 */ -/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { - -var global = __w_pdfjs_require__(7); -module.exports = global; - -/***/ }), -/* 133 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.build = exports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0; -exports.getDocument = getDocument; -exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory; -exports.version = void 0; -var _util = __w_pdfjs_require__(1); -var _annotation_storage = __w_pdfjs_require__(134); -var _display_utils = __w_pdfjs_require__(137); -var _font_loader = __w_pdfjs_require__(140); -var _canvas = __w_pdfjs_require__(141); -var _worker_options = __w_pdfjs_require__(144); -var _is_node = __w_pdfjs_require__(3); -var _message_handler = __w_pdfjs_require__(145); -var _metadata = __w_pdfjs_require__(146); -var _optional_content_config = __w_pdfjs_require__(147); -var _transport_stream = __w_pdfjs_require__(148); -var _xfa_text = __w_pdfjs_require__(149); -function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } -function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } -function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } -function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } -function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } -function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } -function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } -function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } -function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, "get"); return _classApplyDescriptorGet(receiver, descriptor); } -function _classCheckPrivateStaticFieldDescriptor(descriptor, action) { if (descriptor === undefined) { throw new TypeError("attempted to " + action + " private static field before its declaration"); } } -function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } } -function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } -const DEFAULT_RANGE_CHUNK_SIZE = 65536; -const RENDERING_CANCELLED_TIMEOUT = 100; -let DefaultCanvasFactory = _display_utils.DOMCanvasFactory; -exports.DefaultCanvasFactory = DefaultCanvasFactory; -let DefaultCMapReaderFactory = _display_utils.DOMCMapReaderFactory; -exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory; -let DefaultStandardFontDataFactory = _display_utils.DOMStandardFontDataFactory; -exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory; -if (_is_node.isNodeJS) { - const { - NodeCanvasFactory, - NodeCMapReaderFactory, - NodeStandardFontDataFactory - } = __w_pdfjs_require__(150); - exports.DefaultCanvasFactory = DefaultCanvasFactory = NodeCanvasFactory; - exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory = NodeCMapReaderFactory; - exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory = NodeStandardFontDataFactory; -} -let createPDFNetworkStream; -function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) { - createPDFNetworkStream = pdfNetworkStreamFactory; -} -function getDocument(src) { - const task = new PDFDocumentLoadingTask(); - let source; - if (typeof src === "string" || src instanceof URL) { - source = { - url: src - }; - } else if ((0, _util.isArrayBuffer)(src)) { - source = { - data: src - }; - } else if (src instanceof PDFDataRangeTransport) { - source = { - range: src - }; - } else { - if (typeof src !== "object") { - throw new Error("Invalid parameter in getDocument, " + "need either string, URL, TypedArray, or parameter object."); - } - if (!src.url && !src.data && !src.range) { - throw new Error("Invalid parameter object: need either .data, .range or .url"); - } - source = src; - } - const params = Object.create(null); - let rangeTransport = null, - worker = null; - for (const key in source) { - const value = source[key]; - switch (key) { - case "url": - if (typeof window !== "undefined") { - try { - params[key] = new URL(value, window.location).href; - continue; - } catch (ex) { - (0, _util.warn)(`Cannot create valid URL: "${ex}".`); - } - } else if (typeof value === "string" || value instanceof URL) { - params[key] = value.toString(); - continue; - } - throw new Error("Invalid PDF url data: " + "either string or URL-object is expected in the url property."); - case "range": - rangeTransport = value; - continue; - case "worker": - worker = value; - continue; - case "data": - if (_is_node.isNodeJS && typeof Buffer !== "undefined" && value instanceof Buffer) { - params[key] = new Uint8Array(value); - } else if (value instanceof Uint8Array) { - break; - } else if (typeof value === "string") { - params[key] = (0, _util.stringToBytes)(value); - } else if (typeof value === "object" && value !== null && !isNaN(value.length)) { - params[key] = new Uint8Array(value); - } else if ((0, _util.isArrayBuffer)(value)) { - params[key] = new Uint8Array(value); - } else { - throw new Error("Invalid PDF binary data: either TypedArray, " + "string, or array-like object is expected in the data property."); - } - continue; - } - params[key] = value; - } - params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory; - params.StandardFontDataFactory = params.StandardFontDataFactory || DefaultStandardFontDataFactory; - params.ignoreErrors = params.stopAtErrors !== true; - params.fontExtraProperties = params.fontExtraProperties === true; - params.pdfBug = params.pdfBug === true; - params.enableXfa = params.enableXfa === true; - if (!Number.isInteger(params.rangeChunkSize) || params.rangeChunkSize < 1) { - params.rangeChunkSize = DEFAULT_RANGE_CHUNK_SIZE; - } - if (typeof params.docBaseUrl !== "string" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) { - params.docBaseUrl = null; - } - if (!Number.isInteger(params.maxImageSize) || params.maxImageSize < -1) { - params.maxImageSize = -1; - } - if (typeof params.cMapUrl !== "string") { - params.cMapUrl = null; - } - if (typeof params.standardFontDataUrl !== "string") { - params.standardFontDataUrl = null; - } - if (typeof params.useWorkerFetch !== "boolean") { - params.useWorkerFetch = params.CMapReaderFactory === _display_utils.DOMCMapReaderFactory && params.StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory; - } - if (typeof params.isEvalSupported !== "boolean") { - params.isEvalSupported = true; - } - if (typeof params.isOffscreenCanvasSupported !== "boolean") { - params.isOffscreenCanvasSupported = !_is_node.isNodeJS; - } - if (typeof params.disableFontFace !== "boolean") { - params.disableFontFace = _is_node.isNodeJS; - } - if (typeof params.useSystemFonts !== "boolean") { - params.useSystemFonts = !_is_node.isNodeJS && !params.disableFontFace; - } - if (typeof params.ownerDocument !== "object" || params.ownerDocument === null) { - params.ownerDocument = globalThis.document; - } - if (typeof params.disableRange !== "boolean") { - params.disableRange = false; - } - if (typeof params.disableStream !== "boolean") { - params.disableStream = false; - } - if (typeof params.disableAutoFetch !== "boolean") { - params.disableAutoFetch = false; - } - (0, _util.setVerbosityLevel)(params.verbosity); - if (!worker) { - const workerParams = { - verbosity: params.verbosity, - port: _worker_options.GlobalWorkerOptions.workerPort - }; - worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams); - task._worker = worker; - } - const docId = task.docId; - worker.promise.then(function () { - if (task.destroyed) { - throw new Error("Loading aborted"); - } - const workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId); - const networkStreamPromise = new Promise(function (resolve) { - let networkStream; - if (rangeTransport) { - networkStream = new _transport_stream.PDFDataTransportStream({ - length: params.length, - initialData: params.initialData, - progressiveDone: params.progressiveDone, - contentDispositionFilename: params.contentDispositionFilename, - disableRange: params.disableRange, - disableStream: params.disableStream - }, rangeTransport); - } else if (!params.data) { - networkStream = createPDFNetworkStream({ - url: params.url, - length: params.length, - httpHeaders: params.httpHeaders, - withCredentials: params.withCredentials, - rangeChunkSize: params.rangeChunkSize, - disableRange: params.disableRange, - disableStream: params.disableStream - }); - } - resolve(networkStream); - }); - return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) { - let [workerId, networkStream] = _ref; - if (task.destroyed) { - throw new Error("Loading aborted"); - } - const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port); - const transport = new WorkerTransport(messageHandler, task, networkStream, params); - task._transport = transport; - messageHandler.send("Ready", null); - }); - }).catch(task._capability.reject); - return task; -} -async function _fetchDocument(worker, source, pdfDataRangeTransport, docId) { - if (worker.destroyed) { - throw new Error("Worker was destroyed"); - } - if (pdfDataRangeTransport) { - source.length = pdfDataRangeTransport.length; - source.initialData = pdfDataRangeTransport.initialData; - source.progressiveDone = pdfDataRangeTransport.progressiveDone; - source.contentDispositionFilename = pdfDataRangeTransport.contentDispositionFilename; - } - const workerId = await worker.messageHandler.sendWithPromise("GetDocRequest", { - docId, - apiVersion: '3.0.279', - data: source.data, - password: source.password, - disableAutoFetch: source.disableAutoFetch, - rangeChunkSize: source.rangeChunkSize, - length: source.length, - docBaseUrl: source.docBaseUrl, - enableXfa: source.enableXfa, - evaluatorOptions: { - maxImageSize: source.maxImageSize, - disableFontFace: source.disableFontFace, - ignoreErrors: source.ignoreErrors, - isEvalSupported: source.isEvalSupported, - isOffscreenCanvasSupported: source.isOffscreenCanvasSupported, - fontExtraProperties: source.fontExtraProperties, - useSystemFonts: source.useSystemFonts, - cMapUrl: source.useWorkerFetch ? source.cMapUrl : null, - standardFontDataUrl: source.useWorkerFetch ? source.standardFontDataUrl : null - } - }); - if (source.data) { - source.data = null; - } - if (worker.destroyed) { - throw new Error("Worker was destroyed"); - } - return workerId; -} -class PDFDocumentLoadingTask { - constructor() { - var _PDFDocumentLoadingTa, _PDFDocumentLoadingTa2; - this._capability = (0, _util.createPromiseCapability)(); - this._transport = null; - this._worker = null; - this.docId = `d${(_classStaticPrivateFieldSpecSet(PDFDocumentLoadingTask, PDFDocumentLoadingTask, _docId, (_PDFDocumentLoadingTa = _classStaticPrivateFieldSpecGet(PDFDocumentLoadingTask, PDFDocumentLoadingTask, _docId), _PDFDocumentLoadingTa2 = _PDFDocumentLoadingTa++, _PDFDocumentLoadingTa)), _PDFDocumentLoadingTa2)}`; - this.destroyed = false; - this.onPassword = null; - this.onProgress = null; - this.onUnsupportedFeature = null; - } - get promise() { - return this._capability.promise; - } - async destroy() { - var _this$_transport; - this.destroyed = true; - await ((_this$_transport = this._transport) === null || _this$_transport === void 0 ? void 0 : _this$_transport.destroy()); - this._transport = null; - if (this._worker) { - this._worker.destroy(); - this._worker = null; - } - } -} -exports.PDFDocumentLoadingTask = PDFDocumentLoadingTask; -var _docId = { - writable: true, - value: 0 -}; -class PDFDataRangeTransport { - constructor(length, initialData) { - let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - let contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; - this.length = length; - this.initialData = initialData; - this.progressiveDone = progressiveDone; - this.contentDispositionFilename = contentDispositionFilename; - this._rangeListeners = []; - this._progressListeners = []; - this._progressiveReadListeners = []; - this._progressiveDoneListeners = []; - this._readyCapability = (0, _util.createPromiseCapability)(); - } - addRangeListener(listener) { - this._rangeListeners.push(listener); - } - addProgressListener(listener) { - this._progressListeners.push(listener); - } - addProgressiveReadListener(listener) { - this._progressiveReadListeners.push(listener); - } - addProgressiveDoneListener(listener) { - this._progressiveDoneListeners.push(listener); - } - onDataRange(begin, chunk) { - for (const listener of this._rangeListeners) { - listener(begin, chunk); - } - } - onDataProgress(loaded, total) { - this._readyCapability.promise.then(() => { - for (const listener of this._progressListeners) { - listener(loaded, total); - } - }); - } - onDataProgressiveRead(chunk) { - this._readyCapability.promise.then(() => { - for (const listener of this._progressiveReadListeners) { - listener(chunk); - } - }); - } - onDataProgressiveDone() { - this._readyCapability.promise.then(() => { - for (const listener of this._progressiveDoneListeners) { - listener(); - } - }); - } - transportReady() { - this._readyCapability.resolve(); - } - requestDataRange(begin, end) { - (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange"); - } - abort() {} -} -exports.PDFDataRangeTransport = PDFDataRangeTransport; -class PDFDocumentProxy { - constructor(pdfInfo, transport) { - this._pdfInfo = pdfInfo; - this._transport = transport; - } - get annotationStorage() { - return this._transport.annotationStorage; - } - get numPages() { - return this._pdfInfo.numPages; - } - get fingerprints() { - return this._pdfInfo.fingerprints; - } - get stats() { - return this._transport.stats; - } - get isPureXfa() { - return !!this._transport._htmlForXfa; - } - get allXfaHtml() { - return this._transport._htmlForXfa; - } - getPage(pageNumber) { - return this._transport.getPage(pageNumber); - } - getPageIndex(ref) { - return this._transport.getPageIndex(ref); - } - getDestinations() { - return this._transport.getDestinations(); - } - getDestination(id) { - return this._transport.getDestination(id); - } - getPageLabels() { - return this._transport.getPageLabels(); - } - getPageLayout() { - return this._transport.getPageLayout(); - } - getPageMode() { - return this._transport.getPageMode(); - } - getViewerPreferences() { - return this._transport.getViewerPreferences(); - } - getOpenAction() { - return this._transport.getOpenAction(); - } - getAttachments() { - return this._transport.getAttachments(); - } - getJavaScript() { - return this._transport.getJavaScript(); - } - getJSActions() { - return this._transport.getDocJSActions(); - } - getOutline() { - return this._transport.getOutline(); - } - getOptionalContentConfig() { - return this._transport.getOptionalContentConfig(); - } - getPermissions() { - return this._transport.getPermissions(); - } - getMetadata() { - return this._transport.getMetadata(); - } - getMarkInfo() { - return this._transport.getMarkInfo(); - } - getData() { - return this._transport.getData(); - } - saveDocument() { - return this._transport.saveDocument(); - } - getDownloadInfo() { - return this._transport.downloadInfoCapability.promise; - } - cleanup() { - let keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa); - } - destroy() { - return this.loadingTask.destroy(); - } - get loadingParams() { - return this._transport.loadingParams; - } - get loadingTask() { - return this._transport.loadingTask; - } - getFieldObjects() { - return this._transport.getFieldObjects(); - } - hasJSActions() { - return this._transport.hasJSActions(); - } - getCalculationOrderIds() { - return this._transport.getCalculationOrderIds(); - } -} -exports.PDFDocumentProxy = PDFDocumentProxy; -class PDFPageProxy { - constructor(pageIndex, pageInfo, transport, ownerDocument) { - let pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; - this._pageIndex = pageIndex; - this._pageInfo = pageInfo; - this._ownerDocument = ownerDocument; - this._transport = transport; - this._stats = pdfBug ? new _display_utils.StatTimer() : null; - this._pdfBug = pdfBug; - this.commonObjs = transport.commonObjs; - this.objs = new PDFObjects(); - this._bitmaps = new Set(); - this.cleanupAfterRender = false; - this.pendingCleanup = false; - this._intentStates = new Map(); - this._annotationPromises = new Map(); - this.destroyed = false; - } - get pageNumber() { - return this._pageIndex + 1; - } - get rotate() { - return this._pageInfo.rotate; - } - get ref() { - return this._pageInfo.ref; - } - get userUnit() { - return this._pageInfo.userUnit; - } - get view() { - return this._pageInfo.view; - } - getViewport() { - let { - scale, - rotation = this.rotate, - offsetX = 0, - offsetY = 0, - dontFlip = false - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - return new _display_utils.PageViewport({ - viewBox: this.view, - scale, - rotation, - offsetX, - offsetY, - dontFlip - }); - } - getAnnotations() { - let { - intent = "display" - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - const intentArgs = this._transport.getRenderingIntent(intent); - let promise = this._annotationPromises.get(intentArgs.cacheKey); - if (!promise) { - promise = this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent); - this._annotationPromises.set(intentArgs.cacheKey, promise); - } - return promise; - } - getJSActions() { - return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex)); - } - async getXfa() { - var _this$_transport$_htm; - return ((_this$_transport$_htm = this._transport._htmlForXfa) === null || _this$_transport$_htm === void 0 ? void 0 : _this$_transport$_htm.children[this._pageIndex]) || null; - } - render(_ref2) { - var _this$_stats, _intentState; - let { - canvasContext, - viewport, - intent = "display", - annotationMode = _util.AnnotationMode.ENABLE, - transform = null, - canvasFactory = null, - background = null, - optionalContentConfigPromise = null, - annotationCanvasMap = null, - pageColors = null, - printAnnotationStorage = null - } = _ref2; - (_this$_stats = this._stats) === null || _this$_stats === void 0 ? void 0 : _this$_stats.time("Overall"); - const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage); - this.pendingCleanup = false; - if (!optionalContentConfigPromise) { - optionalContentConfigPromise = this._transport.getOptionalContentConfig(); - } - let intentState = this._intentStates.get(intentArgs.cacheKey); - if (!intentState) { - intentState = Object.create(null); - this._intentStates.set(intentArgs.cacheKey, intentState); - } - if (intentState.streamReaderCancelTimeout) { - clearTimeout(intentState.streamReaderCancelTimeout); - intentState.streamReaderCancelTimeout = null; - } - const canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({ - ownerDocument: this._ownerDocument - }); - const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT); - if (!intentState.displayReadyCapability) { - var _this$_stats2; - intentState.displayReadyCapability = (0, _util.createPromiseCapability)(); - intentState.operatorList = { - fnArray: [], - argsArray: [], - lastChunk: false, - separateAnnots: null - }; - (_this$_stats2 = this._stats) === null || _this$_stats2 === void 0 ? void 0 : _this$_stats2.time("Page Request"); - this._pumpOperatorList(intentArgs); - } - const complete = error => { - var _this$_stats3, _this$_stats4; - intentState.renderTasks.delete(internalRenderTask); - if (this.cleanupAfterRender || intentPrint) { - this.pendingCleanup = true; - } - this._tryCleanup(); - if (error) { - internalRenderTask.capability.reject(error); - this._abortOperatorList({ - intentState, - reason: error instanceof Error ? error : new Error(error) - }); - } else { - internalRenderTask.capability.resolve(); - } - (_this$_stats3 = this._stats) === null || _this$_stats3 === void 0 ? void 0 : _this$_stats3.timeEnd("Rendering"); - (_this$_stats4 = this._stats) === null || _this$_stats4 === void 0 ? void 0 : _this$_stats4.timeEnd("Overall"); - }; - const internalRenderTask = new InternalRenderTask({ - callback: complete, - params: { - canvasContext, - viewport, - transform, - background - }, - objs: this.objs, - commonObjs: this.commonObjs, - annotationCanvasMap, - operatorList: intentState.operatorList, - pageIndex: this._pageIndex, - canvasFactory: canvasFactoryInstance, - useRequestAnimationFrame: !intentPrint, - pdfBug: this._pdfBug, - pageColors - }); - ((_intentState = intentState).renderTasks || (_intentState.renderTasks = new Set())).add(internalRenderTask); - const renderTask = internalRenderTask.task; - Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(_ref3 => { - var _this$_stats5; - let [transparency, optionalContentConfig] = _ref3; - if (this.pendingCleanup) { - complete(); - return; - } - (_this$_stats5 = this._stats) === null || _this$_stats5 === void 0 ? void 0 : _this$_stats5.time("Rendering"); - internalRenderTask.initializeGraphics({ - transparency, - optionalContentConfig - }); - internalRenderTask.operatorListChanged(); - }).catch(complete); - return renderTask; - } - getOperatorList() { - let { - intent = "display", - annotationMode = _util.AnnotationMode.ENABLE, - printAnnotationStorage = null - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - function operatorListChanged() { - if (intentState.operatorList.lastChunk) { - intentState.opListReadCapability.resolve(intentState.operatorList); - intentState.renderTasks.delete(opListTask); - } - } - const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, true); - let intentState = this._intentStates.get(intentArgs.cacheKey); - if (!intentState) { - intentState = Object.create(null); - this._intentStates.set(intentArgs.cacheKey, intentState); - } - let opListTask; - if (!intentState.opListReadCapability) { - var _intentState2, _this$_stats6; - opListTask = Object.create(null); - opListTask.operatorListChanged = operatorListChanged; - intentState.opListReadCapability = (0, _util.createPromiseCapability)(); - ((_intentState2 = intentState).renderTasks || (_intentState2.renderTasks = new Set())).add(opListTask); - intentState.operatorList = { - fnArray: [], - argsArray: [], - lastChunk: false, - separateAnnots: null - }; - (_this$_stats6 = this._stats) === null || _this$_stats6 === void 0 ? void 0 : _this$_stats6.time("Page Request"); - this._pumpOperatorList(intentArgs); - } - return intentState.opListReadCapability.promise; - } - streamTextContent() { - let { - disableCombineTextItems = false, - includeMarkedContent = false - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - const TEXT_CONTENT_CHUNK_SIZE = 100; - return this._transport.messageHandler.sendWithStream("GetTextContent", { - pageIndex: this._pageIndex, - combineTextItems: disableCombineTextItems !== true, - includeMarkedContent: includeMarkedContent === true - }, { - highWaterMark: TEXT_CONTENT_CHUNK_SIZE, - size(textContent) { - return textContent.items.length; - } - }); - } - getTextContent() { - let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - if (this._transport._htmlForXfa) { - return this.getXfa().then(xfa => { - return _xfa_text.XfaText.textContent(xfa); - }); - } - const readableStream = this.streamTextContent(params); - return new Promise(function (resolve, reject) { - function pump() { - reader.read().then(function (_ref4) { - let { - value, - done - } = _ref4; - if (done) { - resolve(textContent); - return; - } - Object.assign(textContent.styles, value.styles); - textContent.items.push(...value.items); - pump(); - }, reject); - } - const reader = readableStream.getReader(); - const textContent = { - items: [], - styles: Object.create(null) - }; - pump(); - }); - } - getStructTree() { - return this._structTreePromise || (this._structTreePromise = this._transport.getStructTree(this._pageIndex)); - } - _destroy() { - this.destroyed = true; - const waitOn = []; - for (const intentState of this._intentStates.values()) { - this._abortOperatorList({ - intentState, - reason: new Error("Page was destroyed."), - force: true - }); - if (intentState.opListReadCapability) { - continue; - } - for (const internalRenderTask of intentState.renderTasks) { - waitOn.push(internalRenderTask.completed); - internalRenderTask.cancel(); - } - } - this.objs.clear(); - for (const bitmap of this._bitmaps) { - bitmap.close(); - } - this._bitmaps.clear(); - this._annotationPromises.clear(); - this._jsActionsPromise = null; - this._structTreePromise = null; - this.pendingCleanup = false; - return Promise.all(waitOn); - } - cleanup() { - let resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - this.pendingCleanup = true; - return this._tryCleanup(resetStats); - } - _tryCleanup() { - let resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - if (!this.pendingCleanup) { - return false; - } - for (const { - renderTasks, - operatorList - } of this._intentStates.values()) { - if (renderTasks.size > 0 || !operatorList.lastChunk) { - return false; - } - } - this._intentStates.clear(); - this.objs.clear(); - this._annotationPromises.clear(); - this._jsActionsPromise = null; - this._structTreePromise = null; - if (resetStats && this._stats) { - this._stats = new _display_utils.StatTimer(); - } - for (const bitmap of this._bitmaps) { - bitmap.close(); - } - this._bitmaps.clear(); - this.pendingCleanup = false; - return true; - } - _startRenderPage(transparency, cacheKey) { - var _this$_stats7, _intentState$displayR; - const intentState = this._intentStates.get(cacheKey); - if (!intentState) { - return; - } - (_this$_stats7 = this._stats) === null || _this$_stats7 === void 0 ? void 0 : _this$_stats7.timeEnd("Page Request"); - (_intentState$displayR = intentState.displayReadyCapability) === null || _intentState$displayR === void 0 ? void 0 : _intentState$displayR.resolve(transparency); - } - _renderPageChunk(operatorListChunk, intentState) { - for (let i = 0, ii = operatorListChunk.length; i < ii; i++) { - intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]); - intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]); - } - intentState.operatorList.lastChunk = operatorListChunk.lastChunk; - intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots; - for (const internalRenderTask of intentState.renderTasks) { - internalRenderTask.operatorListChanged(); - } - if (operatorListChunk.lastChunk) { - this._tryCleanup(); - } - } - _pumpOperatorList(_ref5) { - let { - renderingIntent, - cacheKey, - annotationStorageMap - } = _ref5; - const readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", { - pageIndex: this._pageIndex, - intent: renderingIntent, - cacheKey, - annotationStorage: annotationStorageMap - }); - const reader = readableStream.getReader(); - const intentState = this._intentStates.get(cacheKey); - intentState.streamReader = reader; - const pump = () => { - reader.read().then(_ref6 => { - let { - value, - done - } = _ref6; - if (done) { - intentState.streamReader = null; - return; - } - if (this._transport.destroyed) { - return; - } - this._renderPageChunk(value, intentState); - pump(); - }, reason => { - intentState.streamReader = null; - if (this._transport.destroyed) { - return; - } - if (intentState.operatorList) { - intentState.operatorList.lastChunk = true; - for (const internalRenderTask of intentState.renderTasks) { - internalRenderTask.operatorListChanged(); - } - this._tryCleanup(); - } - if (intentState.displayReadyCapability) { - intentState.displayReadyCapability.reject(reason); - } else if (intentState.opListReadCapability) { - intentState.opListReadCapability.reject(reason); - } else { - throw reason; - } - }); - }; - pump(); - } - _abortOperatorList(_ref7) { - let { - intentState, - reason, - force = false - } = _ref7; - if (!intentState.streamReader) { - return; - } - if (!force) { - if (intentState.renderTasks.size > 0) { - return; - } - if (reason instanceof _display_utils.RenderingCancelledException) { - intentState.streamReaderCancelTimeout = setTimeout(() => { - this._abortOperatorList({ - intentState, - reason, - force: true - }); - intentState.streamReaderCancelTimeout = null; - }, RENDERING_CANCELLED_TIMEOUT); - return; - } - } - intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {}); - intentState.streamReader = null; - if (this._transport.destroyed) { - return; - } - for (const [curCacheKey, curIntentState] of this._intentStates) { - if (curIntentState === intentState) { - this._intentStates.delete(curCacheKey); - break; - } - } - this.cleanup(); - } - get stats() { - return this._stats; - } -} -exports.PDFPageProxy = PDFPageProxy; -var _listeners = /*#__PURE__*/new WeakMap(); -var _deferred = /*#__PURE__*/new WeakMap(); -class LoopbackPort { - constructor() { - _classPrivateFieldInitSpec(this, _listeners, { - writable: true, - value: [] - }); - _classPrivateFieldInitSpec(this, _deferred, { - writable: true, - value: Promise.resolve() - }); - } - postMessage(obj, transfers) { - const event = { - data: structuredClone(obj, transfers) - }; - _classPrivateFieldGet(this, _deferred).then(() => { - for (const listener of _classPrivateFieldGet(this, _listeners)) { - listener.call(this, event); - } - }); - } - addEventListener(name, listener) { - _classPrivateFieldGet(this, _listeners).push(listener); - } - removeEventListener(name, listener) { - const i = _classPrivateFieldGet(this, _listeners).indexOf(listener); - _classPrivateFieldGet(this, _listeners).splice(i, 1); - } - terminate() { - _classPrivateFieldGet(this, _listeners).length = 0; - } -} -exports.LoopbackPort = LoopbackPort; -const PDFWorkerUtil = { - isWorkerDisabled: false, - fallbackWorkerSrc: null, - fakeWorkerId: 0 -}; -exports.PDFWorkerUtil = PDFWorkerUtil; -{ - if (_is_node.isNodeJS && typeof require === "function") { - PDFWorkerUtil.isWorkerDisabled = true; - PDFWorkerUtil.fallbackWorkerSrc = "./pdf.worker.js"; - } else if (typeof document === "object") { - var _document, _document$currentScri; - const pdfjsFilePath = (_document = document) === null || _document === void 0 ? void 0 : (_document$currentScri = _document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.src; - if (pdfjsFilePath) { - PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2"); - } - } - PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) { - let base; - try { - base = new URL(baseUrl); - if (!base.origin || base.origin === "null") { - return false; - } - } catch (e) { - return false; - } - const other = new URL(otherUrl, base); - return base.origin === other.origin; - }; - PDFWorkerUtil.createCDNWrapper = function (url) { - const wrapper = `importScripts("${url}");`; - return URL.createObjectURL(new Blob([wrapper])); - }; -} -class PDFWorker { - constructor() { - let { - name = null, - port = null, - verbosity = (0, _util.getVerbosityLevel)() - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - if (port && _classStaticPrivateFieldSpecGet(PDFWorker, PDFWorker, _workerPorts).has(port)) { - throw new Error("Cannot use more than one PDFWorker per port."); - } - this.name = name; - this.destroyed = false; - this.verbosity = verbosity; - this._readyCapability = (0, _util.createPromiseCapability)(); - this._port = null; - this._webWorker = null; - this._messageHandler = null; - if (port) { - _classStaticPrivateFieldSpecGet(PDFWorker, PDFWorker, _workerPorts).set(port, this); - this._initializeFromPort(port); - return; - } - this._initialize(); - } - get promise() { - return this._readyCapability.promise; - } - get port() { - return this._port; - } - get messageHandler() { - return this._messageHandler; - } - _initializeFromPort(port) { - this._port = port; - this._messageHandler = new _message_handler.MessageHandler("main", "worker", port); - this._messageHandler.on("ready", function () {}); - this._readyCapability.resolve(); - this._messageHandler.send("configure", { - verbosity: this.verbosity - }); - } - _initialize() { - if (!PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) { - let { - workerSrc - } = PDFWorker; - try { - if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) { - workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href); - } - const worker = new Worker(workerSrc); - const messageHandler = new _message_handler.MessageHandler("main", "worker", worker); - const terminateEarly = () => { - worker.removeEventListener("error", onWorkerError); - messageHandler.destroy(); - worker.terminate(); - if (this.destroyed) { - this._readyCapability.reject(new Error("Worker was destroyed")); - } else { - this._setupFakeWorker(); - } - }; - const onWorkerError = () => { - if (!this._webWorker) { - terminateEarly(); - } - }; - worker.addEventListener("error", onWorkerError); - messageHandler.on("test", data => { - worker.removeEventListener("error", onWorkerError); - if (this.destroyed) { - terminateEarly(); - return; - } - if (data) { - this._messageHandler = messageHandler; - this._port = worker; - this._webWorker = worker; - this._readyCapability.resolve(); - messageHandler.send("configure", { - verbosity: this.verbosity - }); - } else { - this._setupFakeWorker(); - messageHandler.destroy(); - worker.terminate(); - } - }); - messageHandler.on("ready", data => { - worker.removeEventListener("error", onWorkerError); - if (this.destroyed) { - terminateEarly(); - return; - } - try { - sendTest(); - } catch (e) { - this._setupFakeWorker(); - } - }); - const sendTest = () => { - const testObj = new Uint8Array(); - messageHandler.send("test", testObj, [testObj.buffer]); - }; - sendTest(); - return; - } catch (e) { - (0, _util.info)("The worker has been disabled."); - } - } - this._setupFakeWorker(); - } - _setupFakeWorker() { - if (!PDFWorkerUtil.isWorkerDisabled) { - (0, _util.warn)("Setting up fake worker."); - PDFWorkerUtil.isWorkerDisabled = true; - } - PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => { - if (this.destroyed) { - this._readyCapability.reject(new Error("Worker was destroyed")); - return; - } - const port = new LoopbackPort(); - this._port = port; - const id = `fake${PDFWorkerUtil.fakeWorkerId++}`; - const workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port); - WorkerMessageHandler.setup(workerHandler, port); - const messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port); - this._messageHandler = messageHandler; - this._readyCapability.resolve(); - messageHandler.send("configure", { - verbosity: this.verbosity - }); - }).catch(reason => { - this._readyCapability.reject(new Error(`Setting up fake worker failed: "${reason.message}".`)); - }); - } - destroy() { - this.destroyed = true; - if (this._webWorker) { - this._webWorker.terminate(); - this._webWorker = null; - } - _classStaticPrivateFieldSpecGet(PDFWorker, PDFWorker, _workerPorts).delete(this._port); - this._port = null; - if (this._messageHandler) { - this._messageHandler.destroy(); - this._messageHandler = null; - } - } - static fromPort(params) { - if (!(params !== null && params !== void 0 && params.port)) { - throw new Error("PDFWorker.fromPort - invalid method signature."); - } - if (_classStaticPrivateFieldSpecGet(this, PDFWorker, _workerPorts).has(params.port)) { - return _classStaticPrivateFieldSpecGet(this, PDFWorker, _workerPorts).get(params.port); - } - return new PDFWorker(params); - } - static get workerSrc() { - if (_worker_options.GlobalWorkerOptions.workerSrc) { - return _worker_options.GlobalWorkerOptions.workerSrc; - } - if (PDFWorkerUtil.fallbackWorkerSrc !== null) { - if (!_is_node.isNodeJS) { - (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'); - } - return PDFWorkerUtil.fallbackWorkerSrc; - } - throw new Error('No "GlobalWorkerOptions.workerSrc" specified.'); - } - static get _mainThreadWorkerMessageHandler() { - try { - var _globalThis$pdfjsWork; - return ((_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.WorkerMessageHandler) || null; - } catch (ex) { - return null; - } - } - static get _setupFakeWorkerGlobal() { - const loader = async () => { - const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler; - if (mainWorkerMessageHandler) { - return mainWorkerMessageHandler; - } - if (_is_node.isNodeJS && typeof require === "function") { - const worker = eval("require")(this.workerSrc); - return worker.WorkerMessageHandler; - } - await (0, _display_utils.loadScript)(this.workerSrc); - return window.pdfjsWorker.WorkerMessageHandler; - }; - return (0, _util.shadow)(this, "_setupFakeWorkerGlobal", loader()); - } -} -exports.PDFWorker = PDFWorker; -var _workerPorts = { - writable: true, - value: new WeakMap() -}; -var _docStats = /*#__PURE__*/new WeakMap(); -var _pageCache = /*#__PURE__*/new WeakMap(); -var _pagePromises = /*#__PURE__*/new WeakMap(); -var _metadataPromise = /*#__PURE__*/new WeakMap(); -class WorkerTransport { - constructor(messageHandler, loadingTask, networkStream, params) { - _classPrivateFieldInitSpec(this, _docStats, { - writable: true, - value: null - }); - _classPrivateFieldInitSpec(this, _pageCache, { - writable: true, - value: new Map() - }); - _classPrivateFieldInitSpec(this, _pagePromises, { - writable: true, - value: new Map() - }); - _classPrivateFieldInitSpec(this, _metadataPromise, { - writable: true, - value: null - }); - this.messageHandler = messageHandler; - this.loadingTask = loadingTask; - this.commonObjs = new PDFObjects(); - this.fontLoader = new _font_loader.FontLoader({ - onUnsupportedFeature: this._onUnsupportedFeature.bind(this), - ownerDocument: params.ownerDocument, - styleElement: params.styleElement - }); - this._params = params; - if (!params.useWorkerFetch) { - this.CMapReaderFactory = new params.CMapReaderFactory({ - baseUrl: params.cMapUrl, - isCompressed: params.cMapPacked - }); - this.StandardFontDataFactory = new params.StandardFontDataFactory({ - baseUrl: params.standardFontDataUrl - }); - } - this.destroyed = false; - this.destroyCapability = null; - this._passwordCapability = null; - this._networkStream = networkStream; - this._fullReader = null; - this._lastProgress = null; - this.downloadInfoCapability = (0, _util.createPromiseCapability)(); - this.setupMessageHandler(); - } - get annotationStorage() { - return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage()); - } - get stats() { - return _classPrivateFieldGet(this, _docStats); - } - getRenderingIntent(intent) { - let annotationMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util.AnnotationMode.ENABLE; - let printAnnotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - let isOpList = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; - let renderingIntent = _util.RenderingIntentFlag.DISPLAY; - let annotationMap = null; - switch (intent) { - case "any": - renderingIntent = _util.RenderingIntentFlag.ANY; - break; - case "display": - break; - case "print": - renderingIntent = _util.RenderingIntentFlag.PRINT; - break; - default: - (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`); - } - switch (annotationMode) { - case _util.AnnotationMode.DISABLE: - renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE; - break; - case _util.AnnotationMode.ENABLE: - break; - case _util.AnnotationMode.ENABLE_FORMS: - renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS; - break; - case _util.AnnotationMode.ENABLE_STORAGE: - renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE; - const annotationStorage = renderingIntent & _util.RenderingIntentFlag.PRINT && printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage; - annotationMap = annotationStorage.serializable; - break; - default: - (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`); - } - if (isOpList) { - renderingIntent += _util.RenderingIntentFlag.OPLIST; - } - return { - renderingIntent, - cacheKey: `${renderingIntent}_${_annotation_storage.AnnotationStorage.getHash(annotationMap)}`, - annotationStorageMap: annotationMap - }; - } - destroy() { - if (this.destroyCapability) { - return this.destroyCapability.promise; - } - this.destroyed = true; - this.destroyCapability = (0, _util.createPromiseCapability)(); - if (this._passwordCapability) { - this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback")); - } - const waitOn = []; - for (const page of _classPrivateFieldGet(this, _pageCache).values()) { - waitOn.push(page._destroy()); - } - _classPrivateFieldGet(this, _pageCache).clear(); - _classPrivateFieldGet(this, _pagePromises).clear(); - if (this.hasOwnProperty("annotationStorage")) { - this.annotationStorage.resetModified(); - } - const terminated = this.messageHandler.sendWithPromise("Terminate", null); - waitOn.push(terminated); - Promise.all(waitOn).then(() => { - this.commonObjs.clear(); - this.fontLoader.clear(); - _classPrivateFieldSet(this, _metadataPromise, null); - this._getFieldObjectsPromise = null; - this._hasJSActionsPromise = null; - if (this._networkStream) { - this._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated.")); - } - if (this.messageHandler) { - this.messageHandler.destroy(); - this.messageHandler = null; - } - this.destroyCapability.resolve(); - }, this.destroyCapability.reject); - return this.destroyCapability.promise; - } - setupMessageHandler() { - const { - messageHandler, - loadingTask - } = this; - messageHandler.on("GetReader", (data, sink) => { - (0, _util.assert)(this._networkStream, "GetReader - no `IPDFStream` instance available."); - this._fullReader = this._networkStream.getFullReader(); - this._fullReader.onProgress = evt => { - this._lastProgress = { - loaded: evt.loaded, - total: evt.total - }; - }; - sink.onPull = () => { - this._fullReader.read().then(function (_ref8) { - let { - value, - done - } = _ref8; - if (done) { - sink.close(); - return; - } - (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetReader - expected an ArrayBuffer."); - sink.enqueue(new Uint8Array(value), 1, [value]); - }).catch(reason => { - sink.error(reason); - }); - }; - sink.onCancel = reason => { - this._fullReader.cancel(reason); - sink.ready.catch(readyReason => { - if (this.destroyed) { - return; - } - throw readyReason; - }); - }; - }); - messageHandler.on("ReaderHeadersReady", data => { - const headersCapability = (0, _util.createPromiseCapability)(); - const fullReader = this._fullReader; - fullReader.headersReady.then(() => { - if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) { - if (this._lastProgress) { - var _loadingTask$onProgre; - (_loadingTask$onProgre = loadingTask.onProgress) === null || _loadingTask$onProgre === void 0 ? void 0 : _loadingTask$onProgre.call(loadingTask, this._lastProgress); - } - fullReader.onProgress = evt => { - var _loadingTask$onProgre2; - (_loadingTask$onProgre2 = loadingTask.onProgress) === null || _loadingTask$onProgre2 === void 0 ? void 0 : _loadingTask$onProgre2.call(loadingTask, { - loaded: evt.loaded, - total: evt.total - }); - }; - } - headersCapability.resolve({ - isStreamingSupported: fullReader.isStreamingSupported, - isRangeSupported: fullReader.isRangeSupported, - contentLength: fullReader.contentLength - }); - }, headersCapability.reject); - return headersCapability.promise; - }); - messageHandler.on("GetRangeReader", (data, sink) => { - (0, _util.assert)(this._networkStream, "GetRangeReader - no `IPDFStream` instance available."); - const rangeReader = this._networkStream.getRangeReader(data.begin, data.end); - if (!rangeReader) { - sink.close(); - return; - } - sink.onPull = () => { - rangeReader.read().then(function (_ref9) { - let { - value, - done - } = _ref9; - if (done) { - sink.close(); - return; - } - (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetRangeReader - expected an ArrayBuffer."); - sink.enqueue(new Uint8Array(value), 1, [value]); - }).catch(reason => { - sink.error(reason); - }); - }; - sink.onCancel = reason => { - rangeReader.cancel(reason); - sink.ready.catch(readyReason => { - if (this.destroyed) { - return; - } - throw readyReason; - }); - }; - }); - messageHandler.on("GetDoc", _ref10 => { - let { - pdfInfo - } = _ref10; - this._numPages = pdfInfo.numPages; - this._htmlForXfa = pdfInfo.htmlForXfa; - delete pdfInfo.htmlForXfa; - loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this)); - }); - messageHandler.on("DocException", function (ex) { - let reason; - switch (ex.name) { - case "PasswordException": - reason = new _util.PasswordException(ex.message, ex.code); - break; - case "InvalidPDFException": - reason = new _util.InvalidPDFException(ex.message); - break; - case "MissingPDFException": - reason = new _util.MissingPDFException(ex.message); - break; - case "UnexpectedResponseException": - reason = new _util.UnexpectedResponseException(ex.message, ex.status); - break; - case "UnknownErrorException": - reason = new _util.UnknownErrorException(ex.message, ex.details); - break; - default: - (0, _util.unreachable)("DocException - expected a valid Error."); - } - loadingTask._capability.reject(reason); - }); - messageHandler.on("PasswordRequest", exception => { - this._passwordCapability = (0, _util.createPromiseCapability)(); - if (loadingTask.onPassword) { - const updatePassword = password => { - if (password instanceof Error) { - this._passwordCapability.reject(password); - } else { - this._passwordCapability.resolve({ - password - }); - } - }; - try { - loadingTask.onPassword(updatePassword, exception.code); - } catch (ex) { - this._passwordCapability.reject(ex); - } - } else { - this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code)); - } - return this._passwordCapability.promise; - }); - messageHandler.on("DataLoaded", data => { - var _loadingTask$onProgre3; - (_loadingTask$onProgre3 = loadingTask.onProgress) === null || _loadingTask$onProgre3 === void 0 ? void 0 : _loadingTask$onProgre3.call(loadingTask, { - loaded: data.length, - total: data.length - }); - this.downloadInfoCapability.resolve(data); - }); - messageHandler.on("StartRenderPage", data => { - if (this.destroyed) { - return; - } - const page = _classPrivateFieldGet(this, _pageCache).get(data.pageIndex); - page._startRenderPage(data.transparency, data.cacheKey); - }); - messageHandler.on("commonobj", _ref11 => { - var _globalThis$FontInspe; - let [id, type, exportedData] = _ref11; - if (this.destroyed) { - return; - } - if (this.commonObjs.has(id)) { - return; - } - switch (type) { - case "Font": - const params = this._params; - if ("error" in exportedData) { - const exportedError = exportedData.error; - (0, _util.warn)(`Error during font loading: ${exportedError}`); - this.commonObjs.resolve(id, exportedError); - break; - } - let fontRegistry = null; - if (params.pdfBug && (_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled) { - fontRegistry = { - registerFont(font, url) { - globalThis.FontInspector.fontAdded(font, url); - } - }; - } - const font = new _font_loader.FontFaceObject(exportedData, { - isEvalSupported: params.isEvalSupported, - disableFontFace: params.disableFontFace, - ignoreErrors: params.ignoreErrors, - onUnsupportedFeature: this._onUnsupportedFeature.bind(this), - fontRegistry - }); - this.fontLoader.bind(font).catch(reason => { - return messageHandler.sendWithPromise("FontFallback", { - id - }); - }).finally(() => { - if (!params.fontExtraProperties && font.data) { - font.data = null; - } - this.commonObjs.resolve(id, font); - }); - break; - case "FontPath": - case "Image": - this.commonObjs.resolve(id, exportedData); - break; - default: - throw new Error(`Got unknown common object type ${type}`); - } - }); - messageHandler.on("obj", _ref12 => { - let [id, pageIndex, type, imageData] = _ref12; - if (this.destroyed) { - return; - } - const pageProxy = _classPrivateFieldGet(this, _pageCache).get(pageIndex); - if (pageProxy.objs.has(id)) { - return; - } - switch (type) { - case "Image": - pageProxy.objs.resolve(id, imageData); - const MAX_IMAGE_SIZE_TO_STORE = 8000000; - if (imageData) { - let length; - if (imageData.bitmap) { - const { - bitmap, - width, - height - } = imageData; - length = width * height * 4; - pageProxy._bitmaps.add(bitmap); - } else { - var _imageData$data; - length = ((_imageData$data = imageData.data) === null || _imageData$data === void 0 ? void 0 : _imageData$data.length) || 0; - } - if (length > MAX_IMAGE_SIZE_TO_STORE) { - pageProxy.cleanupAfterRender = true; - } - } - break; - case "Pattern": - pageProxy.objs.resolve(id, imageData); - break; - default: - throw new Error(`Got unknown object type ${type}`); - } - }); - messageHandler.on("DocProgress", data => { - var _loadingTask$onProgre4; - if (this.destroyed) { - return; - } - (_loadingTask$onProgre4 = loadingTask.onProgress) === null || _loadingTask$onProgre4 === void 0 ? void 0 : _loadingTask$onProgre4.call(loadingTask, { - loaded: data.loaded, - total: data.total - }); - }); - messageHandler.on("DocStats", data => { - if (this.destroyed) { - return; - } - _classPrivateFieldSet(this, _docStats, Object.freeze({ - streamTypes: Object.freeze(data.streamTypes), - fontTypes: Object.freeze(data.fontTypes) - })); - }); - messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this)); - messageHandler.on("FetchBuiltInCMap", data => { - if (this.destroyed) { - return Promise.reject(new Error("Worker was destroyed.")); - } - if (!this.CMapReaderFactory) { - return Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.")); - } - return this.CMapReaderFactory.fetch(data); - }); - messageHandler.on("FetchStandardFontData", data => { - if (this.destroyed) { - return Promise.reject(new Error("Worker was destroyed.")); - } - if (!this.StandardFontDataFactory) { - return Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")); - } - return this.StandardFontDataFactory.fetch(data); - }); - } - _onUnsupportedFeature(_ref13) { - var _this$loadingTask$onU, _this$loadingTask; - let { - featureId - } = _ref13; - if (this.destroyed) { - return; - } - (_this$loadingTask$onU = (_this$loadingTask = this.loadingTask).onUnsupportedFeature) === null || _this$loadingTask$onU === void 0 ? void 0 : _this$loadingTask$onU.call(_this$loadingTask, featureId); - } - getData() { - return this.messageHandler.sendWithPromise("GetData", null); - } - saveDocument() { - var _this$_fullReader; - if (this.annotationStorage.size <= 0) { - (0, _util.warn)("saveDocument called while `annotationStorage` is empty, " + "please use the getData-method instead."); - } - return this.messageHandler.sendWithPromise("SaveDocument", { - isPureXfa: !!this._htmlForXfa, - numPages: this._numPages, - annotationStorage: this.annotationStorage.serializable, - filename: ((_this$_fullReader = this._fullReader) === null || _this$_fullReader === void 0 ? void 0 : _this$_fullReader.filename) ?? null - }).finally(() => { - this.annotationStorage.resetModified(); - }); - } - getPage(pageNumber) { - if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) { - return Promise.reject(new Error("Invalid page request.")); - } - const pageIndex = pageNumber - 1, - cachedPromise = _classPrivateFieldGet(this, _pagePromises).get(pageIndex); - if (cachedPromise) { - return cachedPromise; - } - const promise = this.messageHandler.sendWithPromise("GetPage", { - pageIndex - }).then(pageInfo => { - if (this.destroyed) { - throw new Error("Transport destroyed"); - } - const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.ownerDocument, this._params.pdfBug); - _classPrivateFieldGet(this, _pageCache).set(pageIndex, page); - return page; - }); - _classPrivateFieldGet(this, _pagePromises).set(pageIndex, promise); - return promise; - } - getPageIndex(ref) { - if (typeof ref !== "object" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) { - return Promise.reject(new Error("Invalid pageIndex request.")); - } - return this.messageHandler.sendWithPromise("GetPageIndex", { - num: ref.num, - gen: ref.gen - }); - } - getAnnotations(pageIndex, intent) { - return this.messageHandler.sendWithPromise("GetAnnotations", { - pageIndex, - intent - }); - } - getFieldObjects() { - return this._getFieldObjectsPromise || (this._getFieldObjectsPromise = this.messageHandler.sendWithPromise("GetFieldObjects", null)); - } - hasJSActions() { - return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise("HasJSActions", null)); - } - getCalculationOrderIds() { - return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null); - } - getDestinations() { - return this.messageHandler.sendWithPromise("GetDestinations", null); - } - getDestination(id) { - if (typeof id !== "string") { - return Promise.reject(new Error("Invalid destination request.")); - } - return this.messageHandler.sendWithPromise("GetDestination", { - id - }); - } - getPageLabels() { - return this.messageHandler.sendWithPromise("GetPageLabels", null); - } - getPageLayout() { - return this.messageHandler.sendWithPromise("GetPageLayout", null); - } - getPageMode() { - return this.messageHandler.sendWithPromise("GetPageMode", null); - } - getViewerPreferences() { - return this.messageHandler.sendWithPromise("GetViewerPreferences", null); - } - getOpenAction() { - return this.messageHandler.sendWithPromise("GetOpenAction", null); - } - getAttachments() { - return this.messageHandler.sendWithPromise("GetAttachments", null); - } - getJavaScript() { - return this.messageHandler.sendWithPromise("GetJavaScript", null); - } - getDocJSActions() { - return this.messageHandler.sendWithPromise("GetDocJSActions", null); - } - getPageJSActions(pageIndex) { - return this.messageHandler.sendWithPromise("GetPageJSActions", { - pageIndex - }); - } - getStructTree(pageIndex) { - return this.messageHandler.sendWithPromise("GetStructTree", { - pageIndex - }); - } - getOutline() { - return this.messageHandler.sendWithPromise("GetOutline", null); - } - getOptionalContentConfig() { - return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(results => { - return new _optional_content_config.OptionalContentConfig(results); - }); - } - getPermissions() { - return this.messageHandler.sendWithPromise("GetPermissions", null); - } - getMetadata() { - return _classPrivateFieldGet(this, _metadataPromise) || _classPrivateFieldSet(this, _metadataPromise, this.messageHandler.sendWithPromise("GetMetadata", null).then(results => { - var _this$_fullReader2, _this$_fullReader3; - return { - info: results[0], - metadata: results[1] ? new _metadata.Metadata(results[1]) : null, - contentDispositionFilename: ((_this$_fullReader2 = this._fullReader) === null || _this$_fullReader2 === void 0 ? void 0 : _this$_fullReader2.filename) ?? null, - contentLength: ((_this$_fullReader3 = this._fullReader) === null || _this$_fullReader3 === void 0 ? void 0 : _this$_fullReader3.contentLength) ?? null - }; - })); - } - getMarkInfo() { - return this.messageHandler.sendWithPromise("GetMarkInfo", null); - } - async startCleanup() { - let keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - if (this.destroyed) { - return; - } - await this.messageHandler.sendWithPromise("Cleanup", null); - for (const page of _classPrivateFieldGet(this, _pageCache).values()) { - const cleanupSuccessful = page.cleanup(); - if (!cleanupSuccessful) { - throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`); - } - } - this.commonObjs.clear(); - if (!keepLoadedFonts) { - this.fontLoader.clear(); - } - _classPrivateFieldSet(this, _metadataPromise, null); - this._getFieldObjectsPromise = null; - this._hasJSActionsPromise = null; - } - get loadingParams() { - const params = this._params; - return (0, _util.shadow)(this, "loadingParams", { - disableAutoFetch: params.disableAutoFetch, - enableXfa: params.enableXfa - }); - } -} -var _objs = /*#__PURE__*/new WeakMap(); -var _ensureObj = /*#__PURE__*/new WeakSet(); -class PDFObjects { - constructor() { - _classPrivateMethodInitSpec(this, _ensureObj); - _classPrivateFieldInitSpec(this, _objs, { - writable: true, - value: Object.create(null) - }); - } - get(objId) { - let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - if (callback) { - const obj = _classPrivateMethodGet(this, _ensureObj, _ensureObj2).call(this, objId); - obj.capability.promise.then(() => callback(obj.data)); - return null; - } - const obj = _classPrivateFieldGet(this, _objs)[objId]; - if (!(obj !== null && obj !== void 0 && obj.capability.settled)) { - throw new Error(`Requesting object that isn't resolved yet ${objId}.`); - } - return obj.data; - } - has(objId) { - const obj = _classPrivateFieldGet(this, _objs)[objId]; - return (obj === null || obj === void 0 ? void 0 : obj.capability.settled) || false; - } - resolve(objId) { - let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - const obj = _classPrivateMethodGet(this, _ensureObj, _ensureObj2).call(this, objId); - obj.data = data; - obj.capability.resolve(); - } - clear() { - _classPrivateFieldSet(this, _objs, Object.create(null)); - } -} -function _ensureObj2(objId) { - const obj = _classPrivateFieldGet(this, _objs)[objId]; - if (obj) { - return obj; - } - return _classPrivateFieldGet(this, _objs)[objId] = { - capability: (0, _util.createPromiseCapability)(), - data: null - }; -} -var _internalRenderTask = /*#__PURE__*/new WeakMap(); -class RenderTask { - constructor(internalRenderTask) { - _classPrivateFieldInitSpec(this, _internalRenderTask, { - writable: true, - value: null - }); - _classPrivateFieldSet(this, _internalRenderTask, internalRenderTask); - this.onContinue = null; - } - get promise() { - return _classPrivateFieldGet(this, _internalRenderTask).capability.promise; - } - cancel() { - _classPrivateFieldGet(this, _internalRenderTask).cancel(); - } - get separateAnnots() { - const { - separateAnnots - } = _classPrivateFieldGet(this, _internalRenderTask).operatorList; - if (!separateAnnots) { - return false; - } - const { - annotationCanvasMap - } = _classPrivateFieldGet(this, _internalRenderTask); - return separateAnnots.form || separateAnnots.canvas && (annotationCanvasMap === null || annotationCanvasMap === void 0 ? void 0 : annotationCanvasMap.size) > 0; - } -} -exports.RenderTask = RenderTask; -class InternalRenderTask { - constructor(_ref14) { - let { - callback, - params, - objs, - commonObjs, - annotationCanvasMap, - operatorList, - pageIndex, - canvasFactory, - useRequestAnimationFrame = false, - pdfBug = false, - pageColors = null - } = _ref14; - this.callback = callback; - this.params = params; - this.objs = objs; - this.commonObjs = commonObjs; - this.annotationCanvasMap = annotationCanvasMap; - this.operatorListIdx = null; - this.operatorList = operatorList; - this._pageIndex = pageIndex; - this.canvasFactory = canvasFactory; - this._pdfBug = pdfBug; - this.pageColors = pageColors; - this.running = false; - this.graphicsReadyCallback = null; - this.graphicsReady = false; - this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined"; - this.cancelled = false; - this.capability = (0, _util.createPromiseCapability)(); - this.task = new RenderTask(this); - this._cancelBound = this.cancel.bind(this); - this._continueBound = this._continue.bind(this); - this._scheduleNextBound = this._scheduleNext.bind(this); - this._nextBound = this._next.bind(this); - this._canvas = params.canvasContext.canvas; - } - get completed() { - return this.capability.promise.catch(function () {}); - } - initializeGraphics(_ref15) { - var _globalThis$StepperMa, _this$graphicsReadyCa; - let { - transparency = false, - optionalContentConfig - } = _ref15; - if (this.cancelled) { - return; - } - if (this._canvas) { - if (_classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse).has(this._canvas)) { - throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed."); - } - _classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse).add(this._canvas); - } - if (this._pdfBug && (_globalThis$StepperMa = globalThis.StepperManager) !== null && _globalThis$StepperMa !== void 0 && _globalThis$StepperMa.enabled) { - this.stepper = globalThis.StepperManager.create(this._pageIndex); - this.stepper.init(this.operatorList); - this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint(); - } - const { - canvasContext, - viewport, - transform, - background - } = this.params; - this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, optionalContentConfig, this.annotationCanvasMap, this.pageColors); - this.gfx.beginDrawing({ - transform, - viewport, - transparency, - background - }); - this.operatorListIdx = 0; - this.graphicsReady = true; - (_this$graphicsReadyCa = this.graphicsReadyCallback) === null || _this$graphicsReadyCa === void 0 ? void 0 : _this$graphicsReadyCa.call(this); - } - cancel() { - var _this$gfx; - let error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - this.running = false; - this.cancelled = true; - (_this$gfx = this.gfx) === null || _this$gfx === void 0 ? void 0 : _this$gfx.endDrawing(); - if (this._canvas) { - _classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse).delete(this._canvas); - } - this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, "canvas")); - } - operatorListChanged() { - var _this$stepper; - if (!this.graphicsReady) { - if (!this.graphicsReadyCallback) { - this.graphicsReadyCallback = this._continueBound; - } - return; - } - (_this$stepper = this.stepper) === null || _this$stepper === void 0 ? void 0 : _this$stepper.updateOperatorList(this.operatorList); - if (this.running) { - return; - } - this._continue(); - } - _continue() { - this.running = true; - if (this.cancelled) { - return; - } - if (this.task.onContinue) { - this.task.onContinue(this._scheduleNextBound); - } else { - this._scheduleNext(); - } - } - _scheduleNext() { - if (this._useRequestAnimationFrame) { - window.requestAnimationFrame(() => { - this._nextBound().catch(this._cancelBound); - }); - } else { - Promise.resolve().then(this._nextBound).catch(this._cancelBound); - } - } - async _next() { - if (this.cancelled) { - return; - } - this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper); - if (this.operatorListIdx === this.operatorList.argsArray.length) { - this.running = false; - if (this.operatorList.lastChunk) { - this.gfx.endDrawing(); - if (this._canvas) { - _classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse).delete(this._canvas); - } - this.callback(); - } - } - } -} -var _canvasInUse = { - writable: true, - value: new WeakSet() -}; -const version = '3.0.279'; -exports.version = version; -const build = 'd0823066c'; -exports.build = build; - -/***/ }), -/* 134 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.PrintAnnotationStorage = exports.AnnotationStorage = void 0; -var _util = __w_pdfjs_require__(1); -var _editor = __w_pdfjs_require__(135); -var _murmurhash = __w_pdfjs_require__(139); -function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } -function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } -function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } -function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } -function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } -function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } -function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } -function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } -var _setModified = /*#__PURE__*/new WeakSet(); -class AnnotationStorage { - constructor() { - _classPrivateMethodInitSpec(this, _setModified); - this._storage = new Map(); - this._modified = false; - this.onSetModified = null; - this.onResetModified = null; - this.onAnnotationEditor = null; - } - getValue(key, defaultValue) { - const value = this._storage.get(key); - if (value === undefined) { - return defaultValue; - } - return Object.assign(defaultValue, value); - } - getRawValue(key) { - return this._storage.get(key); - } - remove(key) { - this._storage.delete(key); - if (this._storage.size === 0) { - this.resetModified(); - } - if (typeof this.onAnnotationEditor === "function") { - for (const value of this._storage.values()) { - if (value instanceof _editor.AnnotationEditor) { - return; - } - } - this.onAnnotationEditor(null); - } - } - setValue(key, value) { - const obj = this._storage.get(key); - let modified = false; - if (obj !== undefined) { - for (const [entry, val] of Object.entries(value)) { - if (obj[entry] !== val) { - modified = true; - obj[entry] = val; - } - } - } else { - modified = true; - this._storage.set(key, value); - } - if (modified) { - _classPrivateMethodGet(this, _setModified, _setModified2).call(this); - } - if (value instanceof _editor.AnnotationEditor && typeof this.onAnnotationEditor === "function") { - this.onAnnotationEditor(value.constructor._type); - } - } - has(key) { - return this._storage.has(key); - } - getAll() { - return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null; - } - get size() { - return this._storage.size; - } - resetModified() { - if (this._modified) { - this._modified = false; - if (typeof this.onResetModified === "function") { - this.onResetModified(); - } - } - } - get print() { - return new PrintAnnotationStorage(this); - } - get serializable() { - if (this._storage.size === 0) { - return null; - } - const clone = new Map(); - for (const [key, val] of this._storage) { - const serialized = val instanceof _editor.AnnotationEditor ? val.serialize() : val; - if (serialized) { - clone.set(key, serialized); - } - } - return clone; - } - static getHash(map) { - if (!map) { - return ""; - } - const hash = new _murmurhash.MurmurHash3_64(); - for (const [key, val] of map) { - hash.update(`${key}:${JSON.stringify(val)}`); - } - return hash.hexdigest(); - } -} -exports.AnnotationStorage = AnnotationStorage; -function _setModified2() { - if (!this._modified) { - this._modified = true; - if (typeof this.onSetModified === "function") { - this.onSetModified(); - } - } -} -var _serializable = /*#__PURE__*/new WeakMap(); -class PrintAnnotationStorage extends AnnotationStorage { - constructor(parent) { - super(); - _classPrivateFieldInitSpec(this, _serializable, { - writable: true, - value: null - }); - _classPrivateFieldSet(this, _serializable, structuredClone(parent.serializable)); - } - get print() { - (0, _util.unreachable)("Should not call PrintAnnotationStorage.print"); - } - get serializable() { - return _classPrivateFieldGet(this, _serializable); - } -} -exports.PrintAnnotationStorage = PrintAnnotationStorage; - -/***/ }), -/* 135 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.AnnotationEditor = void 0; -var _tools = __w_pdfjs_require__(136); -var _util = __w_pdfjs_require__(1); -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } -function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } -function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } -function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } -function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } -function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } -var _boundFocusin = /*#__PURE__*/new WeakMap(); -var _boundFocusout = /*#__PURE__*/new WeakMap(); -var _hasBeenSelected = /*#__PURE__*/new WeakMap(); -var _isEditing = /*#__PURE__*/new WeakMap(); -var _isInEditMode = /*#__PURE__*/new WeakMap(); -var _zIndex = /*#__PURE__*/new WeakMap(); -class AnnotationEditor { - constructor(parameters) { - _classPrivateFieldInitSpec(this, _boundFocusin, { - writable: true, - value: this.focusin.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundFocusout, { - writable: true, - value: this.focusout.bind(this) - }); - _classPrivateFieldInitSpec(this, _hasBeenSelected, { - writable: true, - value: false - }); - _classPrivateFieldInitSpec(this, _isEditing, { - writable: true, - value: false - }); - _classPrivateFieldInitSpec(this, _isInEditMode, { - writable: true, - value: false - }); - _classPrivateFieldInitSpec(this, _zIndex, { - writable: true, - value: AnnotationEditor._zIndex++ - }); - if (this.constructor === AnnotationEditor) { - (0, _util.unreachable)("Cannot initialize AnnotationEditor."); - } - this.parent = parameters.parent; - this.id = parameters.id; - this.width = this.height = null; - this.pageIndex = parameters.parent.pageIndex; - this.name = parameters.name; - this.div = null; - const [width, height] = this.parent.viewportBaseDimensions; - this.x = parameters.x / width; - this.y = parameters.y / height; - this.rotation = this.parent.viewport.rotation; - this.isAttachedToDOM = false; - } - static get _defaultLineColor() { - return (0, _util.shadow)(this, "_defaultLineColor", this._colorManager.getHexCode("CanvasText")); - } - setInBackground() { - this.div.style.zIndex = 0; - } - setInForeground() { - this.div.style.zIndex = _classPrivateFieldGet(this, _zIndex); - } - focusin(event) { - if (!_classPrivateFieldGet(this, _hasBeenSelected)) { - this.parent.setSelected(this); - } else { - _classPrivateFieldSet(this, _hasBeenSelected, false); - } - } - focusout(event) { - if (!this.isAttachedToDOM) { - return; - } - const target = event.relatedTarget; - if (target !== null && target !== void 0 && target.closest(`#${this.id}`)) { - return; - } - event.preventDefault(); - if (!this.parent.isMultipleSelection) { - this.commitOrRemove(); - } - } - commitOrRemove() { - if (this.isEmpty()) { - this.remove(); - } else { - this.commit(); - } - } - commit() { - this.parent.addToAnnotationStorage(this); - } - dragstart(event) { - const rect = this.parent.div.getBoundingClientRect(); - this.startX = event.clientX - rect.x; - this.startY = event.clientY - rect.y; - event.dataTransfer.setData("text/plain", this.id); - event.dataTransfer.effectAllowed = "move"; - } - setAt(x, y, tx, ty) { - const [width, height] = this.parent.viewportBaseDimensions; - [tx, ty] = this.screenToPageTranslation(tx, ty); - this.x = (x + tx) / width; - this.y = (y + ty) / height; - this.div.style.left = `${100 * this.x}%`; - this.div.style.top = `${100 * this.y}%`; - } - translate(x, y) { - const [width, height] = this.parent.viewportBaseDimensions; - [x, y] = this.screenToPageTranslation(x, y); - this.x += x / width; - this.y += y / height; - this.div.style.left = `${100 * this.x}%`; - this.div.style.top = `${100 * this.y}%`; - } - screenToPageTranslation(x, y) { - const { - rotation - } = this.parent.viewport; - switch (rotation) { - case 90: - return [y, -x]; - case 180: - return [-x, -y]; - case 270: - return [-y, x]; - default: - return [x, y]; - } - } - setDims(width, height) { - const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions; - this.div.style.width = `${100 * width / parentWidth}%`; - this.div.style.height = `${100 * height / parentHeight}%`; - } - fixDims() { - const { - style - } = this.div; - const { - height, - width - } = style; - const widthPercent = width.endsWith("%"); - const heightPercent = height.endsWith("%"); - if (widthPercent && heightPercent) { - return; - } - const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions; - if (!widthPercent) { - style.width = `${100 * parseFloat(width) / parentWidth}%`; - } - if (!heightPercent) { - style.height = `${100 * parseFloat(height) / parentHeight}%`; - } - } - getInitialTranslation() { - return [0, 0]; - } - render() { - this.div = document.createElement("div"); - this.div.setAttribute("data-editor-rotation", (360 - this.rotation) % 360); - this.div.className = this.name; - this.div.setAttribute("id", this.id); - this.div.setAttribute("tabIndex", 0); - this.setInForeground(); - this.div.addEventListener("focusin", _classPrivateFieldGet(this, _boundFocusin)); - this.div.addEventListener("focusout", _classPrivateFieldGet(this, _boundFocusout)); - const [tx, ty] = this.getInitialTranslation(); - this.translate(tx, ty); - (0, _tools.bindEvents)(this, this.div, ["dragstart", "pointerdown"]); - return this.div; - } - pointerdown(event) { - const isMac = _tools.KeyboardManager.platform.isMac; - if (event.button !== 0 || event.ctrlKey && isMac) { - event.preventDefault(); - return; - } - if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) { - this.parent.toggleSelected(this); - } else { - this.parent.setSelected(this); - } - _classPrivateFieldSet(this, _hasBeenSelected, true); - } - getRect(tx, ty) { - const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions; - const [pageWidth, pageHeight] = this.parent.pageDimensions; - const shiftX = pageWidth * tx / parentWidth; - const shiftY = pageHeight * ty / parentHeight; - const x = this.x * pageWidth; - const y = this.y * pageHeight; - const width = this.width * pageWidth; - const height = this.height * pageHeight; - switch (this.rotation) { - case 0: - return [x + shiftX, pageHeight - y - shiftY - height, x + shiftX + width, pageHeight - y - shiftY]; - case 90: - return [x + shiftY, pageHeight - y + shiftX, x + shiftY + height, pageHeight - y + shiftX + width]; - case 180: - return [x - shiftX - width, pageHeight - y + shiftY, x - shiftX, pageHeight - y + shiftY + height]; - case 270: - return [x - shiftY - height, pageHeight - y - shiftX - width, x - shiftY, pageHeight - y - shiftX]; - default: - throw new Error("Invalid rotation"); - } - } - getRectInCurrentCoords(rect, pageHeight) { - const [x1, y1, x2, y2] = rect; - const width = x2 - x1; - const height = y2 - y1; - switch (this.rotation) { - case 0: - return [x1, pageHeight - y2, width, height]; - case 90: - return [x1, pageHeight - y1, height, width]; - case 180: - return [x2, pageHeight - y1, width, height]; - case 270: - return [x2, pageHeight - y2, height, width]; - default: - throw new Error("Invalid rotation"); - } - } - onceAdded() {} - isEmpty() { - return false; - } - enableEditMode() { - _classPrivateFieldSet(this, _isInEditMode, true); - } - disableEditMode() { - _classPrivateFieldSet(this, _isInEditMode, false); - } - isInEditMode() { - return _classPrivateFieldGet(this, _isInEditMode); - } - shouldGetKeyboardEvents() { - return false; - } - needsToBeRebuilt() { - return this.div && !this.isAttachedToDOM; - } - rebuild() { - var _this$div; - (_this$div = this.div) === null || _this$div === void 0 ? void 0 : _this$div.addEventListener("focusin", _classPrivateFieldGet(this, _boundFocusin)); - } - serialize() { - (0, _util.unreachable)("An editor must be serializable"); - } - static deserialize(data, parent) { - const editor = new this.prototype.constructor({ - parent, - id: parent.getNextId() - }); - editor.rotation = data.rotation; - const [pageWidth, pageHeight] = parent.pageDimensions; - const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight); - editor.x = x / pageWidth; - editor.y = y / pageHeight; - editor.width = width / pageWidth; - editor.height = height / pageHeight; - return editor; - } - remove() { - this.div.removeEventListener("focusin", _classPrivateFieldGet(this, _boundFocusin)); - this.div.removeEventListener("focusout", _classPrivateFieldGet(this, _boundFocusout)); - if (!this.isEmpty()) { - this.commit(); - } - this.parent.remove(this); - } - select() { - var _this$div2; - (_this$div2 = this.div) === null || _this$div2 === void 0 ? void 0 : _this$div2.classList.add("selectedEditor"); - } - unselect() { - var _this$div3; - (_this$div3 = this.div) === null || _this$div3 === void 0 ? void 0 : _this$div3.classList.remove("selectedEditor"); - } - updateParams(type, value) {} - disableEditing() {} - enableEditing() {} - get propertiesToUpdate() { - return {}; - } - get contentDiv() { - return this.div; - } - get isEditing() { - return _classPrivateFieldGet(this, _isEditing); - } - set isEditing(value) { - _classPrivateFieldSet(this, _isEditing, value); - if (value) { - this.parent.setSelected(this); - this.parent.setActiveEditor(this); - } else { - this.parent.setActiveEditor(null); - } - } -} -exports.AnnotationEditor = AnnotationEditor; -_defineProperty(AnnotationEditor, "_colorManager", new _tools.ColorManager()); -_defineProperty(AnnotationEditor, "_zIndex", 1); - -/***/ }), -/* 136 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.KeyboardManager = exports.CommandManager = exports.ColorManager = exports.AnnotationEditorUIManager = void 0; -exports.bindEvents = bindEvents; -exports.opacityToHex = opacityToHex; -var _util = __w_pdfjs_require__(1); -var _display_utils = __w_pdfjs_require__(137); -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } -function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } -function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } -function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } -function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } -function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } -function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } -function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } -function bindEvents(obj, element, names) { - for (const name of names) { - element.addEventListener(name, obj[name].bind(obj)); - } -} -function opacityToHex(opacity) { - return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, "0"); -} -var _id = /*#__PURE__*/new WeakMap(); -class IdManager { - constructor() { - _classPrivateFieldInitSpec(this, _id, { - writable: true, - value: 0 - }); - } - getId() { - var _this$id, _this$id2; - return `${_util.AnnotationEditorPrefix}${(_classPrivateFieldSet(this, _id, (_this$id = _classPrivateFieldGet(this, _id), _this$id2 = _this$id++, _this$id)), _this$id2)}`; - } -} -var _commands = /*#__PURE__*/new WeakMap(); -var _locked = /*#__PURE__*/new WeakMap(); -var _maxSize = /*#__PURE__*/new WeakMap(); -var _position = /*#__PURE__*/new WeakMap(); -class CommandManager { - constructor() { - let maxSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 128; - _classPrivateFieldInitSpec(this, _commands, { - writable: true, - value: [] - }); - _classPrivateFieldInitSpec(this, _locked, { - writable: true, - value: false - }); - _classPrivateFieldInitSpec(this, _maxSize, { - writable: true, - value: void 0 - }); - _classPrivateFieldInitSpec(this, _position, { - writable: true, - value: -1 - }); - _classPrivateFieldSet(this, _maxSize, maxSize); - } - add(_ref) { - let { - cmd, - undo, - mustExec, - type = NaN, - overwriteIfSameType = false, - keepUndo = false - } = _ref; - if (mustExec) { - cmd(); - } - if (_classPrivateFieldGet(this, _locked)) { - return; - } - const save = { - cmd, - undo, - type - }; - if (_classPrivateFieldGet(this, _position) === -1) { - if (_classPrivateFieldGet(this, _commands).length > 0) { - _classPrivateFieldGet(this, _commands).length = 0; - } - _classPrivateFieldSet(this, _position, 0); - _classPrivateFieldGet(this, _commands).push(save); - return; - } - if (overwriteIfSameType && _classPrivateFieldGet(this, _commands)[_classPrivateFieldGet(this, _position)].type === type) { - if (keepUndo) { - save.undo = _classPrivateFieldGet(this, _commands)[_classPrivateFieldGet(this, _position)].undo; - } - _classPrivateFieldGet(this, _commands)[_classPrivateFieldGet(this, _position)] = save; - return; - } - const next = _classPrivateFieldGet(this, _position) + 1; - if (next === _classPrivateFieldGet(this, _maxSize)) { - _classPrivateFieldGet(this, _commands).splice(0, 1); - } else { - _classPrivateFieldSet(this, _position, next); - if (next < _classPrivateFieldGet(this, _commands).length) { - _classPrivateFieldGet(this, _commands).splice(next); - } - } - _classPrivateFieldGet(this, _commands).push(save); - } - undo() { - if (_classPrivateFieldGet(this, _position) === -1) { - return; - } - _classPrivateFieldSet(this, _locked, true); - _classPrivateFieldGet(this, _commands)[_classPrivateFieldGet(this, _position)].undo(); - _classPrivateFieldSet(this, _locked, false); - _classPrivateFieldSet(this, _position, _classPrivateFieldGet(this, _position) - 1); - } - redo() { - if (_classPrivateFieldGet(this, _position) < _classPrivateFieldGet(this, _commands).length - 1) { - _classPrivateFieldSet(this, _position, _classPrivateFieldGet(this, _position) + 1); - _classPrivateFieldSet(this, _locked, true); - _classPrivateFieldGet(this, _commands)[_classPrivateFieldGet(this, _position)].cmd(); - _classPrivateFieldSet(this, _locked, false); - } - } - hasSomethingToUndo() { - return _classPrivateFieldGet(this, _position) !== -1; - } - hasSomethingToRedo() { - return _classPrivateFieldGet(this, _position) < _classPrivateFieldGet(this, _commands).length - 1; - } - destroy() { - _classPrivateFieldSet(this, _commands, null); - } -} -exports.CommandManager = CommandManager; -var _serialize = /*#__PURE__*/new WeakSet(); -class KeyboardManager { - constructor(callbacks) { - _classPrivateMethodInitSpec(this, _serialize); - this.buffer = []; - this.callbacks = new Map(); - this.allKeys = new Set(); - const isMac = KeyboardManager.platform.isMac; - for (const [keys, callback] of callbacks) { - for (const key of keys) { - const isMacKey = key.startsWith("mac+"); - if (isMac && isMacKey) { - this.callbacks.set(key.slice(4), callback); - this.allKeys.add(key.split("+").at(-1)); - } else if (!isMac && !isMacKey) { - this.callbacks.set(key, callback); - this.allKeys.add(key.split("+").at(-1)); - } - } - } - } - static get platform() { - const platform = typeof navigator !== "undefined" ? navigator.platform : ""; - return (0, _util.shadow)(this, "platform", { - isWin: platform.includes("Win"), - isMac: platform.includes("Mac") - }); - } - exec(self, event) { - if (!this.allKeys.has(event.key)) { - return; - } - const callback = this.callbacks.get(_classPrivateMethodGet(this, _serialize, _serialize2).call(this, event)); - if (!callback) { - return; - } - callback.bind(self)(); - event.stopPropagation(); - event.preventDefault(); - } -} -exports.KeyboardManager = KeyboardManager; -function _serialize2(event) { - if (event.altKey) { - this.buffer.push("alt"); - } - if (event.ctrlKey) { - this.buffer.push("ctrl"); - } - if (event.metaKey) { - this.buffer.push("meta"); - } - if (event.shiftKey) { - this.buffer.push("shift"); - } - this.buffer.push(event.key); - const str = this.buffer.join("+"); - this.buffer.length = 0; - return str; -} -class ColorManager { - get _colors() { - const colors = new Map([["CanvasText", null], ["Canvas", null]]); - (0, _display_utils.getColorValues)(colors); - return (0, _util.shadow)(this, "_colors", colors); - } - convert(color) { - const rgb = (0, _display_utils.getRGB)(color); - if (!window.matchMedia("(forced-colors: active)").matches) { - return rgb; - } - for (const [name, RGB] of this._colors) { - if (RGB.every((x, i) => x === rgb[i])) { - return ColorManager._colorsMapping.get(name); - } - } - return rgb; - } - getHexCode(name) { - const rgb = this._colors.get(name); - if (!rgb) { - return name; - } - return _util.Util.makeHexColor(...rgb); - } -} -exports.ColorManager = ColorManager; -_defineProperty(ColorManager, "_colorsMapping", new Map([["CanvasText", [0, 0, 0]], ["Canvas", [255, 255, 255]]])); -var _activeEditor = /*#__PURE__*/new WeakMap(); -var _allEditors = /*#__PURE__*/new WeakMap(); -var _allLayers = /*#__PURE__*/new WeakMap(); -var _commandManager = /*#__PURE__*/new WeakMap(); -var _currentPageIndex = /*#__PURE__*/new WeakMap(); -var _editorTypes = /*#__PURE__*/new WeakMap(); -var _eventBus = /*#__PURE__*/new WeakMap(); -var _idManager = /*#__PURE__*/new WeakMap(); -var _isEnabled = /*#__PURE__*/new WeakMap(); -var _mode = /*#__PURE__*/new WeakMap(); -var _selectedEditors = /*#__PURE__*/new WeakMap(); -var _boundCopy = /*#__PURE__*/new WeakMap(); -var _boundCut = /*#__PURE__*/new WeakMap(); -var _boundPaste = /*#__PURE__*/new WeakMap(); -var _boundKeydown = /*#__PURE__*/new WeakMap(); -var _boundOnEditingAction = /*#__PURE__*/new WeakMap(); -var _boundOnPageChanging = /*#__PURE__*/new WeakMap(); -var _previousStates = /*#__PURE__*/new WeakMap(); -var _container = /*#__PURE__*/new WeakMap(); -var _addKeyboardManager = /*#__PURE__*/new WeakSet(); -var _removeKeyboardManager = /*#__PURE__*/new WeakSet(); -var _addCopyPasteListeners = /*#__PURE__*/new WeakSet(); -var _removeCopyPasteListeners = /*#__PURE__*/new WeakSet(); -var _dispatchUpdateStates = /*#__PURE__*/new WeakSet(); -var _dispatchUpdateUI = /*#__PURE__*/new WeakSet(); -var _enableAll = /*#__PURE__*/new WeakSet(); -var _disableAll = /*#__PURE__*/new WeakSet(); -var _addEditorToLayer = /*#__PURE__*/new WeakSet(); -var _isEmpty = /*#__PURE__*/new WeakSet(); -var _selectEditors = /*#__PURE__*/new WeakSet(); -class AnnotationEditorUIManager { - constructor(container, eventBus) { - _classPrivateMethodInitSpec(this, _selectEditors); - _classPrivateMethodInitSpec(this, _isEmpty); - _classPrivateMethodInitSpec(this, _addEditorToLayer); - _classPrivateMethodInitSpec(this, _disableAll); - _classPrivateMethodInitSpec(this, _enableAll); - _classPrivateMethodInitSpec(this, _dispatchUpdateUI); - _classPrivateMethodInitSpec(this, _dispatchUpdateStates); - _classPrivateMethodInitSpec(this, _removeCopyPasteListeners); - _classPrivateMethodInitSpec(this, _addCopyPasteListeners); - _classPrivateMethodInitSpec(this, _removeKeyboardManager); - _classPrivateMethodInitSpec(this, _addKeyboardManager); - _classPrivateFieldInitSpec(this, _activeEditor, { - writable: true, - value: null - }); - _classPrivateFieldInitSpec(this, _allEditors, { - writable: true, - value: new Map() - }); - _classPrivateFieldInitSpec(this, _allLayers, { - writable: true, - value: new Map() - }); - _classPrivateFieldInitSpec(this, _commandManager, { - writable: true, - value: new CommandManager() - }); - _classPrivateFieldInitSpec(this, _currentPageIndex, { - writable: true, - value: 0 - }); - _classPrivateFieldInitSpec(this, _editorTypes, { - writable: true, - value: null - }); - _classPrivateFieldInitSpec(this, _eventBus, { - writable: true, - value: null - }); - _classPrivateFieldInitSpec(this, _idManager, { - writable: true, - value: new IdManager() - }); - _classPrivateFieldInitSpec(this, _isEnabled, { - writable: true, - value: false - }); - _classPrivateFieldInitSpec(this, _mode, { - writable: true, - value: _util.AnnotationEditorType.NONE - }); - _classPrivateFieldInitSpec(this, _selectedEditors, { - writable: true, - value: new Set() - }); - _classPrivateFieldInitSpec(this, _boundCopy, { - writable: true, - value: this.copy.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundCut, { - writable: true, - value: this.cut.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundPaste, { - writable: true, - value: this.paste.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundKeydown, { - writable: true, - value: this.keydown.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundOnEditingAction, { - writable: true, - value: this.onEditingAction.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundOnPageChanging, { - writable: true, - value: this.onPageChanging.bind(this) - }); - _classPrivateFieldInitSpec(this, _previousStates, { - writable: true, - value: { - isEditing: false, - isEmpty: true, - hasSomethingToUndo: false, - hasSomethingToRedo: false, - hasSelectedEditor: false - } - }); - _classPrivateFieldInitSpec(this, _container, { - writable: true, - value: null - }); - _classPrivateFieldSet(this, _container, container); - _classPrivateFieldSet(this, _eventBus, eventBus); - _classPrivateFieldGet(this, _eventBus)._on("editingaction", _classPrivateFieldGet(this, _boundOnEditingAction)); - _classPrivateFieldGet(this, _eventBus)._on("pagechanging", _classPrivateFieldGet(this, _boundOnPageChanging)); - } - destroy() { - _classPrivateMethodGet(this, _removeKeyboardManager, _removeKeyboardManager2).call(this); - _classPrivateFieldGet(this, _eventBus)._off("editingaction", _classPrivateFieldGet(this, _boundOnEditingAction)); - _classPrivateFieldGet(this, _eventBus)._off("pagechanging", _classPrivateFieldGet(this, _boundOnPageChanging)); - for (const layer of _classPrivateFieldGet(this, _allLayers).values()) { - layer.destroy(); - } - _classPrivateFieldGet(this, _allLayers).clear(); - _classPrivateFieldGet(this, _allEditors).clear(); - _classPrivateFieldSet(this, _activeEditor, null); - _classPrivateFieldGet(this, _selectedEditors).clear(); - _classPrivateFieldGet(this, _commandManager).destroy(); - } - onPageChanging(_ref2) { - let { - pageNumber - } = _ref2; - _classPrivateFieldSet(this, _currentPageIndex, pageNumber - 1); - } - focusMainContainer() { - _classPrivateFieldGet(this, _container).focus(); - } - copy(event) { - event.preventDefault(); - if (_classPrivateFieldGet(this, _activeEditor)) { - _classPrivateFieldGet(this, _activeEditor).commitOrRemove(); - } - if (!this.hasSelection) { - return; - } - const editors = []; - for (const editor of _classPrivateFieldGet(this, _selectedEditors)) { - if (!editor.isEmpty()) { - editors.push(editor.serialize()); - } - } - if (editors.length === 0) { - return; - } - event.clipboardData.setData("application/pdfjs", JSON.stringify(editors)); - } - cut(event) { - this.copy(event); - this.delete(); - } - paste(event) { - event.preventDefault(); - let data = event.clipboardData.getData("application/pdfjs"); - if (!data) { - return; - } - try { - data = JSON.parse(data); - } catch (ex) { - (0, _util.warn)(`paste: "${ex.message}".`); - return; - } - if (!Array.isArray(data)) { - return; - } - this.unselectAll(); - const layer = _classPrivateFieldGet(this, _allLayers).get(_classPrivateFieldGet(this, _currentPageIndex)); - try { - const newEditors = []; - for (const editor of data) { - const deserializedEditor = layer.deserialize(editor); - if (!deserializedEditor) { - return; - } - newEditors.push(deserializedEditor); - } - const cmd = () => { - for (const editor of newEditors) { - _classPrivateMethodGet(this, _addEditorToLayer, _addEditorToLayer2).call(this, editor); - } - _classPrivateMethodGet(this, _selectEditors, _selectEditors2).call(this, newEditors); - }; - const undo = () => { - for (const editor of newEditors) { - editor.remove(); - } - }; - this.addCommands({ - cmd, - undo, - mustExec: true - }); - } catch (ex) { - (0, _util.warn)(`paste: "${ex.message}".`); - } - } - keydown(event) { - var _this$getActive; - if (!((_this$getActive = this.getActive()) !== null && _this$getActive !== void 0 && _this$getActive.shouldGetKeyboardEvents())) { - AnnotationEditorUIManager._keyboardManager.exec(this, event); - } - } - onEditingAction(details) { - if (["undo", "redo", "delete", "selectAll"].includes(details.name)) { - this[details.name](); - } - } - setEditingState(isEditing) { - if (isEditing) { - _classPrivateMethodGet(this, _addKeyboardManager, _addKeyboardManager2).call(this); - _classPrivateMethodGet(this, _addCopyPasteListeners, _addCopyPasteListeners2).call(this); - _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, { - isEditing: _classPrivateFieldGet(this, _mode) !== _util.AnnotationEditorType.NONE, - isEmpty: _classPrivateMethodGet(this, _isEmpty, _isEmpty2).call(this), - hasSomethingToUndo: _classPrivateFieldGet(this, _commandManager).hasSomethingToUndo(), - hasSomethingToRedo: _classPrivateFieldGet(this, _commandManager).hasSomethingToRedo(), - hasSelectedEditor: false - }); - } else { - _classPrivateMethodGet(this, _removeKeyboardManager, _removeKeyboardManager2).call(this); - _classPrivateMethodGet(this, _removeCopyPasteListeners, _removeCopyPasteListeners2).call(this); - _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, { - isEditing: false - }); - } - } - registerEditorTypes(types) { - if (_classPrivateFieldGet(this, _editorTypes)) { - return; - } - _classPrivateFieldSet(this, _editorTypes, types); - for (const editorType of _classPrivateFieldGet(this, _editorTypes)) { - _classPrivateMethodGet(this, _dispatchUpdateUI, _dispatchUpdateUI2).call(this, editorType.defaultPropertiesToUpdate); - } - } - getId() { - return _classPrivateFieldGet(this, _idManager).getId(); - } - addLayer(layer) { - _classPrivateFieldGet(this, _allLayers).set(layer.pageIndex, layer); - if (_classPrivateFieldGet(this, _isEnabled)) { - layer.enable(); - } else { - layer.disable(); - } - } - removeLayer(layer) { - _classPrivateFieldGet(this, _allLayers).delete(layer.pageIndex); - } - updateMode(mode) { - _classPrivateFieldSet(this, _mode, mode); - if (mode === _util.AnnotationEditorType.NONE) { - this.setEditingState(false); - _classPrivateMethodGet(this, _disableAll, _disableAll2).call(this); - } else { - this.setEditingState(true); - _classPrivateMethodGet(this, _enableAll, _enableAll2).call(this); - for (const layer of _classPrivateFieldGet(this, _allLayers).values()) { - layer.updateMode(mode); - } - } - } - updateToolbar(mode) { - if (mode === _classPrivateFieldGet(this, _mode)) { - return; - } - _classPrivateFieldGet(this, _eventBus).dispatch("switchannotationeditormode", { - source: this, - mode - }); - } - updateParams(type, value) { - if (!_classPrivateFieldGet(this, _editorTypes)) { - return; - } - for (const editor of _classPrivateFieldGet(this, _selectedEditors)) { - editor.updateParams(type, value); - } - for (const editorType of _classPrivateFieldGet(this, _editorTypes)) { - editorType.updateDefaultParams(type, value); - } - } - getEditors(pageIndex) { - const editors = []; - for (const editor of _classPrivateFieldGet(this, _allEditors).values()) { - if (editor.pageIndex === pageIndex) { - editors.push(editor); - } - } - return editors; - } - getEditor(id) { - return _classPrivateFieldGet(this, _allEditors).get(id); - } - addEditor(editor) { - _classPrivateFieldGet(this, _allEditors).set(editor.id, editor); - } - removeEditor(editor) { - _classPrivateFieldGet(this, _allEditors).delete(editor.id); - this.unselect(editor); - } - setActiveEditor(editor) { - if (_classPrivateFieldGet(this, _activeEditor) === editor) { - return; - } - _classPrivateFieldSet(this, _activeEditor, editor); - if (editor) { - _classPrivateMethodGet(this, _dispatchUpdateUI, _dispatchUpdateUI2).call(this, editor.propertiesToUpdate); - } - } - toggleSelected(editor) { - if (_classPrivateFieldGet(this, _selectedEditors).has(editor)) { - _classPrivateFieldGet(this, _selectedEditors).delete(editor); - editor.unselect(); - _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, { - hasSelectedEditor: this.hasSelection - }); - return; - } - _classPrivateFieldGet(this, _selectedEditors).add(editor); - editor.select(); - _classPrivateMethodGet(this, _dispatchUpdateUI, _dispatchUpdateUI2).call(this, editor.propertiesToUpdate); - _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, { - hasSelectedEditor: true - }); - } - setSelected(editor) { - for (const ed of _classPrivateFieldGet(this, _selectedEditors)) { - if (ed !== editor) { - ed.unselect(); - } - } - _classPrivateFieldGet(this, _selectedEditors).clear(); - _classPrivateFieldGet(this, _selectedEditors).add(editor); - editor.select(); - _classPrivateMethodGet(this, _dispatchUpdateUI, _dispatchUpdateUI2).call(this, editor.propertiesToUpdate); - _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, { - hasSelectedEditor: true - }); - } - isSelected(editor) { - return _classPrivateFieldGet(this, _selectedEditors).has(editor); - } - unselect(editor) { - editor.unselect(); - _classPrivateFieldGet(this, _selectedEditors).delete(editor); - _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, { - hasSelectedEditor: this.hasSelection - }); - } - get hasSelection() { - return _classPrivateFieldGet(this, _selectedEditors).size !== 0; - } - undo() { - _classPrivateFieldGet(this, _commandManager).undo(); - _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, { - hasSomethingToUndo: _classPrivateFieldGet(this, _commandManager).hasSomethingToUndo(), - hasSomethingToRedo: true, - isEmpty: _classPrivateMethodGet(this, _isEmpty, _isEmpty2).call(this) - }); - } - redo() { - _classPrivateFieldGet(this, _commandManager).redo(); - _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, { - hasSomethingToUndo: true, - hasSomethingToRedo: _classPrivateFieldGet(this, _commandManager).hasSomethingToRedo(), - isEmpty: _classPrivateMethodGet(this, _isEmpty, _isEmpty2).call(this) - }); - } - addCommands(params) { - _classPrivateFieldGet(this, _commandManager).add(params); - _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, { - hasSomethingToUndo: true, - hasSomethingToRedo: false, - isEmpty: _classPrivateMethodGet(this, _isEmpty, _isEmpty2).call(this) - }); - } - delete() { - this.commitOrRemove(); - if (!this.hasSelection) { - return; - } - const editors = [..._classPrivateFieldGet(this, _selectedEditors)]; - const cmd = () => { - for (const editor of editors) { - editor.remove(); - } - }; - const undo = () => { - for (const editor of editors) { - _classPrivateMethodGet(this, _addEditorToLayer, _addEditorToLayer2).call(this, editor); - } - }; - this.addCommands({ - cmd, - undo, - mustExec: true - }); - } - commitOrRemove() { - var _classPrivateFieldGet2; - (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _activeEditor)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.commitOrRemove(); - } - selectAll() { - for (const editor of _classPrivateFieldGet(this, _selectedEditors)) { - editor.commit(); - } - _classPrivateMethodGet(this, _selectEditors, _selectEditors2).call(this, _classPrivateFieldGet(this, _allEditors).values()); - } - unselectAll() { - if (_classPrivateFieldGet(this, _activeEditor)) { - _classPrivateFieldGet(this, _activeEditor).commitOrRemove(); - return; - } - if (_classPrivateFieldGet(this, _selectedEditors).size === 0) { - return; - } - for (const editor of _classPrivateFieldGet(this, _selectedEditors)) { - editor.unselect(); - } - _classPrivateFieldGet(this, _selectedEditors).clear(); - _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, { - hasSelectedEditor: false - }); - } - isActive(editor) { - return _classPrivateFieldGet(this, _activeEditor) === editor; - } - getActive() { - return _classPrivateFieldGet(this, _activeEditor); - } - getMode() { - return _classPrivateFieldGet(this, _mode); - } -} -exports.AnnotationEditorUIManager = AnnotationEditorUIManager; -function _addKeyboardManager2() { - _classPrivateFieldGet(this, _container).addEventListener("keydown", _classPrivateFieldGet(this, _boundKeydown)); -} -function _removeKeyboardManager2() { - _classPrivateFieldGet(this, _container).removeEventListener("keydown", _classPrivateFieldGet(this, _boundKeydown)); -} -function _addCopyPasteListeners2() { - document.addEventListener("copy", _classPrivateFieldGet(this, _boundCopy)); - document.addEventListener("cut", _classPrivateFieldGet(this, _boundCut)); - document.addEventListener("paste", _classPrivateFieldGet(this, _boundPaste)); -} -function _removeCopyPasteListeners2() { - document.removeEventListener("copy", _classPrivateFieldGet(this, _boundCopy)); - document.removeEventListener("cut", _classPrivateFieldGet(this, _boundCut)); - document.removeEventListener("paste", _classPrivateFieldGet(this, _boundPaste)); -} -function _dispatchUpdateStates2(details) { - const hasChanged = Object.entries(details).some(_ref3 => { - let [key, value] = _ref3; - return _classPrivateFieldGet(this, _previousStates)[key] !== value; - }); - if (hasChanged) { - _classPrivateFieldGet(this, _eventBus).dispatch("annotationeditorstateschanged", { - source: this, - details: Object.assign(_classPrivateFieldGet(this, _previousStates), details) - }); - } -} -function _dispatchUpdateUI2(details) { - _classPrivateFieldGet(this, _eventBus).dispatch("annotationeditorparamschanged", { - source: this, - details - }); -} -function _enableAll2() { - if (!_classPrivateFieldGet(this, _isEnabled)) { - _classPrivateFieldSet(this, _isEnabled, true); - for (const layer of _classPrivateFieldGet(this, _allLayers).values()) { - layer.enable(); - } - } -} -function _disableAll2() { - this.unselectAll(); - if (_classPrivateFieldGet(this, _isEnabled)) { - _classPrivateFieldSet(this, _isEnabled, false); - for (const layer of _classPrivateFieldGet(this, _allLayers).values()) { - layer.disable(); - } - } -} -function _addEditorToLayer2(editor) { - const layer = _classPrivateFieldGet(this, _allLayers).get(editor.pageIndex); - if (layer) { - layer.addOrRebuild(editor); - } else { - this.addEditor(editor); - } -} -function _isEmpty2() { - if (_classPrivateFieldGet(this, _allEditors).size === 0) { - return true; - } - if (_classPrivateFieldGet(this, _allEditors).size === 1) { - for (const editor of _classPrivateFieldGet(this, _allEditors).values()) { - return editor.isEmpty(); - } - } - return false; -} -function _selectEditors2(editors) { - _classPrivateFieldGet(this, _selectedEditors).clear(); - for (const editor of editors) { - if (editor.isEmpty()) { - continue; - } - _classPrivateFieldGet(this, _selectedEditors).add(editor); - editor.select(); - } - _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, { - hasSelectedEditor: true - }); -} -_defineProperty(AnnotationEditorUIManager, "_keyboardManager", new KeyboardManager([[["ctrl+a", "mac+meta+a"], AnnotationEditorUIManager.prototype.selectAll], [["ctrl+z", "mac+meta+z"], AnnotationEditorUIManager.prototype.undo], [["ctrl+y", "ctrl+shift+Z", "mac+meta+shift+Z"], AnnotationEditorUIManager.prototype.redo], [["Backspace", "alt+Backspace", "ctrl+Backspace", "shift+Backspace", "mac+Backspace", "mac+alt+Backspace", "mac+ctrl+Backspace", "Delete", "ctrl+Delete", "shift+Delete"], AnnotationEditorUIManager.prototype.delete], [["Escape", "mac+Escape"], AnnotationEditorUIManager.prototype.unselectAll]])); - -/***/ }), -/* 137 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = exports.AnnotationPrefix = void 0; -exports.deprecated = deprecated; -exports.getColorValues = getColorValues; -exports.getCurrentTransform = getCurrentTransform; -exports.getCurrentTransformInverse = getCurrentTransformInverse; -exports.getFilenameFromUrl = getFilenameFromUrl; -exports.getPdfFilenameFromUrl = getPdfFilenameFromUrl; -exports.getRGB = getRGB; -exports.getXfaPageViewport = getXfaPageViewport; -exports.isDataScheme = isDataScheme; -exports.isPdfFile = isPdfFile; -exports.isValidFetchUrl = isValidFetchUrl; -exports.loadScript = loadScript; -var _base_factory = __w_pdfjs_require__(138); -var _util = __w_pdfjs_require__(1); -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -const SVG_NS = "http://www.w3.org/2000/svg"; -const AnnotationPrefix = "pdfjs_internal_id_"; -exports.AnnotationPrefix = AnnotationPrefix; -class PixelsPerInch {} -exports.PixelsPerInch = PixelsPerInch; -_defineProperty(PixelsPerInch, "CSS", 96.0); -_defineProperty(PixelsPerInch, "PDF", 72.0); -_defineProperty(PixelsPerInch, "PDF_TO_CSS_UNITS", PixelsPerInch.CSS / PixelsPerInch.PDF); -class DOMCanvasFactory extends _base_factory.BaseCanvasFactory { - constructor() { - let { - ownerDocument = globalThis.document - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - super(); - this._document = ownerDocument; - } - _createCanvas(width, height) { - const canvas = this._document.createElement("canvas"); - canvas.width = width; - canvas.height = height; - return canvas; - } -} -exports.DOMCanvasFactory = DOMCanvasFactory; -async function fetchData(url) { - let asTypedArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - if (isValidFetchUrl(url, document.baseURI)) { - const response = await fetch(url); - if (!response.ok) { - throw new Error(response.statusText); - } - return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text()); - } - return new Promise((resolve, reject) => { - const request = new XMLHttpRequest(); - request.open("GET", url, true); - if (asTypedArray) { - request.responseType = "arraybuffer"; - } - request.onreadystatechange = () => { - if (request.readyState !== XMLHttpRequest.DONE) { - return; - } - if (request.status === 200 || request.status === 0) { - let data; - if (asTypedArray && request.response) { - data = new Uint8Array(request.response); - } else if (!asTypedArray && request.responseText) { - data = (0, _util.stringToBytes)(request.responseText); - } - if (data) { - resolve(data); - return; - } - } - reject(new Error(request.statusText)); - }; - request.send(null); - }); -} -class DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory { - _fetchData(url, compressionType) { - return fetchData(url, this.isCompressed).then(data => { - return { - cMapData: data, - compressionType - }; - }); - } -} -exports.DOMCMapReaderFactory = DOMCMapReaderFactory; -class DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory { - _fetchData(url) { - return fetchData(url, true); - } -} -exports.DOMStandardFontDataFactory = DOMStandardFontDataFactory; -class DOMSVGFactory extends _base_factory.BaseSVGFactory { - _createSVG(type) { - return document.createElementNS(SVG_NS, type); - } -} -exports.DOMSVGFactory = DOMSVGFactory; -class PageViewport { - constructor(_ref) { - let { - viewBox, - scale, - rotation, - offsetX = 0, - offsetY = 0, - dontFlip = false - } = _ref; - this.viewBox = viewBox; - this.scale = scale; - this.rotation = rotation; - this.offsetX = offsetX; - this.offsetY = offsetY; - const centerX = (viewBox[2] + viewBox[0]) / 2; - const centerY = (viewBox[3] + viewBox[1]) / 2; - let rotateA, rotateB, rotateC, rotateD; - rotation %= 360; - if (rotation < 0) { - rotation += 360; - } - switch (rotation) { - case 180: - rotateA = -1; - rotateB = 0; - rotateC = 0; - rotateD = 1; - break; - case 90: - rotateA = 0; - rotateB = 1; - rotateC = 1; - rotateD = 0; - break; - case 270: - rotateA = 0; - rotateB = -1; - rotateC = -1; - rotateD = 0; - break; - case 0: - rotateA = 1; - rotateB = 0; - rotateC = 0; - rotateD = -1; - break; - default: - throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees."); - } - if (dontFlip) { - rotateC = -rotateC; - rotateD = -rotateD; - } - let offsetCanvasX, offsetCanvasY; - let width, height; - if (rotateA === 0) { - offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX; - offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY; - width = Math.abs(viewBox[3] - viewBox[1]) * scale; - height = Math.abs(viewBox[2] - viewBox[0]) * scale; - } else { - offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX; - offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY; - width = Math.abs(viewBox[2] - viewBox[0]) * scale; - height = Math.abs(viewBox[3] - viewBox[1]) * scale; - } - this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY]; - this.width = width; - this.height = height; - } - clone() { - let { - scale = this.scale, - rotation = this.rotation, - offsetX = this.offsetX, - offsetY = this.offsetY, - dontFlip = false - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - return new PageViewport({ - viewBox: this.viewBox.slice(), - scale, - rotation, - offsetX, - offsetY, - dontFlip - }); - } - convertToViewportPoint(x, y) { - return _util.Util.applyTransform([x, y], this.transform); - } - convertToViewportRectangle(rect) { - const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform); - const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform); - return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]]; - } - convertToPdfPoint(x, y) { - return _util.Util.applyInverseTransform([x, y], this.transform); - } -} -exports.PageViewport = PageViewport; -class RenderingCancelledException extends _util.BaseException { - constructor(msg, type) { - super(msg, "RenderingCancelledException"); - this.type = type; - } -} -exports.RenderingCancelledException = RenderingCancelledException; -function isDataScheme(url) { - const ii = url.length; - let i = 0; - while (i < ii && url[i].trim() === "") { - i++; - } - return url.substring(i, i + 5).toLowerCase() === "data:"; -} -function isPdfFile(filename) { - return typeof filename === "string" && /\.pdf$/i.test(filename); -} -function getFilenameFromUrl(url) { - const anchor = url.indexOf("#"); - const query = url.indexOf("?"); - const end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length); - return url.substring(url.lastIndexOf("/", end) + 1, end); -} -function getPdfFilenameFromUrl(url) { - let defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf"; - if (typeof url !== "string") { - return defaultFilename; - } - if (isDataScheme(url)) { - (0, _util.warn)('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'); - return defaultFilename; - } - const reURI = /^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/; - const reFilename = /[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i; - const splitURI = reURI.exec(url); - let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]); - if (suggestedFilename) { - suggestedFilename = suggestedFilename[0]; - if (suggestedFilename.includes("%")) { - try { - suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]; - } catch (ex) {} - } - } - return suggestedFilename || defaultFilename; -} -class StatTimer { - constructor() { - this.started = Object.create(null); - this.times = []; - } - time(name) { - if (name in this.started) { - (0, _util.warn)(`Timer is already running for ${name}`); - } - this.started[name] = Date.now(); - } - timeEnd(name) { - if (!(name in this.started)) { - (0, _util.warn)(`Timer has not been started for ${name}`); - } - this.times.push({ - name, - start: this.started[name], - end: Date.now() - }); - delete this.started[name]; - } - toString() { - const outBuf = []; - let longest = 0; - for (const time of this.times) { - const name = time.name; - if (name.length > longest) { - longest = name.length; - } - } - for (const time of this.times) { - const duration = time.end - time.start; - outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\n`); - } - return outBuf.join(""); - } -} -exports.StatTimer = StatTimer; -function isValidFetchUrl(url, baseUrl) { - try { - const { - protocol - } = baseUrl ? new URL(url, baseUrl) : new URL(url); - return protocol === "http:" || protocol === "https:"; - } catch (ex) { - return false; - } -} -function loadScript(src) { - let removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return new Promise((resolve, reject) => { - const script = document.createElement("script"); - script.src = src; - script.onload = function (evt) { - if (removeScriptElement) { - script.remove(); - } - resolve(evt); - }; - script.onerror = function () { - reject(new Error(`Cannot load script at: ${script.src}`)); - }; - (document.head || document.documentElement).append(script); - }); -} -function deprecated(details) { - console.log("Deprecated API usage: " + details); -} -let pdfDateStringRegex; -class PDFDateString { - static toDateObject(input) { - if (!input || typeof input !== "string") { - return null; - } - if (!pdfDateStringRegex) { - pdfDateStringRegex = new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?"); - } - const matches = pdfDateStringRegex.exec(input); - if (!matches) { - return null; - } - const year = parseInt(matches[1], 10); - let month = parseInt(matches[2], 10); - month = month >= 1 && month <= 12 ? month - 1 : 0; - let day = parseInt(matches[3], 10); - day = day >= 1 && day <= 31 ? day : 1; - let hour = parseInt(matches[4], 10); - hour = hour >= 0 && hour <= 23 ? hour : 0; - let minute = parseInt(matches[5], 10); - minute = minute >= 0 && minute <= 59 ? minute : 0; - let second = parseInt(matches[6], 10); - second = second >= 0 && second <= 59 ? second : 0; - const universalTimeRelation = matches[7] || "Z"; - let offsetHour = parseInt(matches[8], 10); - offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0; - let offsetMinute = parseInt(matches[9], 10) || 0; - offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0; - if (universalTimeRelation === "-") { - hour += offsetHour; - minute += offsetMinute; - } else if (universalTimeRelation === "+") { - hour -= offsetHour; - minute -= offsetMinute; - } - return new Date(Date.UTC(year, month, day, hour, minute, second)); - } -} -exports.PDFDateString = PDFDateString; -function getXfaPageViewport(xfaPage, _ref2) { - let { - scale = 1, - rotation = 0 - } = _ref2; - const { - width, - height - } = xfaPage.attributes.style; - const viewBox = [0, 0, parseInt(width), parseInt(height)]; - return new PageViewport({ - viewBox, - scale, - rotation - }); -} -function getRGB(color) { - if (color.startsWith("#")) { - const colorRGB = parseInt(color.slice(1), 16); - return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff]; - } - if (color.startsWith("rgb(")) { - return color.slice(4, -1).split(",").map(x => parseInt(x)); - } - if (color.startsWith("rgba(")) { - return color.slice(5, -1).split(",").map(x => parseInt(x)).slice(0, 3); - } - (0, _util.warn)(`Not a valid color format: "${color}"`); - return [0, 0, 0]; -} -function getColorValues(colors) { - const span = document.createElement("span"); - span.style.visibility = "hidden"; - document.body.append(span); - for (const name of colors.keys()) { - span.style.color = name; - const computedColor = window.getComputedStyle(span).color; - colors.set(name, getRGB(computedColor)); - } - span.remove(); -} -function getCurrentTransform(ctx) { - const { - a, - b, - c, - d, - e, - f - } = ctx.getTransform(); - return [a, b, c, d, e, f]; -} -function getCurrentTransformInverse(ctx) { - const { - a, - b, - c, - d, - e, - f - } = ctx.getTransform().invertSelf(); - return [a, b, c, d, e, f]; -} - -/***/ }), -/* 138 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0; -var _util = __w_pdfjs_require__(1); -class BaseCanvasFactory { - constructor() { - if (this.constructor === BaseCanvasFactory) { - (0, _util.unreachable)("Cannot initialize BaseCanvasFactory."); - } - } - create(width, height) { - if (width <= 0 || height <= 0) { - throw new Error("Invalid canvas size"); - } - const canvas = this._createCanvas(width, height); - return { - canvas, - context: canvas.getContext("2d") - }; - } - reset(canvasAndContext, width, height) { - if (!canvasAndContext.canvas) { - throw new Error("Canvas is not specified"); - } - if (width <= 0 || height <= 0) { - throw new Error("Invalid canvas size"); - } - canvasAndContext.canvas.width = width; - canvasAndContext.canvas.height = height; - } - destroy(canvasAndContext) { - if (!canvasAndContext.canvas) { - throw new Error("Canvas is not specified"); - } - canvasAndContext.canvas.width = 0; - canvasAndContext.canvas.height = 0; - canvasAndContext.canvas = null; - canvasAndContext.context = null; - } - _createCanvas(width, height) { - (0, _util.unreachable)("Abstract method `_createCanvas` called."); - } -} -exports.BaseCanvasFactory = BaseCanvasFactory; -class BaseCMapReaderFactory { - constructor(_ref) { - let { - baseUrl = null, - isCompressed = false - } = _ref; - if (this.constructor === BaseCMapReaderFactory) { - (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory."); - } - this.baseUrl = baseUrl; - this.isCompressed = isCompressed; - } - async fetch(_ref2) { - let { - name - } = _ref2; - if (!this.baseUrl) { - throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.'); - } - if (!name) { - throw new Error("CMap name must be specified."); - } - const url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : ""); - const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE; - return this._fetchData(url, compressionType).catch(reason => { - throw new Error(`Unable to load ${this.isCompressed ? "binary " : ""}CMap at: ${url}`); - }); - } - _fetchData(url, compressionType) { - (0, _util.unreachable)("Abstract method `_fetchData` called."); - } -} -exports.BaseCMapReaderFactory = BaseCMapReaderFactory; -class BaseStandardFontDataFactory { - constructor(_ref3) { - let { - baseUrl = null - } = _ref3; - if (this.constructor === BaseStandardFontDataFactory) { - (0, _util.unreachable)("Cannot initialize BaseStandardFontDataFactory."); - } - this.baseUrl = baseUrl; - } - async fetch(_ref4) { - let { - filename - } = _ref4; - if (!this.baseUrl) { - throw new Error('The standard font "baseUrl" parameter must be specified, ensure that ' + 'the "standardFontDataUrl" API parameter is provided.'); - } - if (!filename) { - throw new Error("Font filename must be specified."); - } - const url = `${this.baseUrl}${filename}`; - return this._fetchData(url).catch(reason => { - throw new Error(`Unable to load font data at: ${url}`); - }); - } - _fetchData(url) { - (0, _util.unreachable)("Abstract method `_fetchData` called."); - } -} -exports.BaseStandardFontDataFactory = BaseStandardFontDataFactory; -class BaseSVGFactory { - constructor() { - if (this.constructor === BaseSVGFactory) { - (0, _util.unreachable)("Cannot initialize BaseSVGFactory."); - } - } - create(width, height) { - let skipDimensions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - if (width <= 0 || height <= 0) { - throw new Error("Invalid SVG dimensions"); - } - const svg = this._createSVG("svg:svg"); - svg.setAttribute("version", "1.1"); - if (!skipDimensions) { - svg.setAttribute("width", `${width}px`); - svg.setAttribute("height", `${height}px`); - } - svg.setAttribute("preserveAspectRatio", "none"); - svg.setAttribute("viewBox", `0 0 ${width} ${height}`); - return svg; - } - createElement(type) { - if (typeof type !== "string") { - throw new Error("Invalid SVG element type"); - } - return this._createSVG(type); - } - _createSVG(type) { - (0, _util.unreachable)("Abstract method `_createSVG` called."); - } -} -exports.BaseSVGFactory = BaseSVGFactory; - -/***/ }), -/* 139 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.MurmurHash3_64 = void 0; -var _util = __w_pdfjs_require__(1); -const SEED = 0xc3d2e1f0; -const MASK_HIGH = 0xffff0000; -const MASK_LOW = 0xffff; -class MurmurHash3_64 { - constructor(seed) { - this.h1 = seed ? seed & 0xffffffff : SEED; - this.h2 = seed ? seed & 0xffffffff : SEED; - } - update(input) { - let data, length; - if (typeof input === "string") { - data = new Uint8Array(input.length * 2); - length = 0; - for (let i = 0, ii = input.length; i < ii; i++) { - const code = input.charCodeAt(i); - if (code <= 0xff) { - data[length++] = code; - } else { - data[length++] = code >>> 8; - data[length++] = code & 0xff; - } - } - } else if ((0, _util.isArrayBuffer)(input)) { - data = input.slice(); - length = data.byteLength; - } else { - throw new Error("Wrong data format in MurmurHash3_64_update. " + "Input must be a string or array."); - } - const blockCounts = length >> 2; - const tailLength = length - blockCounts * 4; - const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts); - let k1 = 0, - k2 = 0; - let h1 = this.h1, - h2 = this.h2; - const C1 = 0xcc9e2d51, - C2 = 0x1b873593; - const C1_LOW = C1 & MASK_LOW, - C2_LOW = C2 & MASK_LOW; - for (let i = 0; i < blockCounts; i++) { - if (i & 1) { - k1 = dataUint32[i]; - k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; - k1 = k1 << 15 | k1 >>> 17; - k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; - h1 ^= k1; - h1 = h1 << 13 | h1 >>> 19; - h1 = h1 * 5 + 0xe6546b64; - } else { - k2 = dataUint32[i]; - k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW; - k2 = k2 << 15 | k2 >>> 17; - k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW; - h2 ^= k2; - h2 = h2 << 13 | h2 >>> 19; - h2 = h2 * 5 + 0xe6546b64; - } - } - k1 = 0; - switch (tailLength) { - case 3: - k1 ^= data[blockCounts * 4 + 2] << 16; - case 2: - k1 ^= data[blockCounts * 4 + 1] << 8; - case 1: - k1 ^= data[blockCounts * 4]; - k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; - k1 = k1 << 15 | k1 >>> 17; - k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; - if (blockCounts & 1) { - h1 ^= k1; - } else { - h2 ^= k1; - } - } - this.h1 = h1; - this.h2 = h2; - } - hexdigest() { - let h1 = this.h1, - h2 = this.h2; - h1 ^= h2 >>> 1; - h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW; - h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16; - h1 ^= h2 >>> 1; - h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW; - h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16; - h1 ^= h2 >>> 1; - const hex1 = (h1 >>> 0).toString(16), - hex2 = (h2 >>> 0).toString(16); - return hex1.padStart(8, "0") + hex2.padStart(8, "0"); - } -} -exports.MurmurHash3_64 = MurmurHash3_64; - -/***/ }), -/* 140 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.FontLoader = exports.FontFaceObject = void 0; -var _util = __w_pdfjs_require__(1); -class FontLoader { - constructor(_ref) { - let { - onUnsupportedFeature, - ownerDocument = globalThis.document, - styleElement = null - } = _ref; - this._onUnsupportedFeature = onUnsupportedFeature; - this._document = ownerDocument; - this.nativeFontFaces = []; - this.styleElement = null; - this.loadingRequests = []; - this.loadTestFontId = 0; - } - addNativeFontFace(nativeFontFace) { - this.nativeFontFaces.push(nativeFontFace); - this._document.fonts.add(nativeFontFace); - } - insertRule(rule) { - if (!this.styleElement) { - this.styleElement = this._document.createElement("style"); - this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement); - } - const styleSheet = this.styleElement.sheet; - styleSheet.insertRule(rule, styleSheet.cssRules.length); - } - clear() { - for (const nativeFontFace of this.nativeFontFaces) { - this._document.fonts.delete(nativeFontFace); - } - this.nativeFontFaces.length = 0; - if (this.styleElement) { - this.styleElement.remove(); - this.styleElement = null; - } - } - async bind(font) { - if (font.attached || font.missingFile) { - return; - } - font.attached = true; - if (this.isFontLoadingAPISupported) { - const nativeFontFace = font.createNativeFontFace(); - if (nativeFontFace) { - this.addNativeFontFace(nativeFontFace); - try { - await nativeFontFace.loaded; - } catch (ex) { - this._onUnsupportedFeature({ - featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative - }); - (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`); - font.disableFontFace = true; - throw ex; - } - } - return; - } - const rule = font.createFontFaceRule(); - if (rule) { - this.insertRule(rule); - if (this.isSyncFontLoadingSupported) { - return; - } - await new Promise(resolve => { - const request = this._queueLoadingCallback(resolve); - this._prepareFontLoadEvent(font, request); - }); - } - } - get isFontLoadingAPISupported() { - var _this$_document; - const hasFonts = !!((_this$_document = this._document) !== null && _this$_document !== void 0 && _this$_document.fonts); - return (0, _util.shadow)(this, "isFontLoadingAPISupported", hasFonts); - } - get isSyncFontLoadingSupported() { - let supported = false; - if (typeof navigator === "undefined") { - supported = true; - } else { - const m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent); - if ((m === null || m === void 0 ? void 0 : m[1]) >= 14) { - supported = true; - } - } - return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported); - } - _queueLoadingCallback(callback) { - function completeRequest() { - (0, _util.assert)(!request.done, "completeRequest() cannot be called twice."); - request.done = true; - while (loadingRequests.length > 0 && loadingRequests[0].done) { - const otherRequest = loadingRequests.shift(); - setTimeout(otherRequest.callback, 0); - } - } - const { - loadingRequests - } = this; - const request = { - done: false, - complete: completeRequest, - callback - }; - loadingRequests.push(request); - return request; - } - get _loadTestFont() { - const testFont = atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + "FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + "ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + "AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + "AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + "6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + "AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + "IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + "AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + "AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + "AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + "AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + "AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + "AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + "AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + "Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + "FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="); - return (0, _util.shadow)(this, "_loadTestFont", testFont); - } - _prepareFontLoadEvent(font, request) { - function int32(data, offset) { - return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff; - } - function spliceString(s, offset, remove, insert) { - const chunk1 = s.substring(0, offset); - const chunk2 = s.substring(offset + remove); - return chunk1 + insert + chunk2; - } - let i, ii; - const canvas = this._document.createElement("canvas"); - canvas.width = 1; - canvas.height = 1; - const ctx = canvas.getContext("2d"); - let called = 0; - function isFontReady(name, callback) { - if (++called > 30) { - (0, _util.warn)("Load test font never loaded."); - callback(); - return; - } - ctx.font = "30px " + name; - ctx.fillText(".", 0, 20); - const imageData = ctx.getImageData(0, 0, 1, 1); - if (imageData.data[3] > 0) { - callback(); - return; - } - setTimeout(isFontReady.bind(null, name, callback)); - } - const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`; - let data = this._loadTestFont; - const COMMENT_OFFSET = 976; - data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId); - const CFF_CHECKSUM_OFFSET = 16; - const XXXX_VALUE = 0x58585858; - let checksum = int32(data, CFF_CHECKSUM_OFFSET); - for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) { - checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0; - } - if (i < loadTestFontId.length) { - checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0; - } - data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum)); - const url = `url(data:font/opentype;base64,${btoa(data)});`; - const rule = `@font-face {font-family:"${loadTestFontId}";src:${url}}`; - this.insertRule(rule); - const div = this._document.createElement("div"); - div.style.visibility = "hidden"; - div.style.width = div.style.height = "10px"; - div.style.position = "absolute"; - div.style.top = div.style.left = "0px"; - for (const name of [font.loadedName, loadTestFontId]) { - const span = this._document.createElement("span"); - span.textContent = "Hi"; - span.style.fontFamily = name; - div.append(span); - } - this._document.body.append(div); - isFontReady(loadTestFontId, () => { - div.remove(); - request.complete(); - }); - } -} -exports.FontLoader = FontLoader; -class FontFaceObject { - constructor(translatedData, _ref2) { - let { - isEvalSupported = true, - disableFontFace = false, - ignoreErrors = false, - onUnsupportedFeature, - fontRegistry = null - } = _ref2; - this.compiledGlyphs = Object.create(null); - for (const i in translatedData) { - this[i] = translatedData[i]; - } - this.isEvalSupported = isEvalSupported !== false; - this.disableFontFace = disableFontFace === true; - this.ignoreErrors = ignoreErrors === true; - this._onUnsupportedFeature = onUnsupportedFeature; - this.fontRegistry = fontRegistry; - } - createNativeFontFace() { - var _this$fontRegistry; - if (!this.data || this.disableFontFace) { - return null; - } - let nativeFontFace; - if (!this.cssFontInfo) { - nativeFontFace = new FontFace(this.loadedName, this.data, {}); - } else { - const css = { - weight: this.cssFontInfo.fontWeight - }; - if (this.cssFontInfo.italicAngle) { - css.style = `oblique ${this.cssFontInfo.italicAngle}deg`; - } - nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css); - } - (_this$fontRegistry = this.fontRegistry) === null || _this$fontRegistry === void 0 ? void 0 : _this$fontRegistry.registerFont(this); - return nativeFontFace; - } - createFontFaceRule() { - var _this$fontRegistry2; - if (!this.data || this.disableFontFace) { - return null; - } - const data = (0, _util.bytesToString)(this.data); - const url = `url(data:${this.mimetype};base64,${btoa(data)});`; - let rule; - if (!this.cssFontInfo) { - rule = `@font-face {font-family:"${this.loadedName}";src:${url}}`; - } else { - let css = `font-weight: ${this.cssFontInfo.fontWeight};`; - if (this.cssFontInfo.italicAngle) { - css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`; - } - rule = `@font-face {font-family:"${this.cssFontInfo.fontFamily}";${css}src:${url}}`; - } - (_this$fontRegistry2 = this.fontRegistry) === null || _this$fontRegistry2 === void 0 ? void 0 : _this$fontRegistry2.registerFont(this, url); - return rule; - } - getPathGenerator(objs, character) { - if (this.compiledGlyphs[character] !== undefined) { - return this.compiledGlyphs[character]; - } - let cmds; - try { - cmds = objs.get(this.loadedName + "_path_" + character); - } catch (ex) { - if (!this.ignoreErrors) { - throw ex; - } - this._onUnsupportedFeature({ - featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath - }); - (0, _util.warn)(`getPathGenerator - ignoring character: "${ex}".`); - return this.compiledGlyphs[character] = function (c, size) {}; - } - if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) { - const jsBuf = []; - for (const current of cmds) { - const args = current.args !== undefined ? current.args.join(",") : ""; - jsBuf.push("c.", current.cmd, "(", args, ");\n"); - } - return this.compiledGlyphs[character] = new Function("c", "size", jsBuf.join("")); - } - return this.compiledGlyphs[character] = function (c, size) { - for (const current of cmds) { - if (current.cmd === "scale") { - current.args = [size, -size]; - } - c[current.cmd].apply(c, current.args); - } - }; - } -} -exports.FontFaceObject = FontFaceObject; - -/***/ }), -/* 141 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.CanvasGraphics = void 0; -var _util = __w_pdfjs_require__(1); -var _display_utils = __w_pdfjs_require__(137); -var _pattern_helper = __w_pdfjs_require__(142); -var _image_utils = __w_pdfjs_require__(143); -var _is_node = __w_pdfjs_require__(3); -function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } -function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } -const MIN_FONT_SIZE = 16; -const MAX_FONT_SIZE = 100; -const MAX_GROUP_SIZE = 4096; -const EXECUTION_TIME = 15; -const EXECUTION_STEPS = 10; -const MAX_SIZE_TO_COMPILE = _is_node.isNodeJS && typeof Path2D === "undefined" ? -1 : 1000; -const FULL_CHUNK_HEIGHT = 16; -function mirrorContextOperations(ctx, destCtx) { - if (ctx._removeMirroring) { - throw new Error("Context is already forwarding operations."); - } - ctx.__originalSave = ctx.save; - ctx.__originalRestore = ctx.restore; - ctx.__originalRotate = ctx.rotate; - ctx.__originalScale = ctx.scale; - ctx.__originalTranslate = ctx.translate; - ctx.__originalTransform = ctx.transform; - ctx.__originalSetTransform = ctx.setTransform; - ctx.__originalResetTransform = ctx.resetTransform; - ctx.__originalClip = ctx.clip; - ctx.__originalMoveTo = ctx.moveTo; - ctx.__originalLineTo = ctx.lineTo; - ctx.__originalBezierCurveTo = ctx.bezierCurveTo; - ctx.__originalRect = ctx.rect; - ctx.__originalClosePath = ctx.closePath; - ctx.__originalBeginPath = ctx.beginPath; - ctx._removeMirroring = () => { - ctx.save = ctx.__originalSave; - ctx.restore = ctx.__originalRestore; - ctx.rotate = ctx.__originalRotate; - ctx.scale = ctx.__originalScale; - ctx.translate = ctx.__originalTranslate; - ctx.transform = ctx.__originalTransform; - ctx.setTransform = ctx.__originalSetTransform; - ctx.resetTransform = ctx.__originalResetTransform; - ctx.clip = ctx.__originalClip; - ctx.moveTo = ctx.__originalMoveTo; - ctx.lineTo = ctx.__originalLineTo; - ctx.bezierCurveTo = ctx.__originalBezierCurveTo; - ctx.rect = ctx.__originalRect; - ctx.closePath = ctx.__originalClosePath; - ctx.beginPath = ctx.__originalBeginPath; - delete ctx._removeMirroring; - }; - ctx.save = function ctxSave() { - destCtx.save(); - this.__originalSave(); - }; - ctx.restore = function ctxRestore() { - destCtx.restore(); - this.__originalRestore(); - }; - ctx.translate = function ctxTranslate(x, y) { - destCtx.translate(x, y); - this.__originalTranslate(x, y); - }; - ctx.scale = function ctxScale(x, y) { - destCtx.scale(x, y); - this.__originalScale(x, y); - }; - ctx.transform = function ctxTransform(a, b, c, d, e, f) { - destCtx.transform(a, b, c, d, e, f); - this.__originalTransform(a, b, c, d, e, f); - }; - ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { - destCtx.setTransform(a, b, c, d, e, f); - this.__originalSetTransform(a, b, c, d, e, f); - }; - ctx.resetTransform = function ctxResetTransform() { - destCtx.resetTransform(); - this.__originalResetTransform(); - }; - ctx.rotate = function ctxRotate(angle) { - destCtx.rotate(angle); - this.__originalRotate(angle); - }; - ctx.clip = function ctxRotate(rule) { - destCtx.clip(rule); - this.__originalClip(rule); - }; - ctx.moveTo = function (x, y) { - destCtx.moveTo(x, y); - this.__originalMoveTo(x, y); - }; - ctx.lineTo = function (x, y) { - destCtx.lineTo(x, y); - this.__originalLineTo(x, y); - }; - ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) { - destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); - this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); - }; - ctx.rect = function (x, y, width, height) { - destCtx.rect(x, y, width, height); - this.__originalRect(x, y, width, height); - }; - ctx.closePath = function () { - destCtx.closePath(); - this.__originalClosePath(); - }; - ctx.beginPath = function () { - destCtx.beginPath(); - this.__originalBeginPath(); - }; -} -class CachedCanvases { - constructor(canvasFactory) { - this.canvasFactory = canvasFactory; - this.cache = Object.create(null); - } - getCanvas(id, width, height) { - let canvasEntry; - if (this.cache[id] !== undefined) { - canvasEntry = this.cache[id]; - this.canvasFactory.reset(canvasEntry, width, height); - } else { - canvasEntry = this.canvasFactory.create(width, height); - this.cache[id] = canvasEntry; - } - return canvasEntry; - } - delete(id) { - delete this.cache[id]; - } - clear() { - for (const id in this.cache) { - const canvasEntry = this.cache[id]; - this.canvasFactory.destroy(canvasEntry); - delete this.cache[id]; - } - } -} -function drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) { - const [a, b, c, d, tx, ty] = (0, _display_utils.getCurrentTransform)(ctx); - if (b === 0 && c === 0) { - const tlX = destX * a + tx; - const rTlX = Math.round(tlX); - const tlY = destY * d + ty; - const rTlY = Math.round(tlY); - const brX = (destX + destW) * a + tx; - const rWidth = Math.abs(Math.round(brX) - rTlX) || 1; - const brY = (destY + destH) * d + ty; - const rHeight = Math.abs(Math.round(brY) - rTlY) || 1; - ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY); - ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight); - ctx.setTransform(a, b, c, d, tx, ty); - return [rWidth, rHeight]; - } - if (a === 0 && d === 0) { - const tlX = destY * c + tx; - const rTlX = Math.round(tlX); - const tlY = destX * b + ty; - const rTlY = Math.round(tlY); - const brX = (destY + destH) * c + tx; - const rWidth = Math.abs(Math.round(brX) - rTlX) || 1; - const brY = (destX + destW) * b + ty; - const rHeight = Math.abs(Math.round(brY) - rTlY) || 1; - ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY); - ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth); - ctx.setTransform(a, b, c, d, tx, ty); - return [rHeight, rWidth]; - } - ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH); - const scaleX = Math.hypot(a, b); - const scaleY = Math.hypot(c, d); - return [scaleX * destW, scaleY * destH]; -} -function compileType3Glyph(imgData) { - const { - width, - height - } = imgData; - if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) { - return null; - } - const POINT_TO_PROCESS_LIMIT = 1000; - const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]); - const width1 = width + 1; - let points = new Uint8Array(width1 * (height + 1)); - let i, j, j0; - const lineSize = width + 7 & ~7; - let data = new Uint8Array(lineSize * height), - pos = 0; - for (const elem of imgData.data) { - let mask = 128; - while (mask > 0) { - data[pos++] = elem & mask ? 0 : 255; - mask >>= 1; - } - } - let count = 0; - pos = 0; - if (data[pos] !== 0) { - points[0] = 1; - ++count; - } - for (j = 1; j < width; j++) { - if (data[pos] !== data[pos + 1]) { - points[j] = data[pos] ? 2 : 1; - ++count; - } - pos++; - } - if (data[pos] !== 0) { - points[j] = 2; - ++count; - } - for (i = 1; i < height; i++) { - pos = i * lineSize; - j0 = i * width1; - if (data[pos - lineSize] !== data[pos]) { - points[j0] = data[pos] ? 1 : 8; - ++count; - } - let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0); - for (j = 1; j < width; j++) { - sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0); - if (POINT_TYPES[sum]) { - points[j0 + j] = POINT_TYPES[sum]; - ++count; - } - pos++; - } - if (data[pos - lineSize] !== data[pos]) { - points[j0 + j] = data[pos] ? 2 : 4; - ++count; - } - if (count > POINT_TO_PROCESS_LIMIT) { - return null; - } - } - pos = lineSize * (height - 1); - j0 = i * width1; - if (data[pos] !== 0) { - points[j0] = 8; - ++count; - } - for (j = 1; j < width; j++) { - if (data[pos] !== data[pos + 1]) { - points[j0 + j] = data[pos] ? 4 : 8; - ++count; - } - pos++; - } - if (data[pos] !== 0) { - points[j0 + j] = 4; - ++count; - } - if (count > POINT_TO_PROCESS_LIMIT) { - return null; - } - const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]); - const path = new Path2D(); - for (i = 0; count && i <= height; i++) { - let p = i * width1; - const end = p + width; - while (p < end && !points[p]) { - p++; - } - if (p === end) { - continue; - } - path.moveTo(p % width1, i); - const p0 = p; - let type = points[p]; - do { - const step = steps[type]; - do { - p += step; - } while (!points[p]); - const pp = points[p]; - if (pp !== 5 && pp !== 10) { - type = pp; - points[p] = 0; - } else { - type = pp & 0x33 * type >> 4; - points[p] &= type >> 2 | type << 2; - } - path.lineTo(p % width1, p / width1 | 0); - if (!points[p]) { - --count; - } - } while (p0 !== p); - --i; - } - data = null; - points = null; - const drawOutline = function (c) { - c.save(); - c.scale(1 / width, -1 / height); - c.translate(0, -height); - c.fill(path); - c.beginPath(); - c.restore(); - }; - return drawOutline; -} -class CanvasExtraState { - constructor(width, height) { - this.alphaIsShape = false; - this.fontSize = 0; - this.fontSizeScale = 1; - this.textMatrix = _util.IDENTITY_MATRIX; - this.textMatrixScale = 1; - this.fontMatrix = _util.FONT_IDENTITY_MATRIX; - this.leading = 0; - this.x = 0; - this.y = 0; - this.lineX = 0; - this.lineY = 0; - this.charSpacing = 0; - this.wordSpacing = 0; - this.textHScale = 1; - this.textRenderingMode = _util.TextRenderingMode.FILL; - this.textRise = 0; - this.fillColor = "#000000"; - this.strokeColor = "#000000"; - this.patternFill = false; - this.fillAlpha = 1; - this.strokeAlpha = 1; - this.lineWidth = 1; - this.activeSMask = null; - this.transferMaps = null; - this.startNewPathAndClipBox([0, 0, width, height]); - } - clone() { - const clone = Object.create(this); - clone.clipBox = this.clipBox.slice(); - return clone; - } - setCurrentPoint(x, y) { - this.x = x; - this.y = y; - } - updatePathMinMax(transform, x, y) { - [x, y] = _util.Util.applyTransform([x, y], transform); - this.minX = Math.min(this.minX, x); - this.minY = Math.min(this.minY, y); - this.maxX = Math.max(this.maxX, x); - this.maxY = Math.max(this.maxY, y); - } - updateRectMinMax(transform, rect) { - const p1 = _util.Util.applyTransform(rect, transform); - const p2 = _util.Util.applyTransform(rect.slice(2), transform); - this.minX = Math.min(this.minX, p1[0], p2[0]); - this.minY = Math.min(this.minY, p1[1], p2[1]); - this.maxX = Math.max(this.maxX, p1[0], p2[0]); - this.maxY = Math.max(this.maxY, p1[1], p2[1]); - } - updateScalingPathMinMax(transform, minMax) { - _util.Util.scaleMinMax(transform, minMax); - this.minX = Math.min(this.minX, minMax[0]); - this.maxX = Math.max(this.maxX, minMax[1]); - this.minY = Math.min(this.minY, minMax[2]); - this.maxY = Math.max(this.maxY, minMax[3]); - } - updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) { - const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3); - if (minMax) { - minMax[0] = Math.min(minMax[0], box[0], box[2]); - minMax[1] = Math.max(minMax[1], box[0], box[2]); - minMax[2] = Math.min(minMax[2], box[1], box[3]); - minMax[3] = Math.max(minMax[3], box[1], box[3]); - return; - } - this.updateRectMinMax(transform, box); - } - getPathBoundingBox() { - let pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; - let transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - const box = [this.minX, this.minY, this.maxX, this.maxY]; - if (pathType === _pattern_helper.PathType.STROKE) { - if (!transform) { - (0, _util.unreachable)("Stroke bounding box must include transform."); - } - const scale = _util.Util.singularValueDecompose2dScale(transform); - const xStrokePad = scale[0] * this.lineWidth / 2; - const yStrokePad = scale[1] * this.lineWidth / 2; - box[0] -= xStrokePad; - box[1] -= yStrokePad; - box[2] += xStrokePad; - box[3] += yStrokePad; - } - return box; - } - updateClipFromPath() { - const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox()); - this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]); - } - isEmptyClip() { - return this.minX === Infinity; - } - startNewPathAndClipBox(box) { - this.clipBox = box; - this.minX = Infinity; - this.minY = Infinity; - this.maxX = 0; - this.maxY = 0; - } - getClippedPathBoundingBox() { - let pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; - let transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform)); - } -} -function putBinaryImageData(ctx, imgData) { - let transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - if (typeof ImageData !== "undefined" && imgData instanceof ImageData) { - ctx.putImageData(imgData, 0, 0); - return; - } - const height = imgData.height, - width = imgData.width; - const partialChunkHeight = height % FULL_CHUNK_HEIGHT; - const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; - const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; - const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); - let srcPos = 0, - destPos; - const src = imgData.data; - const dest = chunkImgData.data; - let i, j, thisChunkHeight, elemsInThisChunk; - let transferMapRed, transferMapGreen, transferMapBlue, transferMapGray; - if (transferMaps) { - switch (transferMaps.length) { - case 1: - transferMapRed = transferMaps[0]; - transferMapGreen = transferMaps[0]; - transferMapBlue = transferMaps[0]; - transferMapGray = transferMaps[0]; - break; - case 4: - transferMapRed = transferMaps[0]; - transferMapGreen = transferMaps[1]; - transferMapBlue = transferMaps[2]; - transferMapGray = transferMaps[3]; - break; - } - } - if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) { - const srcLength = src.byteLength; - const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2); - const dest32DataLength = dest32.length; - const fullSrcDiff = width + 7 >> 3; - let white = 0xffffffff; - let black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff; - if (transferMapGray) { - if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) { - [white, black] = [black, white]; - } - } - for (i = 0; i < totalChunks; i++) { - thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; - destPos = 0; - for (j = 0; j < thisChunkHeight; j++) { - const srcDiff = srcLength - srcPos; - let k = 0; - const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7; - const kEndUnrolled = kEnd & ~7; - let mask = 0; - let srcByte = 0; - for (; k < kEndUnrolled; k += 8) { - srcByte = src[srcPos++]; - dest32[destPos++] = srcByte & 128 ? white : black; - dest32[destPos++] = srcByte & 64 ? white : black; - dest32[destPos++] = srcByte & 32 ? white : black; - dest32[destPos++] = srcByte & 16 ? white : black; - dest32[destPos++] = srcByte & 8 ? white : black; - dest32[destPos++] = srcByte & 4 ? white : black; - dest32[destPos++] = srcByte & 2 ? white : black; - dest32[destPos++] = srcByte & 1 ? white : black; - } - for (; k < kEnd; k++) { - if (mask === 0) { - srcByte = src[srcPos++]; - mask = 128; - } - dest32[destPos++] = srcByte & mask ? white : black; - mask >>= 1; - } - } - while (destPos < dest32DataLength) { - dest32[destPos++] = 0; - } - ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); - } - } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) { - const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue); - j = 0; - elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4; - for (i = 0; i < fullChunks; i++) { - dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); - srcPos += elemsInThisChunk; - if (hasTransferMaps) { - for (let k = 0; k < elemsInThisChunk; k += 4) { - if (transferMapRed) { - dest[k + 0] = transferMapRed[dest[k + 0]]; - } - if (transferMapGreen) { - dest[k + 1] = transferMapGreen[dest[k + 1]]; - } - if (transferMapBlue) { - dest[k + 2] = transferMapBlue[dest[k + 2]]; - } - } - } - ctx.putImageData(chunkImgData, 0, j); - j += FULL_CHUNK_HEIGHT; - } - if (i < totalChunks) { - elemsInThisChunk = width * partialChunkHeight * 4; - dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); - if (hasTransferMaps) { - for (let k = 0; k < elemsInThisChunk; k += 4) { - if (transferMapRed) { - dest[k + 0] = transferMapRed[dest[k + 0]]; - } - if (transferMapGreen) { - dest[k + 1] = transferMapGreen[dest[k + 1]]; - } - if (transferMapBlue) { - dest[k + 2] = transferMapBlue[dest[k + 2]]; - } - } - } - ctx.putImageData(chunkImgData, 0, j); - } - } else if (imgData.kind === _util.ImageKind.RGB_24BPP) { - const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue); - thisChunkHeight = FULL_CHUNK_HEIGHT; - elemsInThisChunk = width * thisChunkHeight; - for (i = 0; i < totalChunks; i++) { - if (i >= fullChunks) { - thisChunkHeight = partialChunkHeight; - elemsInThisChunk = width * thisChunkHeight; - } - destPos = 0; - for (j = elemsInThisChunk; j--;) { - dest[destPos++] = src[srcPos++]; - dest[destPos++] = src[srcPos++]; - dest[destPos++] = src[srcPos++]; - dest[destPos++] = 255; - } - if (hasTransferMaps) { - for (let k = 0; k < destPos; k += 4) { - if (transferMapRed) { - dest[k + 0] = transferMapRed[dest[k + 0]]; - } - if (transferMapGreen) { - dest[k + 1] = transferMapGreen[dest[k + 1]]; - } - if (transferMapBlue) { - dest[k + 2] = transferMapBlue[dest[k + 2]]; - } - } - } - ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); - } - } else { - throw new Error(`bad image kind: ${imgData.kind}`); - } -} -function putBinaryImageMask(ctx, imgData) { - if (imgData.bitmap) { - ctx.drawImage(imgData.bitmap, 0, 0); - return; - } - const height = imgData.height, - width = imgData.width; - const partialChunkHeight = height % FULL_CHUNK_HEIGHT; - const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; - const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; - const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); - let srcPos = 0; - const src = imgData.data; - const dest = chunkImgData.data; - for (let i = 0; i < totalChunks; i++) { - const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; - ({ - srcPos - } = (0, _image_utils.applyMaskImageData)({ - src, - srcPos, - dest, - width, - height: thisChunkHeight - })); - ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); - } -} -function copyCtxState(sourceCtx, destCtx) { - const properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font"]; - for (const property of properties) { - if (sourceCtx[property] !== undefined) { - destCtx[property] = sourceCtx[property]; - } - } - if (sourceCtx.setLineDash !== undefined) { - destCtx.setLineDash(sourceCtx.getLineDash()); - destCtx.lineDashOffset = sourceCtx.lineDashOffset; - } -} -function resetCtxToDefault(ctx, foregroundColor) { - ctx.strokeStyle = ctx.fillStyle = foregroundColor || "#000000"; - ctx.fillRule = "nonzero"; - ctx.globalAlpha = 1; - ctx.lineWidth = 1; - ctx.lineCap = "butt"; - ctx.lineJoin = "miter"; - ctx.miterLimit = 10; - ctx.globalCompositeOperation = "source-over"; - ctx.font = "10px sans-serif"; - if (ctx.setLineDash !== undefined) { - ctx.setLineDash([]); - ctx.lineDashOffset = 0; - } -} -function composeSMaskBackdrop(bytes, r0, g0, b0) { - const length = bytes.length; - for (let i = 3; i < length; i += 4) { - const alpha = bytes[i]; - if (alpha === 0) { - bytes[i - 3] = r0; - bytes[i - 2] = g0; - bytes[i - 1] = b0; - } else if (alpha < 255) { - const alpha_ = 255 - alpha; - bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8; - bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8; - bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8; - } - } -} -function composeSMaskAlpha(maskData, layerData, transferMap) { - const length = maskData.length; - const scale = 1 / 255; - for (let i = 3; i < length; i += 4) { - const alpha = transferMap ? transferMap[maskData[i]] : maskData[i]; - layerData[i] = layerData[i] * alpha * scale | 0; - } -} -function composeSMaskLuminosity(maskData, layerData, transferMap) { - const length = maskData.length; - for (let i = 3; i < length; i += 4) { - const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28; - layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16; - } -} -function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) { - const hasBackdrop = !!backdrop; - const r0 = hasBackdrop ? backdrop[0] : 0; - const g0 = hasBackdrop ? backdrop[1] : 0; - const b0 = hasBackdrop ? backdrop[2] : 0; - let composeFn; - if (subtype === "Luminosity") { - composeFn = composeSMaskLuminosity; - } else { - composeFn = composeSMaskAlpha; - } - const PIXELS_TO_PROCESS = 1048576; - const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width)); - for (let row = 0; row < height; row += chunkSize) { - const chunkHeight = Math.min(chunkSize, height - row); - const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight); - const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight); - if (hasBackdrop) { - composeSMaskBackdrop(maskData.data, r0, g0, b0); - } - composeFn(maskData.data, layerData.data, transferMap); - layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY); - } -} -function composeSMask(ctx, smask, layerCtx, layerBox) { - const layerOffsetX = layerBox[0]; - const layerOffsetY = layerBox[1]; - const layerWidth = layerBox[2] - layerOffsetX; - const layerHeight = layerBox[3] - layerOffsetY; - if (layerWidth === 0 || layerHeight === 0) { - return; - } - genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY); - ctx.save(); - ctx.globalAlpha = 1; - ctx.globalCompositeOperation = "source-over"; - ctx.setTransform(1, 0, 0, 1, 0, 0); - ctx.drawImage(layerCtx.canvas, 0, 0); - ctx.restore(); -} -function getImageSmoothingEnabled(transform, interpolate) { - const scale = _util.Util.singularValueDecompose2dScale(transform); - scale[0] = Math.fround(scale[0]); - scale[1] = Math.fround(scale[1]); - const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS); - if (interpolate !== undefined) { - return interpolate; - } else if (scale[0] <= actualScale || scale[1] <= actualScale) { - return true; - } - return false; -} -const LINE_CAP_STYLES = ["butt", "round", "square"]; -const LINE_JOIN_STYLES = ["miter", "round", "bevel"]; -const NORMAL_CLIP = {}; -const EO_CLIP = {}; -var _restoreInitialState = /*#__PURE__*/new WeakSet(); -class CanvasGraphics { - constructor(canvasCtx, commonObjs, objs, canvasFactory, optionalContentConfig, annotationCanvasMap, pageColors) { - _classPrivateMethodInitSpec(this, _restoreInitialState); - this.ctx = canvasCtx; - this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); - this.stateStack = []; - this.pendingClip = null; - this.pendingEOFill = false; - this.res = null; - this.xobjs = null; - this.commonObjs = commonObjs; - this.objs = objs; - this.canvasFactory = canvasFactory; - this.groupStack = []; - this.processingType3 = null; - this.baseTransform = null; - this.baseTransformStack = []; - this.groupLevel = 0; - this.smaskStack = []; - this.smaskCounter = 0; - this.tempSMask = null; - this.suspendedCtx = null; - this.contentVisible = true; - this.markedContentStack = []; - this.optionalContentConfig = optionalContentConfig; - this.cachedCanvases = new CachedCanvases(this.canvasFactory); - this.cachedPatterns = new Map(); - this.annotationCanvasMap = annotationCanvasMap; - this.viewportScale = 1; - this.outputScaleX = 1; - this.outputScaleY = 1; - this.backgroundColor = (pageColors === null || pageColors === void 0 ? void 0 : pageColors.background) || null; - this.foregroundColor = (pageColors === null || pageColors === void 0 ? void 0 : pageColors.foreground) || null; - this._cachedScaleForStroking = null; - this._cachedGetSinglePixelWidth = null; - this._cachedBitmapsMap = new Map(); - } - getObject(data) { - let fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - if (typeof data === "string") { - return data.startsWith("g_") ? this.commonObjs.get(data) : this.objs.get(data); - } - return fallback; - } - beginDrawing(_ref) { - let { - transform, - viewport, - transparency = false, - background = null - } = _ref; - const width = this.ctx.canvas.width; - const height = this.ctx.canvas.height; - const defaultBackgroundColor = background || "#ffffff"; - this.ctx.save(); - if (this.foregroundColor && this.backgroundColor) { - this.ctx.fillStyle = this.foregroundColor; - const fg = this.foregroundColor = this.ctx.fillStyle; - this.ctx.fillStyle = this.backgroundColor; - const bg = this.backgroundColor = this.ctx.fillStyle; - let isValidDefaultBg = true; - let defaultBg = defaultBackgroundColor; - this.ctx.fillStyle = defaultBackgroundColor; - defaultBg = this.ctx.fillStyle; - isValidDefaultBg = typeof defaultBg === "string" && /^#[0-9A-Fa-f]{6}$/.test(defaultBg); - if (fg === "#000000" && bg === "#ffffff" || fg === bg || !isValidDefaultBg) { - this.foregroundColor = this.backgroundColor = null; - } else { - const [rB, gB, bB] = (0, _display_utils.getRGB)(defaultBg); - const newComp = x => { - x /= 255; - return x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4; - }; - const lumB = Math.round(0.2126 * newComp(rB) + 0.7152 * newComp(gB) + 0.0722 * newComp(bB)); - this.selectColor = (r, g, b) => { - const lumC = 0.2126 * newComp(r) + 0.7152 * newComp(g) + 0.0722 * newComp(b); - return Math.round(lumC) === lumB ? bg : fg; - }; - } - } - this.ctx.fillStyle = this.backgroundColor || defaultBackgroundColor; - this.ctx.fillRect(0, 0, width, height); - this.ctx.restore(); - if (transparency) { - const transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height); - this.compositeCtx = this.ctx; - this.transparentCanvas = transparentCanvas.canvas; - this.ctx = transparentCanvas.context; - this.ctx.save(); - this.ctx.transform(...(0, _display_utils.getCurrentTransform)(this.compositeCtx)); - } - this.ctx.save(); - resetCtxToDefault(this.ctx, this.foregroundColor); - if (transform) { - this.ctx.transform(...transform); - this.outputScaleX = transform[0]; - this.outputScaleY = transform[0]; - } - this.ctx.transform(...viewport.transform); - this.viewportScale = viewport.scale; - this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx); - } - executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) { - const argsArray = operatorList.argsArray; - const fnArray = operatorList.fnArray; - let i = executionStartIdx || 0; - const argsArrayLen = argsArray.length; - if (argsArrayLen === i) { - return i; - } - const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function"; - const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0; - let steps = 0; - const commonObjs = this.commonObjs; - const objs = this.objs; - let fnId; - while (true) { - if (stepper !== undefined && i === stepper.nextBreakPoint) { - stepper.breakIt(i, continueCallback); - return i; - } - fnId = fnArray[i]; - if (fnId !== _util.OPS.dependency) { - this[fnId].apply(this, argsArray[i]); - } else { - for (const depObjId of argsArray[i]) { - const objsPool = depObjId.startsWith("g_") ? commonObjs : objs; - if (!objsPool.has(depObjId)) { - objsPool.get(depObjId, continueCallback); - return i; - } - } - } - i++; - if (i === argsArrayLen) { - return i; - } - if (chunkOperations && ++steps > EXECUTION_STEPS) { - if (Date.now() > endTime) { - continueCallback(); - return i; - } - steps = 0; - } - } - } - endDrawing() { - _classPrivateMethodGet(this, _restoreInitialState, _restoreInitialState2).call(this); - this.cachedCanvases.clear(); - this.cachedPatterns.clear(); - for (const cache of this._cachedBitmapsMap.values()) { - for (const canvas of cache.values()) { - if (typeof HTMLCanvasElement !== "undefined" && canvas instanceof HTMLCanvasElement) { - canvas.width = canvas.height = 0; - } - } - cache.clear(); - } - this._cachedBitmapsMap.clear(); - } - _scaleImage(img, inverseTransform) { - const width = img.width; - const height = img.height; - let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1); - let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1); - let paintWidth = width, - paintHeight = height; - let tmpCanvasId = "prescale1"; - let tmpCanvas, tmpCtx; - while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) { - let newWidth = paintWidth, - newHeight = paintHeight; - if (widthScale > 2 && paintWidth > 1) { - newWidth = Math.ceil(paintWidth / 2); - widthScale /= paintWidth / newWidth; - } - if (heightScale > 2 && paintHeight > 1) { - newHeight = Math.ceil(paintHeight / 2); - heightScale /= paintHeight / newHeight; - } - tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight); - tmpCtx = tmpCanvas.context; - tmpCtx.clearRect(0, 0, newWidth, newHeight); - tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight); - img = tmpCanvas.canvas; - paintWidth = newWidth; - paintHeight = newHeight; - tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1"; - } - return { - img, - paintWidth, - paintHeight - }; - } - _createMaskCanvas(img) { - const ctx = this.ctx; - const { - width, - height - } = img; - const fillColor = this.current.fillColor; - const isPatternFill = this.current.patternFill; - const currentTransform = (0, _display_utils.getCurrentTransform)(ctx); - let cache, cacheKey, scaled, maskCanvas; - if ((img.bitmap || img.data) && img.count > 1) { - const mainKey = img.bitmap || img.data.buffer; - cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]); - cache = this._cachedBitmapsMap.get(mainKey); - if (!cache) { - cache = new Map(); - this._cachedBitmapsMap.set(mainKey, cache); - } - const cachedImage = cache.get(cacheKey); - if (cachedImage && !isPatternFill) { - const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]); - const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]); - return { - canvas: cachedImage, - offsetX, - offsetY - }; - } - scaled = cachedImage; - } - if (!scaled) { - maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); - putBinaryImageMask(maskCanvas.context, img); - } - let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]); - maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]); - const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas); - const cord2 = _util.Util.applyTransform([width, height], maskToCanvas); - const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]); - const drawnWidth = Math.round(rect[2] - rect[0]) || 1; - const drawnHeight = Math.round(rect[3] - rect[1]) || 1; - const fillCanvas = this.cachedCanvases.getCanvas("fillCanvas", drawnWidth, drawnHeight); - const fillCtx = fillCanvas.context; - const offsetX = Math.min(cord1[0], cord2[0]); - const offsetY = Math.min(cord1[1], cord2[1]); - fillCtx.translate(-offsetX, -offsetY); - fillCtx.transform(...maskToCanvas); - if (!scaled) { - scaled = this._scaleImage(maskCanvas.canvas, (0, _display_utils.getCurrentTransformInverse)(fillCtx)); - scaled = scaled.img; - if (cache && isPatternFill) { - cache.set(cacheKey, scaled); - } - } - fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(fillCtx), img.interpolate); - drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height); - fillCtx.globalCompositeOperation = "source-in"; - const inverse = _util.Util.transform((0, _display_utils.getCurrentTransformInverse)(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]); - fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor; - fillCtx.fillRect(0, 0, width, height); - if (cache && !isPatternFill) { - this.cachedCanvases.delete("fillCanvas"); - cache.set(cacheKey, fillCanvas.canvas); - } - return { - canvas: fillCanvas.canvas, - offsetX: Math.round(offsetX), - offsetY: Math.round(offsetY) - }; - } - setLineWidth(width) { - if (width !== this.current.lineWidth) { - this._cachedScaleForStroking = null; - } - this.current.lineWidth = width; - this.ctx.lineWidth = width; - } - setLineCap(style) { - this.ctx.lineCap = LINE_CAP_STYLES[style]; - } - setLineJoin(style) { - this.ctx.lineJoin = LINE_JOIN_STYLES[style]; - } - setMiterLimit(limit) { - this.ctx.miterLimit = limit; - } - setDash(dashArray, dashPhase) { - const ctx = this.ctx; - if (ctx.setLineDash !== undefined) { - ctx.setLineDash(dashArray); - ctx.lineDashOffset = dashPhase; - } - } - setRenderingIntent(intent) {} - setFlatness(flatness) {} - setGState(states) { - for (const [key, value] of states) { - switch (key) { - case "LW": - this.setLineWidth(value); - break; - case "LC": - this.setLineCap(value); - break; - case "LJ": - this.setLineJoin(value); - break; - case "ML": - this.setMiterLimit(value); - break; - case "D": - this.setDash(value[0], value[1]); - break; - case "RI": - this.setRenderingIntent(value); - break; - case "FL": - this.setFlatness(value); - break; - case "Font": - this.setFont(value[0], value[1]); - break; - case "CA": - this.current.strokeAlpha = value; - break; - case "ca": - this.current.fillAlpha = value; - this.ctx.globalAlpha = value; - break; - case "BM": - this.ctx.globalCompositeOperation = value; - break; - case "SMask": - this.current.activeSMask = value ? this.tempSMask : null; - this.tempSMask = null; - this.checkSMaskState(); - break; - case "TR": - this.current.transferMaps = value; - } - } - } - get inSMaskMode() { - return !!this.suspendedCtx; - } - checkSMaskState() { - const inSMaskMode = this.inSMaskMode; - if (this.current.activeSMask && !inSMaskMode) { - this.beginSMaskMode(); - } else if (!this.current.activeSMask && inSMaskMode) { - this.endSMaskMode(); - } - } - beginSMaskMode() { - if (this.inSMaskMode) { - throw new Error("beginSMaskMode called while already in smask mode"); - } - const drawnWidth = this.ctx.canvas.width; - const drawnHeight = this.ctx.canvas.height; - const cacheId = "smaskGroupAt" + this.groupLevel; - const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight); - this.suspendedCtx = this.ctx; - this.ctx = scratchCanvas.context; - const ctx = this.ctx; - ctx.setTransform(...(0, _display_utils.getCurrentTransform)(this.suspendedCtx)); - copyCtxState(this.suspendedCtx, ctx); - mirrorContextOperations(ctx, this.suspendedCtx); - this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); - } - endSMaskMode() { - if (!this.inSMaskMode) { - throw new Error("endSMaskMode called while not in smask mode"); - } - this.ctx._removeMirroring(); - copyCtxState(this.ctx, this.suspendedCtx); - this.ctx = this.suspendedCtx; - this.suspendedCtx = null; - } - compose(dirtyBox) { - if (!this.current.activeSMask) { - return; - } - if (!dirtyBox) { - dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height]; - } else { - dirtyBox[0] = Math.floor(dirtyBox[0]); - dirtyBox[1] = Math.floor(dirtyBox[1]); - dirtyBox[2] = Math.ceil(dirtyBox[2]); - dirtyBox[3] = Math.ceil(dirtyBox[3]); - } - const smask = this.current.activeSMask; - const suspendedCtx = this.suspendedCtx; - composeSMask(suspendedCtx, smask, this.ctx, dirtyBox); - this.ctx.save(); - this.ctx.setTransform(1, 0, 0, 1, 0, 0); - this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height); - this.ctx.restore(); - } - save() { - if (this.inSMaskMode) { - copyCtxState(this.ctx, this.suspendedCtx); - this.suspendedCtx.save(); - } else { - this.ctx.save(); - } - const old = this.current; - this.stateStack.push(old); - this.current = old.clone(); - } - restore() { - if (this.stateStack.length === 0 && this.inSMaskMode) { - this.endSMaskMode(); - } - if (this.stateStack.length !== 0) { - this.current = this.stateStack.pop(); - if (this.inSMaskMode) { - this.suspendedCtx.restore(); - copyCtxState(this.suspendedCtx, this.ctx); - } else { - this.ctx.restore(); - } - this.checkSMaskState(); - this.pendingClip = null; - this._cachedScaleForStroking = null; - this._cachedGetSinglePixelWidth = null; - } - } - transform(a, b, c, d, e, f) { - this.ctx.transform(a, b, c, d, e, f); - this._cachedScaleForStroking = null; - this._cachedGetSinglePixelWidth = null; - } - constructPath(ops, args, minMax) { - const ctx = this.ctx; - const current = this.current; - let x = current.x, - y = current.y; - let startX, startY; - const currentTransform = (0, _display_utils.getCurrentTransform)(ctx); - const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0; - const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null; - for (let i = 0, j = 0, ii = ops.length; i < ii; i++) { - switch (ops[i] | 0) { - case _util.OPS.rectangle: - x = args[j++]; - y = args[j++]; - const width = args[j++]; - const height = args[j++]; - const xw = x + width; - const yh = y + height; - ctx.moveTo(x, y); - if (width === 0 || height === 0) { - ctx.lineTo(xw, yh); - } else { - ctx.lineTo(xw, y); - ctx.lineTo(xw, yh); - ctx.lineTo(x, yh); - } - if (!isScalingMatrix) { - current.updateRectMinMax(currentTransform, [x, y, xw, yh]); - } - ctx.closePath(); - break; - case _util.OPS.moveTo: - x = args[j++]; - y = args[j++]; - ctx.moveTo(x, y); - if (!isScalingMatrix) { - current.updatePathMinMax(currentTransform, x, y); - } - break; - case _util.OPS.lineTo: - x = args[j++]; - y = args[j++]; - ctx.lineTo(x, y); - if (!isScalingMatrix) { - current.updatePathMinMax(currentTransform, x, y); - } - break; - case _util.OPS.curveTo: - startX = x; - startY = y; - x = args[j + 4]; - y = args[j + 5]; - ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y); - current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier); - j += 6; - break; - case _util.OPS.curveTo2: - startX = x; - startY = y; - ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]); - current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier); - x = args[j + 2]; - y = args[j + 3]; - j += 4; - break; - case _util.OPS.curveTo3: - startX = x; - startY = y; - x = args[j + 2]; - y = args[j + 3]; - ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y); - current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier); - j += 4; - break; - case _util.OPS.closePath: - ctx.closePath(); - break; - } - } - if (isScalingMatrix) { - current.updateScalingPathMinMax(currentTransform, minMaxForBezier); - } - current.setCurrentPoint(x, y); - } - closePath() { - this.ctx.closePath(); - } - stroke(consumePath) { - consumePath = typeof consumePath !== "undefined" ? consumePath : true; - const ctx = this.ctx; - const strokeColor = this.current.strokeColor; - ctx.globalAlpha = this.current.strokeAlpha; - if (this.contentVisible) { - if (typeof strokeColor === "object" && strokeColor !== null && strokeColor !== void 0 && strokeColor.getPattern) { - ctx.save(); - ctx.strokeStyle = strokeColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.STROKE); - this.rescaleAndStroke(false); - ctx.restore(); - } else { - this.rescaleAndStroke(true); - } - } - if (consumePath) { - this.consumePath(this.current.getClippedPathBoundingBox()); - } - ctx.globalAlpha = this.current.fillAlpha; - } - closeStroke() { - this.closePath(); - this.stroke(); - } - fill(consumePath) { - consumePath = typeof consumePath !== "undefined" ? consumePath : true; - const ctx = this.ctx; - const fillColor = this.current.fillColor; - const isPatternFill = this.current.patternFill; - let needRestore = false; - if (isPatternFill) { - ctx.save(); - ctx.fillStyle = fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL); - needRestore = true; - } - const intersect = this.current.getClippedPathBoundingBox(); - if (this.contentVisible && intersect !== null) { - if (this.pendingEOFill) { - ctx.fill("evenodd"); - this.pendingEOFill = false; - } else { - ctx.fill(); - } - } - if (needRestore) { - ctx.restore(); - } - if (consumePath) { - this.consumePath(intersect); - } - } - eoFill() { - this.pendingEOFill = true; - this.fill(); - } - fillStroke() { - this.fill(false); - this.stroke(false); - this.consumePath(); - } - eoFillStroke() { - this.pendingEOFill = true; - this.fillStroke(); - } - closeFillStroke() { - this.closePath(); - this.fillStroke(); - } - closeEOFillStroke() { - this.pendingEOFill = true; - this.closePath(); - this.fillStroke(); - } - endPath() { - this.consumePath(); - } - clip() { - this.pendingClip = NORMAL_CLIP; - } - eoClip() { - this.pendingClip = EO_CLIP; - } - beginText() { - this.current.textMatrix = _util.IDENTITY_MATRIX; - this.current.textMatrixScale = 1; - this.current.x = this.current.lineX = 0; - this.current.y = this.current.lineY = 0; - } - endText() { - const paths = this.pendingTextPaths; - const ctx = this.ctx; - if (paths === undefined) { - ctx.beginPath(); - return; - } - ctx.save(); - ctx.beginPath(); - for (const path of paths) { - ctx.setTransform(...path.transform); - ctx.translate(path.x, path.y); - path.addToPath(ctx, path.fontSize); - } - ctx.restore(); - ctx.clip(); - ctx.beginPath(); - delete this.pendingTextPaths; - } - setCharSpacing(spacing) { - this.current.charSpacing = spacing; - } - setWordSpacing(spacing) { - this.current.wordSpacing = spacing; - } - setHScale(scale) { - this.current.textHScale = scale / 100; - } - setLeading(leading) { - this.current.leading = -leading; - } - setFont(fontRefName, size) { - const fontObj = this.commonObjs.get(fontRefName); - const current = this.current; - if (!fontObj) { - throw new Error(`Can't find font for ${fontRefName}`); - } - current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; - if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) { - (0, _util.warn)("Invalid font matrix for font " + fontRefName); - } - if (size < 0) { - size = -size; - current.fontDirection = -1; - } else { - current.fontDirection = 1; - } - this.current.font = fontObj; - this.current.fontSize = size; - if (fontObj.isType3Font) { - return; - } - const name = fontObj.loadedName || "sans-serif"; - let bold = "normal"; - if (fontObj.black) { - bold = "900"; - } else if (fontObj.bold) { - bold = "bold"; - } - const italic = fontObj.italic ? "italic" : "normal"; - const typeface = `"${name}", ${fontObj.fallbackName}`; - let browserFontSize = size; - if (size < MIN_FONT_SIZE) { - browserFontSize = MIN_FONT_SIZE; - } else if (size > MAX_FONT_SIZE) { - browserFontSize = MAX_FONT_SIZE; - } - this.current.fontSizeScale = size / browserFontSize; - this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`; - } - setTextRenderingMode(mode) { - this.current.textRenderingMode = mode; - } - setTextRise(rise) { - this.current.textRise = rise; - } - moveText(x, y) { - this.current.x = this.current.lineX += x; - this.current.y = this.current.lineY += y; - } - setLeadingMoveText(x, y) { - this.setLeading(-y); - this.moveText(x, y); - } - setTextMatrix(a, b, c, d, e, f) { - this.current.textMatrix = [a, b, c, d, e, f]; - this.current.textMatrixScale = Math.hypot(a, b); - this.current.x = this.current.lineX = 0; - this.current.y = this.current.lineY = 0; - } - nextLine() { - this.moveText(0, this.current.leading); - } - paintChar(character, x, y, patternTransform) { - const ctx = this.ctx; - const current = this.current; - const font = current.font; - const textRenderingMode = current.textRenderingMode; - const fontSize = current.fontSize / current.fontSizeScale; - const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; - const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG); - const patternFill = current.patternFill && !font.missingFile; - let addToPath; - if (font.disableFontFace || isAddToPathSet || patternFill) { - addToPath = font.getPathGenerator(this.commonObjs, character); - } - if (font.disableFontFace || patternFill) { - ctx.save(); - ctx.translate(x, y); - ctx.beginPath(); - addToPath(ctx, fontSize); - if (patternTransform) { - ctx.setTransform(...patternTransform); - } - if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - ctx.fill(); - } - if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - ctx.stroke(); - } - ctx.restore(); - } else { - if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - ctx.fillText(character, x, y); - } - if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - ctx.strokeText(character, x, y); - } - } - if (isAddToPathSet) { - const paths = this.pendingTextPaths || (this.pendingTextPaths = []); - paths.push({ - transform: (0, _display_utils.getCurrentTransform)(ctx), - x, - y, - fontSize, - addToPath - }); - } - } - get isFontSubpixelAAEnabled() { - const { - context: ctx - } = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10); - ctx.scale(1.5, 1); - ctx.fillText("I", 0, 10); - const data = ctx.getImageData(0, 0, 10, 10).data; - let enabled = false; - for (let i = 3; i < data.length; i += 4) { - if (data[i] > 0 && data[i] < 255) { - enabled = true; - break; - } - } - return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled); - } - showText(glyphs) { - const current = this.current; - const font = current.font; - if (font.isType3Font) { - return this.showType3Text(glyphs); - } - const fontSize = current.fontSize; - if (fontSize === 0) { - return undefined; - } - const ctx = this.ctx; - const fontSizeScale = current.fontSizeScale; - const charSpacing = current.charSpacing; - const wordSpacing = current.wordSpacing; - const fontDirection = current.fontDirection; - const textHScale = current.textHScale * fontDirection; - const glyphsLength = glyphs.length; - const vertical = font.vertical; - const spacingDir = vertical ? 1 : -1; - const defaultVMetrics = font.defaultVMetrics; - const widthAdvanceScale = fontSize * current.fontMatrix[0]; - const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill; - ctx.save(); - ctx.transform(...current.textMatrix); - ctx.translate(current.x, current.y + current.textRise); - if (fontDirection > 0) { - ctx.scale(textHScale, -1); - } else { - ctx.scale(textHScale, 1); - } - let patternTransform; - if (current.patternFill) { - ctx.save(); - const pattern = current.fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL); - patternTransform = (0, _display_utils.getCurrentTransform)(ctx); - ctx.restore(); - ctx.fillStyle = pattern; - } - let lineWidth = current.lineWidth; - const scale = current.textMatrixScale; - if (scale === 0 || lineWidth === 0) { - const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; - if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - lineWidth = this.getSinglePixelWidth(); - } - } else { - lineWidth /= scale; - } - if (fontSizeScale !== 1.0) { - ctx.scale(fontSizeScale, fontSizeScale); - lineWidth /= fontSizeScale; - } - ctx.lineWidth = lineWidth; - let x = 0, - i; - for (i = 0; i < glyphsLength; ++i) { - const glyph = glyphs[i]; - if (typeof glyph === "number") { - x += spacingDir * glyph * fontSize / 1000; - continue; - } - let restoreNeeded = false; - const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; - const character = glyph.fontChar; - const accent = glyph.accent; - let scaledX, scaledY; - let width = glyph.width; - if (vertical) { - const vmetric = glyph.vmetric || defaultVMetrics; - const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale; - const vy = vmetric[2] * widthAdvanceScale; - width = vmetric ? -vmetric[0] : width; - scaledX = vx / fontSizeScale; - scaledY = (x + vy) / fontSizeScale; - } else { - scaledX = x / fontSizeScale; - scaledY = 0; - } - if (font.remeasure && width > 0) { - const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale; - if (width < measuredWidth && this.isFontSubpixelAAEnabled) { - const characterScaleX = width / measuredWidth; - restoreNeeded = true; - ctx.save(); - ctx.scale(characterScaleX, 1); - scaledX /= characterScaleX; - } else if (width !== measuredWidth) { - scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale; - } - } - if (this.contentVisible && (glyph.isInFont || font.missingFile)) { - if (simpleFillText && !accent) { - ctx.fillText(character, scaledX, scaledY); - } else { - this.paintChar(character, scaledX, scaledY, patternTransform); - if (accent) { - const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale; - const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale; - this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform); - } - } - } - let charWidth; - if (vertical) { - charWidth = width * widthAdvanceScale - spacing * fontDirection; - } else { - charWidth = width * widthAdvanceScale + spacing * fontDirection; - } - x += charWidth; - if (restoreNeeded) { - ctx.restore(); - } - } - if (vertical) { - current.y -= x; - } else { - current.x += x * textHScale; - } - ctx.restore(); - this.compose(); - return undefined; - } - showType3Text(glyphs) { - const ctx = this.ctx; - const current = this.current; - const font = current.font; - const fontSize = current.fontSize; - const fontDirection = current.fontDirection; - const spacingDir = font.vertical ? 1 : -1; - const charSpacing = current.charSpacing; - const wordSpacing = current.wordSpacing; - const textHScale = current.textHScale * fontDirection; - const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX; - const glyphsLength = glyphs.length; - const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE; - let i, glyph, width, spacingLength; - if (isTextInvisible || fontSize === 0) { - return; - } - this._cachedScaleForStroking = null; - this._cachedGetSinglePixelWidth = null; - ctx.save(); - ctx.transform(...current.textMatrix); - ctx.translate(current.x, current.y); - ctx.scale(textHScale, fontDirection); - for (i = 0; i < glyphsLength; ++i) { - glyph = glyphs[i]; - if (typeof glyph === "number") { - spacingLength = spacingDir * glyph * fontSize / 1000; - this.ctx.translate(spacingLength, 0); - current.x += spacingLength * textHScale; - continue; - } - const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; - const operatorList = font.charProcOperatorList[glyph.operatorListId]; - if (!operatorList) { - (0, _util.warn)(`Type3 character "${glyph.operatorListId}" is not available.`); - continue; - } - if (this.contentVisible) { - this.processingType3 = glyph; - this.save(); - ctx.scale(fontSize, fontSize); - ctx.transform(...fontMatrix); - this.executeOperatorList(operatorList); - this.restore(); - } - const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix); - width = transformed[0] * fontSize + spacing; - ctx.translate(width, 0); - current.x += width * textHScale; - } - ctx.restore(); - this.processingType3 = null; - } - setCharWidth(xWidth, yWidth) {} - setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) { - this.ctx.rect(llx, lly, urx - llx, ury - lly); - this.ctx.clip(); - this.endPath(); - } - getColorN_Pattern(IR) { - let pattern; - if (IR[0] === "TilingPattern") { - const color = IR[1]; - const baseTransform = this.baseTransform || (0, _display_utils.getCurrentTransform)(this.ctx); - const canvasGraphicsFactory = { - createCanvasGraphics: ctx => { - return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory); - } - }; - pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform); - } else { - pattern = this._getPattern(IR[1], IR[2]); - } - return pattern; - } - setStrokeColorN() { - this.current.strokeColor = this.getColorN_Pattern(arguments); - } - setFillColorN() { - this.current.fillColor = this.getColorN_Pattern(arguments); - this.current.patternFill = true; - } - setStrokeRGBColor(r, g, b) { - var _this$selectColor; - const color = ((_this$selectColor = this.selectColor) === null || _this$selectColor === void 0 ? void 0 : _this$selectColor.call(this, r, g, b)) || _util.Util.makeHexColor(r, g, b); - this.ctx.strokeStyle = color; - this.current.strokeColor = color; - } - setFillRGBColor(r, g, b) { - var _this$selectColor2; - const color = ((_this$selectColor2 = this.selectColor) === null || _this$selectColor2 === void 0 ? void 0 : _this$selectColor2.call(this, r, g, b)) || _util.Util.makeHexColor(r, g, b); - this.ctx.fillStyle = color; - this.current.fillColor = color; - this.current.patternFill = false; - } - _getPattern(objId) { - let matrix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - let pattern; - if (this.cachedPatterns.has(objId)) { - pattern = this.cachedPatterns.get(objId); - } else { - pattern = (0, _pattern_helper.getShadingPattern)(this.objs.get(objId)); - this.cachedPatterns.set(objId, pattern); - } - if (matrix) { - pattern.matrix = matrix; - } - return pattern; - } - shadingFill(objId) { - if (!this.contentVisible) { - return; - } - const ctx = this.ctx; - this.save(); - const pattern = this._getPattern(objId); - ctx.fillStyle = pattern.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.SHADING); - const inv = (0, _display_utils.getCurrentTransformInverse)(ctx); - if (inv) { - const canvas = ctx.canvas; - const width = canvas.width; - const height = canvas.height; - const bl = _util.Util.applyTransform([0, 0], inv); - const br = _util.Util.applyTransform([0, height], inv); - const ul = _util.Util.applyTransform([width, 0], inv); - const ur = _util.Util.applyTransform([width, height], inv); - const x0 = Math.min(bl[0], br[0], ul[0], ur[0]); - const y0 = Math.min(bl[1], br[1], ul[1], ur[1]); - const x1 = Math.max(bl[0], br[0], ul[0], ur[0]); - const y1 = Math.max(bl[1], br[1], ul[1], ur[1]); - this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0); - } else { - this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10); - } - this.compose(this.current.getClippedPathBoundingBox()); - this.restore(); - } - beginInlineImage() { - (0, _util.unreachable)("Should not call beginInlineImage"); - } - beginImageData() { - (0, _util.unreachable)("Should not call beginImageData"); - } - paintFormXObjectBegin(matrix, bbox) { - if (!this.contentVisible) { - return; - } - this.save(); - this.baseTransformStack.push(this.baseTransform); - if (Array.isArray(matrix) && matrix.length === 6) { - this.transform(...matrix); - } - this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx); - if (bbox) { - const width = bbox[2] - bbox[0]; - const height = bbox[3] - bbox[1]; - this.ctx.rect(bbox[0], bbox[1], width, height); - this.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(this.ctx), bbox); - this.clip(); - this.endPath(); - } - } - paintFormXObjectEnd() { - if (!this.contentVisible) { - return; - } - this.restore(); - this.baseTransform = this.baseTransformStack.pop(); - } - beginGroup(group) { - if (!this.contentVisible) { - return; - } - this.save(); - if (this.inSMaskMode) { - this.endSMaskMode(); - this.current.activeSMask = null; - } - const currentCtx = this.ctx; - if (!group.isolated) { - (0, _util.info)("TODO: Support non-isolated groups."); - } - if (group.knockout) { - (0, _util.warn)("Knockout groups not supported."); - } - const currentTransform = (0, _display_utils.getCurrentTransform)(currentCtx); - if (group.matrix) { - currentCtx.transform(...group.matrix); - } - if (!group.bbox) { - throw new Error("Bounding box is required."); - } - let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, (0, _display_utils.getCurrentTransform)(currentCtx)); - const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height]; - bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0]; - const offsetX = Math.floor(bounds[0]); - const offsetY = Math.floor(bounds[1]); - let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1); - let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1); - let scaleX = 1, - scaleY = 1; - if (drawnWidth > MAX_GROUP_SIZE) { - scaleX = drawnWidth / MAX_GROUP_SIZE; - drawnWidth = MAX_GROUP_SIZE; - } - if (drawnHeight > MAX_GROUP_SIZE) { - scaleY = drawnHeight / MAX_GROUP_SIZE; - drawnHeight = MAX_GROUP_SIZE; - } - this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]); - let cacheId = "groupAt" + this.groupLevel; - if (group.smask) { - cacheId += "_smask_" + this.smaskCounter++ % 2; - } - const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight); - const groupCtx = scratchCanvas.context; - groupCtx.scale(1 / scaleX, 1 / scaleY); - groupCtx.translate(-offsetX, -offsetY); - groupCtx.transform(...currentTransform); - if (group.smask) { - this.smaskStack.push({ - canvas: scratchCanvas.canvas, - context: groupCtx, - offsetX, - offsetY, - scaleX, - scaleY, - subtype: group.smask.subtype, - backdrop: group.smask.backdrop, - transferMap: group.smask.transferMap || null, - startTransformInverse: null - }); - } else { - currentCtx.setTransform(1, 0, 0, 1, 0, 0); - currentCtx.translate(offsetX, offsetY); - currentCtx.scale(scaleX, scaleY); - currentCtx.save(); - } - copyCtxState(currentCtx, groupCtx); - this.ctx = groupCtx; - this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); - this.groupStack.push(currentCtx); - this.groupLevel++; - } - endGroup(group) { - if (!this.contentVisible) { - return; - } - this.groupLevel--; - const groupCtx = this.ctx; - const ctx = this.groupStack.pop(); - this.ctx = ctx; - this.ctx.imageSmoothingEnabled = false; - if (group.smask) { - this.tempSMask = this.smaskStack.pop(); - this.restore(); - } else { - this.ctx.restore(); - const currentMtx = (0, _display_utils.getCurrentTransform)(this.ctx); - this.restore(); - this.ctx.save(); - this.ctx.setTransform(...currentMtx); - const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx); - this.ctx.drawImage(groupCtx.canvas, 0, 0); - this.ctx.restore(); - this.compose(dirtyBox); - } - } - beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) { - _classPrivateMethodGet(this, _restoreInitialState, _restoreInitialState2).call(this); - resetCtxToDefault(this.ctx, this.foregroundColor); - this.ctx.save(); - this.save(); - if (this.baseTransform) { - this.ctx.setTransform(...this.baseTransform); - } - if (Array.isArray(rect) && rect.length === 4) { - const width = rect[2] - rect[0]; - const height = rect[3] - rect[1]; - if (hasOwnCanvas && this.annotationCanvasMap) { - transform = transform.slice(); - transform[4] -= rect[0]; - transform[5] -= rect[1]; - rect = rect.slice(); - rect[0] = rect[1] = 0; - rect[2] = width; - rect[3] = height; - const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(this.ctx)); - const { - viewportScale - } = this; - const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale); - const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale); - this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight); - const { - canvas, - context - } = this.annotationCanvas; - this.annotationCanvasMap.set(id, canvas); - this.annotationCanvas.savedCtx = this.ctx; - this.ctx = context; - this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY); - resetCtxToDefault(this.ctx, this.foregroundColor); - } else { - resetCtxToDefault(this.ctx, this.foregroundColor); - this.ctx.rect(rect[0], rect[1], width, height); - this.ctx.clip(); - this.endPath(); - } - } - this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); - this.transform(...transform); - this.transform(...matrix); - } - endAnnotation() { - if (this.annotationCanvas) { - this.ctx = this.annotationCanvas.savedCtx; - delete this.annotationCanvas.savedCtx; - delete this.annotationCanvas; - } - } - paintImageMaskXObject(img) { - if (!this.contentVisible) { - return; - } - const count = img.count; - img = this.getObject(img.data, img); - img.count = count; - const ctx = this.ctx; - const glyph = this.processingType3; - if (glyph) { - if (glyph.compiled === undefined) { - glyph.compiled = compileType3Glyph(img); - } - if (glyph.compiled) { - glyph.compiled(ctx); - return; - } - } - const mask = this._createMaskCanvas(img); - const maskCanvas = mask.canvas; - ctx.save(); - ctx.setTransform(1, 0, 0, 1, 0, 0); - ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY); - ctx.restore(); - this.compose(); - } - paintImageMaskXObjectRepeat(img, scaleX) { - let skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - let skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; - let scaleY = arguments.length > 4 ? arguments[4] : undefined; - let positions = arguments.length > 5 ? arguments[5] : undefined; - if (!this.contentVisible) { - return; - } - img = this.getObject(img.data, img); - const ctx = this.ctx; - ctx.save(); - const currentTransform = (0, _display_utils.getCurrentTransform)(ctx); - ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0); - const mask = this._createMaskCanvas(img); - ctx.setTransform(1, 0, 0, 1, 0, 0); - for (let i = 0, ii = positions.length; i < ii; i += 2) { - const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]); - const [x, y] = _util.Util.applyTransform([0, 0], trans); - ctx.drawImage(mask.canvas, x, y); - } - ctx.restore(); - this.compose(); - } - paintImageMaskXObjectGroup(images) { - if (!this.contentVisible) { - return; - } - const ctx = this.ctx; - const fillColor = this.current.fillColor; - const isPatternFill = this.current.patternFill; - for (const image of images) { - const { - data, - width, - height, - transform - } = image; - const maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); - const maskCtx = maskCanvas.context; - maskCtx.save(); - const img = this.getObject(data, image); - putBinaryImageMask(maskCtx, img); - maskCtx.globalCompositeOperation = "source-in"; - maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL) : fillColor; - maskCtx.fillRect(0, 0, width, height); - maskCtx.restore(); - ctx.save(); - ctx.transform(...transform); - ctx.scale(1, -1); - drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); - ctx.restore(); - } - this.compose(); - } - paintImageXObject(objId) { - if (!this.contentVisible) { - return; - } - const imgData = this.getObject(objId); - if (!imgData) { - (0, _util.warn)("Dependent image isn't ready yet"); - return; - } - this.paintInlineImageXObject(imgData); - } - paintImageXObjectRepeat(objId, scaleX, scaleY, positions) { - if (!this.contentVisible) { - return; - } - const imgData = this.getObject(objId); - if (!imgData) { - (0, _util.warn)("Dependent image isn't ready yet"); - return; - } - const width = imgData.width; - const height = imgData.height; - const map = []; - for (let i = 0, ii = positions.length; i < ii; i += 2) { - map.push({ - transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]], - x: 0, - y: 0, - w: width, - h: height - }); - } - this.paintInlineImageXObjectGroup(imgData, map); - } - paintInlineImageXObject(imgData) { - if (!this.contentVisible) { - return; - } - const width = imgData.width; - const height = imgData.height; - const ctx = this.ctx; - this.save(); - ctx.scale(1 / width, -1 / height); - let imgToPaint; - if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) { - imgToPaint = imgData; - } else { - const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); - const tmpCtx = tmpCanvas.context; - putBinaryImageData(tmpCtx, imgData, this.current.transferMaps); - imgToPaint = tmpCanvas.canvas; - } - const scaled = this._scaleImage(imgToPaint, (0, _display_utils.getCurrentTransformInverse)(ctx)); - ctx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(ctx), imgData.interpolate); - drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height); - this.compose(); - this.restore(); - } - paintInlineImageXObjectGroup(imgData, map) { - if (!this.contentVisible) { - return; - } - const ctx = this.ctx; - const w = imgData.width; - const h = imgData.height; - const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h); - const tmpCtx = tmpCanvas.context; - putBinaryImageData(tmpCtx, imgData, this.current.transferMaps); - for (const entry of map) { - ctx.save(); - ctx.transform(...entry.transform); - ctx.scale(1, -1); - drawImageAtIntegerCoords(ctx, tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1); - ctx.restore(); - } - this.compose(); - } - paintSolidColorImageMask() { - if (!this.contentVisible) { - return; - } - this.ctx.fillRect(0, 0, 1, 1); - this.compose(); - } - markPoint(tag) {} - markPointProps(tag, properties) {} - beginMarkedContent(tag) { - this.markedContentStack.push({ - visible: true - }); - } - beginMarkedContentProps(tag, properties) { - if (tag === "OC") { - this.markedContentStack.push({ - visible: this.optionalContentConfig.isVisible(properties) - }); - } else { - this.markedContentStack.push({ - visible: true - }); - } - this.contentVisible = this.isContentVisible(); - } - endMarkedContent() { - this.markedContentStack.pop(); - this.contentVisible = this.isContentVisible(); - } - beginCompat() {} - endCompat() {} - consumePath(clipBox) { - const isEmpty = this.current.isEmptyClip(); - if (this.pendingClip) { - this.current.updateClipFromPath(); - } - if (!this.pendingClip) { - this.compose(clipBox); - } - const ctx = this.ctx; - if (this.pendingClip) { - if (!isEmpty) { - if (this.pendingClip === EO_CLIP) { - ctx.clip("evenodd"); - } else { - ctx.clip(); - } - } - this.pendingClip = null; - } - this.current.startNewPathAndClipBox(this.current.clipBox); - ctx.beginPath(); - } - getSinglePixelWidth() { - if (!this._cachedGetSinglePixelWidth) { - const m = (0, _display_utils.getCurrentTransform)(this.ctx); - if (m[1] === 0 && m[2] === 0) { - this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3])); - } else { - const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); - const normX = Math.hypot(m[0], m[2]); - const normY = Math.hypot(m[1], m[3]); - this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet; - } - } - return this._cachedGetSinglePixelWidth; - } - getScaleForStroking() { - if (!this._cachedScaleForStroking) { - const { - lineWidth - } = this.current; - const m = (0, _display_utils.getCurrentTransform)(this.ctx); - let scaleX, scaleY; - if (m[1] === 0 && m[2] === 0) { - const normX = Math.abs(m[0]); - const normY = Math.abs(m[3]); - if (lineWidth === 0) { - scaleX = 1 / normX; - scaleY = 1 / normY; - } else { - const scaledXLineWidth = normX * lineWidth; - const scaledYLineWidth = normY * lineWidth; - scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1; - scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1; - } - } else { - const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); - const normX = Math.hypot(m[0], m[1]); - const normY = Math.hypot(m[2], m[3]); - if (lineWidth === 0) { - scaleX = normY / absDet; - scaleY = normX / absDet; - } else { - const baseArea = lineWidth * absDet; - scaleX = normY > baseArea ? normY / baseArea : 1; - scaleY = normX > baseArea ? normX / baseArea : 1; - } - } - this._cachedScaleForStroking = [scaleX, scaleY]; - } - return this._cachedScaleForStroking; - } - rescaleAndStroke(saveRestore) { - const { - ctx - } = this; - const { - lineWidth - } = this.current; - const [scaleX, scaleY] = this.getScaleForStroking(); - ctx.lineWidth = lineWidth || 1; - if (scaleX === 1 && scaleY === 1) { - ctx.stroke(); - return; - } - let savedMatrix, savedDashes, savedDashOffset; - if (saveRestore) { - savedMatrix = (0, _display_utils.getCurrentTransform)(ctx); - savedDashes = ctx.getLineDash().slice(); - savedDashOffset = ctx.lineDashOffset; - } - ctx.scale(scaleX, scaleY); - const scale = Math.max(scaleX, scaleY); - ctx.setLineDash(ctx.getLineDash().map(x => x / scale)); - ctx.lineDashOffset /= scale; - ctx.stroke(); - if (saveRestore) { - ctx.setTransform(...savedMatrix); - ctx.setLineDash(savedDashes); - ctx.lineDashOffset = savedDashOffset; - } - } - isContentVisible() { - for (let i = this.markedContentStack.length - 1; i >= 0; i--) { - if (!this.markedContentStack[i].visible) { - return false; - } - } - return true; - } -} -exports.CanvasGraphics = CanvasGraphics; -function _restoreInitialState2() { - while (this.stateStack.length || this.inSMaskMode) { - this.restore(); - } - this.ctx.restore(); - if (this.transparentCanvas) { - this.ctx = this.compositeCtx; - this.ctx.save(); - this.ctx.setTransform(1, 0, 0, 1, 0, 0); - this.ctx.drawImage(this.transparentCanvas, 0, 0); - this.ctx.restore(); - this.transparentCanvas = null; - } -} -for (const op in _util.OPS) { - if (CanvasGraphics.prototype[op] !== undefined) { - CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op]; - } -} - -/***/ }), -/* 142 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.TilingPattern = exports.PathType = void 0; -exports.getShadingPattern = getShadingPattern; -var _util = __w_pdfjs_require__(1); -var _display_utils = __w_pdfjs_require__(137); -var _is_node = __w_pdfjs_require__(3); -const PathType = { - FILL: "Fill", - STROKE: "Stroke", - SHADING: "Shading" -}; -exports.PathType = PathType; -function applyBoundingBox(ctx, bbox) { - if (!bbox || _is_node.isNodeJS) { - return; - } - const width = bbox[2] - bbox[0]; - const height = bbox[3] - bbox[1]; - const region = new Path2D(); - region.rect(bbox[0], bbox[1], width, height); - ctx.clip(region); -} -class BaseShadingPattern { - constructor() { - if (this.constructor === BaseShadingPattern) { - (0, _util.unreachable)("Cannot initialize BaseShadingPattern."); - } - } - getPattern() { - (0, _util.unreachable)("Abstract method `getPattern` called."); - } -} -class RadialAxialShadingPattern extends BaseShadingPattern { - constructor(IR) { - super(); - this._type = IR[1]; - this._bbox = IR[2]; - this._colorStops = IR[3]; - this._p0 = IR[4]; - this._p1 = IR[5]; - this._r0 = IR[6]; - this._r1 = IR[7]; - this.matrix = null; - } - _createGradient(ctx) { - let grad; - if (this._type === "axial") { - grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]); - } else if (this._type === "radial") { - grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1); - } - for (const colorStop of this._colorStops) { - grad.addColorStop(colorStop[0], colorStop[1]); - } - return grad; - } - getPattern(ctx, owner, inverse, pathType) { - let pattern; - if (pathType === PathType.STROKE || pathType === PathType.FILL) { - const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, (0, _display_utils.getCurrentTransform)(ctx)) || [0, 0, 0, 0]; - const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1; - const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1; - const tmpCanvas = owner.cachedCanvases.getCanvas("pattern", width, height, true); - const tmpCtx = tmpCanvas.context; - tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); - tmpCtx.beginPath(); - tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); - tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]); - inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]); - tmpCtx.transform(...owner.baseTransform); - if (this.matrix) { - tmpCtx.transform(...this.matrix); - } - applyBoundingBox(tmpCtx, this._bbox); - tmpCtx.fillStyle = this._createGradient(tmpCtx); - tmpCtx.fill(); - pattern = ctx.createPattern(tmpCanvas.canvas, "no-repeat"); - const domMatrix = new DOMMatrix(inverse); - pattern.setTransform(domMatrix); - } else { - applyBoundingBox(ctx, this._bbox); - pattern = this._createGradient(ctx); - } - return pattern; - } -} -function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) { - const coords = context.coords, - colors = context.colors; - const bytes = data.data, - rowSize = data.width * 4; - let tmp; - if (coords[p1 + 1] > coords[p2 + 1]) { - tmp = p1; - p1 = p2; - p2 = tmp; - tmp = c1; - c1 = c2; - c2 = tmp; - } - if (coords[p2 + 1] > coords[p3 + 1]) { - tmp = p2; - p2 = p3; - p3 = tmp; - tmp = c2; - c2 = c3; - c3 = tmp; - } - if (coords[p1 + 1] > coords[p2 + 1]) { - tmp = p1; - p1 = p2; - p2 = tmp; - tmp = c1; - c1 = c2; - c2 = tmp; - } - const x1 = (coords[p1] + context.offsetX) * context.scaleX; - const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY; - const x2 = (coords[p2] + context.offsetX) * context.scaleX; - const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY; - const x3 = (coords[p3] + context.offsetX) * context.scaleX; - const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY; - if (y1 >= y3) { - return; - } - const c1r = colors[c1], - c1g = colors[c1 + 1], - c1b = colors[c1 + 2]; - const c2r = colors[c2], - c2g = colors[c2 + 1], - c2b = colors[c2 + 2]; - const c3r = colors[c3], - c3g = colors[c3 + 1], - c3b = colors[c3 + 2]; - const minY = Math.round(y1), - maxY = Math.round(y3); - let xa, car, cag, cab; - let xb, cbr, cbg, cbb; - for (let y = minY; y <= maxY; y++) { - if (y < y2) { - let k; - if (y < y1) { - k = 0; - } else { - k = (y1 - y) / (y1 - y2); - } - xa = x1 - (x1 - x2) * k; - car = c1r - (c1r - c2r) * k; - cag = c1g - (c1g - c2g) * k; - cab = c1b - (c1b - c2b) * k; - } else { - let k; - if (y > y3) { - k = 1; - } else if (y2 === y3) { - k = 0; - } else { - k = (y2 - y) / (y2 - y3); - } - xa = x2 - (x2 - x3) * k; - car = c2r - (c2r - c3r) * k; - cag = c2g - (c2g - c3g) * k; - cab = c2b - (c2b - c3b) * k; - } - let k; - if (y < y1) { - k = 0; - } else if (y > y3) { - k = 1; - } else { - k = (y1 - y) / (y1 - y3); - } - xb = x1 - (x1 - x3) * k; - cbr = c1r - (c1r - c3r) * k; - cbg = c1g - (c1g - c3g) * k; - cbb = c1b - (c1b - c3b) * k; - const x1_ = Math.round(Math.min(xa, xb)); - const x2_ = Math.round(Math.max(xa, xb)); - let j = rowSize * y + x1_ * 4; - for (let x = x1_; x <= x2_; x++) { - k = (xa - x) / (xa - xb); - if (k < 0) { - k = 0; - } else if (k > 1) { - k = 1; - } - bytes[j++] = car - (car - cbr) * k | 0; - bytes[j++] = cag - (cag - cbg) * k | 0; - bytes[j++] = cab - (cab - cbb) * k | 0; - bytes[j++] = 255; - } - } -} -function drawFigure(data, figure, context) { - const ps = figure.coords; - const cs = figure.colors; - let i, ii; - switch (figure.type) { - case "lattice": - const verticesPerRow = figure.verticesPerRow; - const rows = Math.floor(ps.length / verticesPerRow) - 1; - const cols = verticesPerRow - 1; - for (i = 0; i < rows; i++) { - let q = i * verticesPerRow; - for (let j = 0; j < cols; j++, q++) { - drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]); - drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]); - } - } - break; - case "triangles": - for (i = 0, ii = ps.length; i < ii; i += 3) { - drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]); - } - break; - default: - throw new Error("illegal figure"); - } -} -class MeshShadingPattern extends BaseShadingPattern { - constructor(IR) { - super(); - this._coords = IR[2]; - this._colors = IR[3]; - this._figures = IR[4]; - this._bounds = IR[5]; - this._bbox = IR[7]; - this._background = IR[8]; - this.matrix = null; - } - _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) { - const EXPECTED_SCALE = 1.1; - const MAX_PATTERN_SIZE = 3000; - const BORDER_SIZE = 2; - const offsetX = Math.floor(this._bounds[0]); - const offsetY = Math.floor(this._bounds[1]); - const boundsWidth = Math.ceil(this._bounds[2]) - offsetX; - const boundsHeight = Math.ceil(this._bounds[3]) - offsetY; - const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); - const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); - const scaleX = boundsWidth / width; - const scaleY = boundsHeight / height; - const context = { - coords: this._coords, - colors: this._colors, - offsetX: -offsetX, - offsetY: -offsetY, - scaleX: 1 / scaleX, - scaleY: 1 / scaleY - }; - const paddedWidth = width + BORDER_SIZE * 2; - const paddedHeight = height + BORDER_SIZE * 2; - const tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false); - const tmpCtx = tmpCanvas.context; - const data = tmpCtx.createImageData(width, height); - if (backgroundColor) { - const bytes = data.data; - for (let i = 0, ii = bytes.length; i < ii; i += 4) { - bytes[i] = backgroundColor[0]; - bytes[i + 1] = backgroundColor[1]; - bytes[i + 2] = backgroundColor[2]; - bytes[i + 3] = 255; - } - } - for (const figure of this._figures) { - drawFigure(data, figure, context); - } - tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE); - const canvas = tmpCanvas.canvas; - return { - canvas, - offsetX: offsetX - BORDER_SIZE * scaleX, - offsetY: offsetY - BORDER_SIZE * scaleY, - scaleX, - scaleY - }; - } - getPattern(ctx, owner, inverse, pathType) { - applyBoundingBox(ctx, this._bbox); - let scale; - if (pathType === PathType.SHADING) { - scale = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(ctx)); - } else { - scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform); - if (this.matrix) { - const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); - scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]]; - } - } - const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases); - if (pathType !== PathType.SHADING) { - ctx.setTransform(...owner.baseTransform); - if (this.matrix) { - ctx.transform(...this.matrix); - } - } - ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); - ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY); - return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat"); - } -} -class DummyShadingPattern extends BaseShadingPattern { - getPattern() { - return "hotpink"; - } -} -function getShadingPattern(IR) { - switch (IR[0]) { - case "RadialAxial": - return new RadialAxialShadingPattern(IR); - case "Mesh": - return new MeshShadingPattern(IR); - case "Dummy": - return new DummyShadingPattern(); - } - throw new Error(`Unknown IR type: ${IR[0]}`); -} -const PaintType = { - COLORED: 1, - UNCOLORED: 2 -}; -class TilingPattern { - static get MAX_PATTERN_SIZE() { - return (0, _util.shadow)(this, "MAX_PATTERN_SIZE", 3000); - } - constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) { - this.operatorList = IR[2]; - this.matrix = IR[3] || [1, 0, 0, 1, 0, 0]; - this.bbox = IR[4]; - this.xstep = IR[5]; - this.ystep = IR[6]; - this.paintType = IR[7]; - this.tilingType = IR[8]; - this.color = color; - this.ctx = ctx; - this.canvasGraphicsFactory = canvasGraphicsFactory; - this.baseTransform = baseTransform; - } - createPatternCanvas(owner) { - const operatorList = this.operatorList; - const bbox = this.bbox; - const xstep = this.xstep; - const ystep = this.ystep; - const paintType = this.paintType; - const tilingType = this.tilingType; - const color = this.color; - const canvasGraphicsFactory = this.canvasGraphicsFactory; - (0, _util.info)("TilingType: " + tilingType); - const x0 = bbox[0], - y0 = bbox[1], - x1 = bbox[2], - y1 = bbox[3]; - const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); - const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform); - const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]]; - const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]); - const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]); - const tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true); - const tmpCtx = tmpCanvas.context; - const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx); - graphics.groupLevel = owner.groupLevel; - this.setFillAndStrokeStyleToContext(graphics, paintType, color); - let adjustedX0 = x0; - let adjustedY0 = y0; - let adjustedX1 = x1; - let adjustedY1 = y1; - if (x0 < 0) { - adjustedX0 = 0; - adjustedX1 += Math.abs(x0); - } - if (y0 < 0) { - adjustedY0 = 0; - adjustedY1 += Math.abs(y0); - } - tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0)); - graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0); - tmpCtx.save(); - this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1); - graphics.baseTransform = (0, _display_utils.getCurrentTransform)(graphics.ctx); - graphics.executeOperatorList(operatorList); - graphics.endDrawing(); - return { - canvas: tmpCanvas.canvas, - scaleX: dimx.scale, - scaleY: dimy.scale, - offsetX: adjustedX0, - offsetY: adjustedY0 - }; - } - getSizeAndScale(step, realOutputSize, scale) { - step = Math.abs(step); - const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize); - let size = Math.ceil(step * scale); - if (size >= maxSize) { - size = maxSize; - } else { - scale = size / step; - } - return { - scale, - size - }; - } - clipBbox(graphics, x0, y0, x1, y1) { - const bboxWidth = x1 - x0; - const bboxHeight = y1 - y0; - graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight); - graphics.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(graphics.ctx), [x0, y0, x1, y1]); - graphics.clip(); - graphics.endPath(); - } - setFillAndStrokeStyleToContext(graphics, paintType, color) { - const context = graphics.ctx, - current = graphics.current; - switch (paintType) { - case PaintType.COLORED: - const ctx = this.ctx; - context.fillStyle = ctx.fillStyle; - context.strokeStyle = ctx.strokeStyle; - current.fillColor = ctx.fillStyle; - current.strokeColor = ctx.strokeStyle; - break; - case PaintType.UNCOLORED: - const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]); - context.fillStyle = cssColor; - context.strokeStyle = cssColor; - current.fillColor = cssColor; - current.strokeColor = cssColor; - break; - default: - throw new _util.FormatError(`Unsupported paint type: ${paintType}`); - } - } - getPattern(ctx, owner, inverse, pathType) { - let matrix = inverse; - if (pathType !== PathType.SHADING) { - matrix = _util.Util.transform(matrix, owner.baseTransform); - if (this.matrix) { - matrix = _util.Util.transform(matrix, this.matrix); - } - } - const temporaryPatternCanvas = this.createPatternCanvas(owner); - let domMatrix = new DOMMatrix(matrix); - domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); - domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY); - const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, "repeat"); - pattern.setTransform(domMatrix); - return pattern; - } -} -exports.TilingPattern = TilingPattern; - -/***/ }), -/* 143 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.applyMaskImageData = applyMaskImageData; -var _util = __w_pdfjs_require__(1); -function applyMaskImageData(_ref) { - let { - src, - srcPos = 0, - dest, - destPos = 0, - width, - height, - inverseDecode = false - } = _ref; - const opaque = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff; - const [zeroMapping, oneMapping] = !inverseDecode ? [opaque, 0] : [0, opaque]; - const widthInSource = width >> 3; - const widthRemainder = width & 7; - const srcLength = src.length; - dest = new Uint32Array(dest.buffer); - for (let i = 0; i < height; i++) { - for (const max = srcPos + widthInSource; srcPos < max; srcPos++) { - const elem = srcPos < srcLength ? src[srcPos] : 255; - dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping; - dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping; - dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping; - dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping; - dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping; - dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping; - dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping; - dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping; - } - if (widthRemainder === 0) { - continue; - } - const elem = srcPos < srcLength ? src[srcPos++] : 255; - for (let j = 0; j < widthRemainder; j++) { - dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping; - } - } - return { - srcPos, - destPos - }; -} - -/***/ }), -/* 144 */ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.GlobalWorkerOptions = void 0; -const GlobalWorkerOptions = Object.create(null); -exports.GlobalWorkerOptions = GlobalWorkerOptions; -GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort; -GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc; - -/***/ }), -/* 145 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.MessageHandler = void 0; -var _util = __w_pdfjs_require__(1); -const CallbackKind = { - UNKNOWN: 0, - DATA: 1, - ERROR: 2 -}; -const StreamKind = { - UNKNOWN: 0, - CANCEL: 1, - CANCEL_COMPLETE: 2, - CLOSE: 3, - ENQUEUE: 4, - ERROR: 5, - PULL: 6, - PULL_COMPLETE: 7, - START_COMPLETE: 8 -}; -function wrapReason(reason) { - if (!(reason instanceof Error || typeof reason === "object" && reason !== null)) { - (0, _util.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'); - } - switch (reason.name) { - case "AbortException": - return new _util.AbortException(reason.message); - case "MissingPDFException": - return new _util.MissingPDFException(reason.message); - case "PasswordException": - return new _util.PasswordException(reason.message, reason.code); - case "UnexpectedResponseException": - return new _util.UnexpectedResponseException(reason.message, reason.status); - case "UnknownErrorException": - return new _util.UnknownErrorException(reason.message, reason.details); - default: - return new _util.UnknownErrorException(reason.message, reason.toString()); - } -} -class MessageHandler { - constructor(sourceName, targetName, comObj) { - this.sourceName = sourceName; - this.targetName = targetName; - this.comObj = comObj; - this.callbackId = 1; - this.streamId = 1; - this.streamSinks = Object.create(null); - this.streamControllers = Object.create(null); - this.callbackCapabilities = Object.create(null); - this.actionHandler = Object.create(null); - this._onComObjOnMessage = event => { - const data = event.data; - if (data.targetName !== this.sourceName) { - return; - } - if (data.stream) { - this._processStreamMessage(data); - return; - } - if (data.callback) { - const callbackId = data.callbackId; - const capability = this.callbackCapabilities[callbackId]; - if (!capability) { - throw new Error(`Cannot resolve callback ${callbackId}`); - } - delete this.callbackCapabilities[callbackId]; - if (data.callback === CallbackKind.DATA) { - capability.resolve(data.data); - } else if (data.callback === CallbackKind.ERROR) { - capability.reject(wrapReason(data.reason)); - } else { - throw new Error("Unexpected callback case"); - } - return; - } - const action = this.actionHandler[data.action]; - if (!action) { - throw new Error(`Unknown action from worker: ${data.action}`); - } - if (data.callbackId) { - const cbSourceName = this.sourceName; - const cbTargetName = data.sourceName; - new Promise(function (resolve) { - resolve(action(data.data)); - }).then(function (result) { - comObj.postMessage({ - sourceName: cbSourceName, - targetName: cbTargetName, - callback: CallbackKind.DATA, - callbackId: data.callbackId, - data: result - }); - }, function (reason) { - comObj.postMessage({ - sourceName: cbSourceName, - targetName: cbTargetName, - callback: CallbackKind.ERROR, - callbackId: data.callbackId, - reason: wrapReason(reason) - }); - }); - return; - } - if (data.streamId) { - this._createStreamSink(data); - return; - } - action(data.data); - }; - comObj.addEventListener("message", this._onComObjOnMessage); - } - on(actionName, handler) { - const ah = this.actionHandler; - if (ah[actionName]) { - throw new Error(`There is already an actionName called "${actionName}"`); - } - ah[actionName] = handler; - } - send(actionName, data, transfers) { - this.comObj.postMessage({ - sourceName: this.sourceName, - targetName: this.targetName, - action: actionName, - data - }, transfers); - } - sendWithPromise(actionName, data, transfers) { - const callbackId = this.callbackId++; - const capability = (0, _util.createPromiseCapability)(); - this.callbackCapabilities[callbackId] = capability; - try { - this.comObj.postMessage({ - sourceName: this.sourceName, - targetName: this.targetName, - action: actionName, - callbackId, - data - }, transfers); - } catch (ex) { - capability.reject(ex); - } - return capability.promise; - } - sendWithStream(actionName, data, queueingStrategy, transfers) { - const streamId = this.streamId++, - sourceName = this.sourceName, - targetName = this.targetName, - comObj = this.comObj; - return new ReadableStream({ - start: controller => { - const startCapability = (0, _util.createPromiseCapability)(); - this.streamControllers[streamId] = { - controller, - startCall: startCapability, - pullCall: null, - cancelCall: null, - isClosed: false - }; - comObj.postMessage({ - sourceName, - targetName, - action: actionName, - streamId, - data, - desiredSize: controller.desiredSize - }, transfers); - return startCapability.promise; - }, - pull: controller => { - const pullCapability = (0, _util.createPromiseCapability)(); - this.streamControllers[streamId].pullCall = pullCapability; - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.PULL, - streamId, - desiredSize: controller.desiredSize - }); - return pullCapability.promise; - }, - cancel: reason => { - (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason"); - const cancelCapability = (0, _util.createPromiseCapability)(); - this.streamControllers[streamId].cancelCall = cancelCapability; - this.streamControllers[streamId].isClosed = true; - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.CANCEL, - streamId, - reason: wrapReason(reason) - }); - return cancelCapability.promise; - } - }, queueingStrategy); - } - _createStreamSink(data) { - const streamId = data.streamId, - sourceName = this.sourceName, - targetName = data.sourceName, - comObj = this.comObj; - const self = this, - action = this.actionHandler[data.action]; - const streamSink = { - enqueue(chunk) { - let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; - let transfers = arguments.length > 2 ? arguments[2] : undefined; - if (this.isCancelled) { - return; - } - const lastDesiredSize = this.desiredSize; - this.desiredSize -= size; - if (lastDesiredSize > 0 && this.desiredSize <= 0) { - this.sinkCapability = (0, _util.createPromiseCapability)(); - this.ready = this.sinkCapability.promise; - } - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.ENQUEUE, - streamId, - chunk - }, transfers); - }, - close() { - if (this.isCancelled) { - return; - } - this.isCancelled = true; - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.CLOSE, - streamId - }); - delete self.streamSinks[streamId]; - }, - error(reason) { - (0, _util.assert)(reason instanceof Error, "error must have a valid reason"); - if (this.isCancelled) { - return; - } - this.isCancelled = true; - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.ERROR, - streamId, - reason: wrapReason(reason) - }); - }, - sinkCapability: (0, _util.createPromiseCapability)(), - onPull: null, - onCancel: null, - isCancelled: false, - desiredSize: data.desiredSize, - ready: null - }; - streamSink.sinkCapability.resolve(); - streamSink.ready = streamSink.sinkCapability.promise; - this.streamSinks[streamId] = streamSink; - new Promise(function (resolve) { - resolve(action(data.data, streamSink)); - }).then(function () { - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.START_COMPLETE, - streamId, - success: true - }); - }, function (reason) { - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.START_COMPLETE, - streamId, - reason: wrapReason(reason) - }); - }); - } - _processStreamMessage(data) { - const streamId = data.streamId, - sourceName = this.sourceName, - targetName = data.sourceName, - comObj = this.comObj; - const streamController = this.streamControllers[streamId], - streamSink = this.streamSinks[streamId]; - switch (data.stream) { - case StreamKind.START_COMPLETE: - if (data.success) { - streamController.startCall.resolve(); - } else { - streamController.startCall.reject(wrapReason(data.reason)); - } - break; - case StreamKind.PULL_COMPLETE: - if (data.success) { - streamController.pullCall.resolve(); - } else { - streamController.pullCall.reject(wrapReason(data.reason)); - } - break; - case StreamKind.PULL: - if (!streamSink) { - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.PULL_COMPLETE, - streamId, - success: true - }); - break; - } - if (streamSink.desiredSize <= 0 && data.desiredSize > 0) { - streamSink.sinkCapability.resolve(); - } - streamSink.desiredSize = data.desiredSize; - new Promise(function (resolve) { - resolve(streamSink.onPull && streamSink.onPull()); - }).then(function () { - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.PULL_COMPLETE, - streamId, - success: true - }); - }, function (reason) { - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.PULL_COMPLETE, - streamId, - reason: wrapReason(reason) - }); - }); - break; - case StreamKind.ENQUEUE: - (0, _util.assert)(streamController, "enqueue should have stream controller"); - if (streamController.isClosed) { - break; - } - streamController.controller.enqueue(data.chunk); - break; - case StreamKind.CLOSE: - (0, _util.assert)(streamController, "close should have stream controller"); - if (streamController.isClosed) { - break; - } - streamController.isClosed = true; - streamController.controller.close(); - this._deleteStreamController(streamController, streamId); - break; - case StreamKind.ERROR: - (0, _util.assert)(streamController, "error should have stream controller"); - streamController.controller.error(wrapReason(data.reason)); - this._deleteStreamController(streamController, streamId); - break; - case StreamKind.CANCEL_COMPLETE: - if (data.success) { - streamController.cancelCall.resolve(); - } else { - streamController.cancelCall.reject(wrapReason(data.reason)); - } - this._deleteStreamController(streamController, streamId); - break; - case StreamKind.CANCEL: - if (!streamSink) { - break; - } - new Promise(function (resolve) { - resolve(streamSink.onCancel && streamSink.onCancel(wrapReason(data.reason))); - }).then(function () { - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.CANCEL_COMPLETE, - streamId, - success: true - }); - }, function (reason) { - comObj.postMessage({ - sourceName, - targetName, - stream: StreamKind.CANCEL_COMPLETE, - streamId, - reason: wrapReason(reason) - }); - }); - streamSink.sinkCapability.reject(wrapReason(data.reason)); - streamSink.isCancelled = true; - delete this.streamSinks[streamId]; - break; - default: - throw new Error("Unexpected stream case"); - } - } - async _deleteStreamController(streamController, streamId) { - await Promise.allSettled([streamController.startCall && streamController.startCall.promise, streamController.pullCall && streamController.pullCall.promise, streamController.cancelCall && streamController.cancelCall.promise]); - delete this.streamControllers[streamId]; - } - destroy() { - this.comObj.removeEventListener("message", this._onComObjOnMessage); - } -} -exports.MessageHandler = MessageHandler; - -/***/ }), -/* 146 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.Metadata = void 0; -var _util = __w_pdfjs_require__(1); -function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } -function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } -function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } -function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } -function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } -function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } -var _metadataMap = /*#__PURE__*/new WeakMap(); -var _data = /*#__PURE__*/new WeakMap(); -class Metadata { - constructor(_ref) { - let { - parsedData, - rawData - } = _ref; - _classPrivateFieldInitSpec(this, _metadataMap, { - writable: true, - value: void 0 - }); - _classPrivateFieldInitSpec(this, _data, { - writable: true, - value: void 0 - }); - _classPrivateFieldSet(this, _metadataMap, parsedData); - _classPrivateFieldSet(this, _data, rawData); - } - getRaw() { - return _classPrivateFieldGet(this, _data); - } - get(name) { - return _classPrivateFieldGet(this, _metadataMap).get(name) ?? null; - } - getAll() { - return (0, _util.objectFromMap)(_classPrivateFieldGet(this, _metadataMap)); - } - has(name) { - return _classPrivateFieldGet(this, _metadataMap).has(name); - } -} -exports.Metadata = Metadata; - -/***/ }), -/* 147 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.OptionalContentConfig = void 0; -var _util = __w_pdfjs_require__(1); -var _murmurhash = __w_pdfjs_require__(139); -function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } -function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } -function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } -function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } -function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } -function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } -function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } -function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } -const INTERNAL = Symbol("INTERNAL"); -var _visible = /*#__PURE__*/new WeakMap(); -class OptionalContentGroup { - constructor(name, intent) { - _classPrivateFieldInitSpec(this, _visible, { - writable: true, - value: true - }); - this.name = name; - this.intent = intent; - } - get visible() { - return _classPrivateFieldGet(this, _visible); - } - _setVisible(internal, visible) { - if (internal !== INTERNAL) { - (0, _util.unreachable)("Internal method `_setVisible` called."); - } - _classPrivateFieldSet(this, _visible, visible); - } -} -var _cachedGetHash = /*#__PURE__*/new WeakMap(); -var _groups = /*#__PURE__*/new WeakMap(); -var _initialHash = /*#__PURE__*/new WeakMap(); -var _order = /*#__PURE__*/new WeakMap(); -var _evaluateVisibilityExpression = /*#__PURE__*/new WeakSet(); -class OptionalContentConfig { - constructor(data) { - _classPrivateMethodInitSpec(this, _evaluateVisibilityExpression); - _classPrivateFieldInitSpec(this, _cachedGetHash, { - writable: true, - value: null - }); - _classPrivateFieldInitSpec(this, _groups, { - writable: true, - value: new Map() - }); - _classPrivateFieldInitSpec(this, _initialHash, { - writable: true, - value: null - }); - _classPrivateFieldInitSpec(this, _order, { - writable: true, - value: null - }); - this.name = null; - this.creator = null; - if (data === null) { - return; - } - this.name = data.name; - this.creator = data.creator; - _classPrivateFieldSet(this, _order, data.order); - for (const group of data.groups) { - _classPrivateFieldGet(this, _groups).set(group.id, new OptionalContentGroup(group.name, group.intent)); - } - if (data.baseState === "OFF") { - for (const group of _classPrivateFieldGet(this, _groups).values()) { - group._setVisible(INTERNAL, false); - } - } - for (const on of data.on) { - _classPrivateFieldGet(this, _groups).get(on)._setVisible(INTERNAL, true); - } - for (const off of data.off) { - _classPrivateFieldGet(this, _groups).get(off)._setVisible(INTERNAL, false); - } - _classPrivateFieldSet(this, _initialHash, this.getHash()); - } - isVisible(group) { - if (_classPrivateFieldGet(this, _groups).size === 0) { - return true; - } - if (!group) { - (0, _util.warn)("Optional content group not defined."); - return true; - } - if (group.type === "OCG") { - if (!_classPrivateFieldGet(this, _groups).has(group.id)) { - (0, _util.warn)(`Optional content group not found: ${group.id}`); - return true; - } - return _classPrivateFieldGet(this, _groups).get(group.id).visible; - } else if (group.type === "OCMD") { - if (group.expression) { - return _classPrivateMethodGet(this, _evaluateVisibilityExpression, _evaluateVisibilityExpression2).call(this, group.expression); - } - if (!group.policy || group.policy === "AnyOn") { - for (const id of group.ids) { - if (!_classPrivateFieldGet(this, _groups).has(id)) { - (0, _util.warn)(`Optional content group not found: ${id}`); - return true; - } - if (_classPrivateFieldGet(this, _groups).get(id).visible) { - return true; - } - } - return false; - } else if (group.policy === "AllOn") { - for (const id of group.ids) { - if (!_classPrivateFieldGet(this, _groups).has(id)) { - (0, _util.warn)(`Optional content group not found: ${id}`); - return true; - } - if (!_classPrivateFieldGet(this, _groups).get(id).visible) { - return false; - } - } - return true; - } else if (group.policy === "AnyOff") { - for (const id of group.ids) { - if (!_classPrivateFieldGet(this, _groups).has(id)) { - (0, _util.warn)(`Optional content group not found: ${id}`); - return true; - } - if (!_classPrivateFieldGet(this, _groups).get(id).visible) { - return true; - } - } - return false; - } else if (group.policy === "AllOff") { - for (const id of group.ids) { - if (!_classPrivateFieldGet(this, _groups).has(id)) { - (0, _util.warn)(`Optional content group not found: ${id}`); - return true; - } - if (_classPrivateFieldGet(this, _groups).get(id).visible) { - return false; - } - } - return true; - } - (0, _util.warn)(`Unknown optional content policy ${group.policy}.`); - return true; - } - (0, _util.warn)(`Unknown group type ${group.type}.`); - return true; - } - setVisibility(id) { - let visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - if (!_classPrivateFieldGet(this, _groups).has(id)) { - (0, _util.warn)(`Optional content group not found: ${id}`); - return; - } - _classPrivateFieldGet(this, _groups).get(id)._setVisible(INTERNAL, !!visible); - _classPrivateFieldSet(this, _cachedGetHash, null); - } - get hasInitialVisibility() { - return this.getHash() === _classPrivateFieldGet(this, _initialHash); - } - getOrder() { - if (!_classPrivateFieldGet(this, _groups).size) { - return null; - } - if (_classPrivateFieldGet(this, _order)) { - return _classPrivateFieldGet(this, _order).slice(); - } - return [..._classPrivateFieldGet(this, _groups).keys()]; - } - getGroups() { - return _classPrivateFieldGet(this, _groups).size > 0 ? (0, _util.objectFromMap)(_classPrivateFieldGet(this, _groups)) : null; - } - getGroup(id) { - return _classPrivateFieldGet(this, _groups).get(id) || null; - } - getHash() { - if (_classPrivateFieldGet(this, _cachedGetHash) !== null) { - return _classPrivateFieldGet(this, _cachedGetHash); - } - const hash = new _murmurhash.MurmurHash3_64(); - for (const [id, group] of _classPrivateFieldGet(this, _groups)) { - hash.update(`${id}:${group.visible}`); - } - return _classPrivateFieldSet(this, _cachedGetHash, hash.hexdigest()); - } -} -exports.OptionalContentConfig = OptionalContentConfig; -function _evaluateVisibilityExpression2(array) { - const length = array.length; - if (length < 2) { - return true; - } - const operator = array[0]; - for (let i = 1; i < length; i++) { - const element = array[i]; - let state; - if (Array.isArray(element)) { - state = _classPrivateMethodGet(this, _evaluateVisibilityExpression, _evaluateVisibilityExpression2).call(this, element); - } else if (_classPrivateFieldGet(this, _groups).has(element)) { - state = _classPrivateFieldGet(this, _groups).get(element).visible; - } else { - (0, _util.warn)(`Optional content group not found: ${element}`); - return true; - } - switch (operator) { - case "And": - if (!state) { - return false; - } - break; - case "Or": - if (state) { - return true; - } - break; - case "Not": - return !state; - default: - return true; - } - } - return operator === "And"; -} - -/***/ }), -/* 148 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.PDFDataTransportStream = void 0; -var _util = __w_pdfjs_require__(1); -var _display_utils = __w_pdfjs_require__(137); -class PDFDataTransportStream { - constructor(params, pdfDataRangeTransport) { - (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'); - this._queuedChunks = []; - this._progressiveDone = params.progressiveDone || false; - this._contentDispositionFilename = params.contentDispositionFilename || null; - const initialData = params.initialData; - if ((initialData === null || initialData === void 0 ? void 0 : initialData.length) > 0) { - const buffer = new Uint8Array(initialData).buffer; - this._queuedChunks.push(buffer); - } - this._pdfDataRangeTransport = pdfDataRangeTransport; - this._isStreamingSupported = !params.disableStream; - this._isRangeSupported = !params.disableRange; - this._contentLength = params.length; - this._fullRequestReader = null; - this._rangeReaders = []; - this._pdfDataRangeTransport.addRangeListener((begin, chunk) => { - this._onReceiveData({ - begin, - chunk - }); - }); - this._pdfDataRangeTransport.addProgressListener((loaded, total) => { - this._onProgress({ - loaded, - total - }); - }); - this._pdfDataRangeTransport.addProgressiveReadListener(chunk => { - this._onReceiveData({ - chunk - }); - }); - this._pdfDataRangeTransport.addProgressiveDoneListener(() => { - this._onProgressiveDone(); - }); - this._pdfDataRangeTransport.transportReady(); - } - _onReceiveData(args) { - const buffer = new Uint8Array(args.chunk).buffer; - if (args.begin === undefined) { - if (this._fullRequestReader) { - this._fullRequestReader._enqueue(buffer); - } else { - this._queuedChunks.push(buffer); - } - } else { - const found = this._rangeReaders.some(function (rangeReader) { - if (rangeReader._begin !== args.begin) { - return false; - } - rangeReader._enqueue(buffer); - return true; - }); - (0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."); - } - } - get _progressiveDataLength() { - var _this$_fullRequestRea; - return ((_this$_fullRequestRea = this._fullRequestReader) === null || _this$_fullRequestRea === void 0 ? void 0 : _this$_fullRequestRea._loaded) ?? 0; - } - _onProgress(evt) { - if (evt.total === undefined) { - var _this$_rangeReaders$, _this$_rangeReaders$$; - (_this$_rangeReaders$ = this._rangeReaders[0]) === null || _this$_rangeReaders$ === void 0 ? void 0 : (_this$_rangeReaders$$ = _this$_rangeReaders$.onProgress) === null || _this$_rangeReaders$$ === void 0 ? void 0 : _this$_rangeReaders$$.call(_this$_rangeReaders$, { - loaded: evt.loaded - }); - } else { - var _this$_fullRequestRea2, _this$_fullRequestRea3; - (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : (_this$_fullRequestRea3 = _this$_fullRequestRea2.onProgress) === null || _this$_fullRequestRea3 === void 0 ? void 0 : _this$_fullRequestRea3.call(_this$_fullRequestRea2, { - loaded: evt.loaded, - total: evt.total - }); - } - } - _onProgressiveDone() { - var _this$_fullRequestRea4; - (_this$_fullRequestRea4 = this._fullRequestReader) === null || _this$_fullRequestRea4 === void 0 ? void 0 : _this$_fullRequestRea4.progressiveDone(); - this._progressiveDone = true; - } - _removeRangeReader(reader) { - const i = this._rangeReaders.indexOf(reader); - if (i >= 0) { - this._rangeReaders.splice(i, 1); - } - } - getFullReader() { - (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once."); - const queuedChunks = this._queuedChunks; - this._queuedChunks = null; - return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename); - } - getRangeReader(begin, end) { - if (end <= this._progressiveDataLength) { - return null; - } - const reader = new PDFDataTransportStreamRangeReader(this, begin, end); - this._pdfDataRangeTransport.requestDataRange(begin, end); - this._rangeReaders.push(reader); - return reader; - } - cancelAllRequests(reason) { - var _this$_fullRequestRea5; - (_this$_fullRequestRea5 = this._fullRequestReader) === null || _this$_fullRequestRea5 === void 0 ? void 0 : _this$_fullRequestRea5.cancel(reason); - for (const reader of this._rangeReaders.slice(0)) { - reader.cancel(reason); - } - this._pdfDataRangeTransport.abort(); - } -} -exports.PDFDataTransportStream = PDFDataTransportStream; -class PDFDataTransportStreamReader { - constructor(stream, queuedChunks) { - let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - let contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; - this._stream = stream; - this._done = progressiveDone || false; - this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null; - this._queuedChunks = queuedChunks || []; - this._loaded = 0; - for (const chunk of this._queuedChunks) { - this._loaded += chunk.byteLength; - } - this._requests = []; - this._headersReady = Promise.resolve(); - stream._fullRequestReader = this; - this.onProgress = null; - } - _enqueue(chunk) { - if (this._done) { - return; - } - if (this._requests.length > 0) { - const requestCapability = this._requests.shift(); - requestCapability.resolve({ - value: chunk, - done: false - }); - } else { - this._queuedChunks.push(chunk); - } - this._loaded += chunk.byteLength; - } - get headersReady() { - return this._headersReady; - } - get filename() { - return this._filename; - } - get isRangeSupported() { - return this._stream._isRangeSupported; - } - get isStreamingSupported() { - return this._stream._isStreamingSupported; - } - get contentLength() { - return this._stream._contentLength; - } - async read() { - if (this._queuedChunks.length > 0) { - const chunk = this._queuedChunks.shift(); - return { - value: chunk, - done: false - }; - } - if (this._done) { - return { - value: undefined, - done: true - }; - } - const requestCapability = (0, _util.createPromiseCapability)(); - this._requests.push(requestCapability); - return requestCapability.promise; - } - cancel(reason) { - this._done = true; - for (const requestCapability of this._requests) { - requestCapability.resolve({ - value: undefined, - done: true - }); - } - this._requests.length = 0; - } - progressiveDone() { - if (this._done) { - return; - } - this._done = true; - } -} -class PDFDataTransportStreamRangeReader { - constructor(stream, begin, end) { - this._stream = stream; - this._begin = begin; - this._end = end; - this._queuedChunk = null; - this._requests = []; - this._done = false; - this.onProgress = null; - } - _enqueue(chunk) { - if (this._done) { - return; - } - if (this._requests.length === 0) { - this._queuedChunk = chunk; - } else { - const requestsCapability = this._requests.shift(); - requestsCapability.resolve({ - value: chunk, - done: false - }); - for (const requestCapability of this._requests) { - requestCapability.resolve({ - value: undefined, - done: true - }); - } - this._requests.length = 0; - } - this._done = true; - this._stream._removeRangeReader(this); - } - get isStreamingSupported() { - return false; - } - async read() { - if (this._queuedChunk) { - const chunk = this._queuedChunk; - this._queuedChunk = null; - return { - value: chunk, - done: false - }; - } - if (this._done) { - return { - value: undefined, - done: true - }; - } - const requestCapability = (0, _util.createPromiseCapability)(); - this._requests.push(requestCapability); - return requestCapability.promise; - } - cancel(reason) { - this._done = true; - for (const requestCapability of this._requests) { - requestCapability.resolve({ - value: undefined, - done: true - }); - } - this._requests.length = 0; - this._stream._removeRangeReader(this); - } -} - -/***/ }), -/* 149 */ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.XfaText = void 0; -class XfaText { - static textContent(xfa) { - const items = []; - const output = { - items, - styles: Object.create(null) - }; - function walk(node) { - var _node$attributes; - if (!node) { - return; - } - let str = null; - const name = node.name; - if (name === "#text") { - str = node.value; - } else if (!XfaText.shouldBuildText(name)) { - return; - } else if (node !== null && node !== void 0 && (_node$attributes = node.attributes) !== null && _node$attributes !== void 0 && _node$attributes.textContent) { - str = node.attributes.textContent; - } else if (node.value) { - str = node.value; - } - if (str !== null) { - items.push({ - str - }); - } - if (!node.children) { - return; - } - for (const child of node.children) { - walk(child); - } - } - walk(xfa); - return output; - } - static shouldBuildText(name) { - return !(name === "textarea" || name === "input" || name === "option" || name === "select"); - } -} -exports.XfaText = XfaText; - -/***/ }), -/* 150 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.NodeStandardFontDataFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0; -var _base_factory = __w_pdfjs_require__(138); -; -const fetchData = function (url) { - return new Promise((resolve, reject) => { - const fs = require("fs"); - fs.readFile(url, (error, data) => { - if (error || !data) { - reject(new Error(error)); - return; - } - resolve(new Uint8Array(data)); - }); - }); -}; -class NodeCanvasFactory extends _base_factory.BaseCanvasFactory { - _createCanvas(width, height) { - const Canvas = require("canvas"); - return Canvas.createCanvas(width, height); - } -} -exports.NodeCanvasFactory = NodeCanvasFactory; -class NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory { - _fetchData(url, compressionType) { - return fetchData(url).then(data => { - return { - cMapData: data, - compressionType - }; - }); - } -} -exports.NodeCMapReaderFactory = NodeCMapReaderFactory; -class NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory { - _fetchData(url) { - return fetchData(url); - } -} -exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory; - -/***/ }), -/* 151 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.AnnotationEditorLayer = void 0; -var _tools = __w_pdfjs_require__(136); -var _util = __w_pdfjs_require__(1); -var _freetext = __w_pdfjs_require__(152); -var _ink = __w_pdfjs_require__(153); -function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } -function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } -function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } -function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } -function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } -function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } -function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } -var _accessibilityManager = /*#__PURE__*/new WeakMap(); -var _allowClick = /*#__PURE__*/new WeakMap(); -var _boundPointerup = /*#__PURE__*/new WeakMap(); -var _boundPointerdown = /*#__PURE__*/new WeakMap(); -var _editors = /*#__PURE__*/new WeakMap(); -var _hadPointerDown = /*#__PURE__*/new WeakMap(); -var _isCleaningUp = /*#__PURE__*/new WeakMap(); -var _uiManager = /*#__PURE__*/new WeakMap(); -var _changeParent = /*#__PURE__*/new WeakSet(); -var _createNewEditor = /*#__PURE__*/new WeakSet(); -var _createAndAddNewEditor = /*#__PURE__*/new WeakSet(); -var _cleanup = /*#__PURE__*/new WeakSet(); -class AnnotationEditorLayer { - constructor(options) { - _classPrivateMethodInitSpec(this, _cleanup); - _classPrivateMethodInitSpec(this, _createAndAddNewEditor); - _classPrivateMethodInitSpec(this, _createNewEditor); - _classPrivateMethodInitSpec(this, _changeParent); - _classPrivateFieldInitSpec(this, _accessibilityManager, { - writable: true, - value: void 0 - }); - _classPrivateFieldInitSpec(this, _allowClick, { - writable: true, - value: false - }); - _classPrivateFieldInitSpec(this, _boundPointerup, { - writable: true, - value: this.pointerup.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundPointerdown, { - writable: true, - value: this.pointerdown.bind(this) - }); - _classPrivateFieldInitSpec(this, _editors, { - writable: true, - value: new Map() - }); - _classPrivateFieldInitSpec(this, _hadPointerDown, { - writable: true, - value: false - }); - _classPrivateFieldInitSpec(this, _isCleaningUp, { - writable: true, - value: false - }); - _classPrivateFieldInitSpec(this, _uiManager, { - writable: true, - value: void 0 - }); - if (!AnnotationEditorLayer._initialized) { - AnnotationEditorLayer._initialized = true; - _freetext.FreeTextEditor.initialize(options.l10n); - _ink.InkEditor.initialize(options.l10n); - } - options.uiManager.registerEditorTypes([_freetext.FreeTextEditor, _ink.InkEditor]); - _classPrivateFieldSet(this, _uiManager, options.uiManager); - this.annotationStorage = options.annotationStorage; - this.pageIndex = options.pageIndex; - this.div = options.div; - _classPrivateFieldSet(this, _accessibilityManager, options.accessibilityManager); - _classPrivateFieldGet(this, _uiManager).addLayer(this); - } - updateToolbar(mode) { - _classPrivateFieldGet(this, _uiManager).updateToolbar(mode); - } - updateMode() { - let mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _classPrivateFieldGet(this, _uiManager).getMode(); - _classPrivateMethodGet(this, _cleanup, _cleanup2).call(this); - if (mode === _util.AnnotationEditorType.INK) { - this.addInkEditorIfNeeded(false); - this.disableClick(); - } else { - this.enableClick(); - } - _classPrivateFieldGet(this, _uiManager).unselectAll(); - this.div.classList.toggle("freeTextEditing", mode === _util.AnnotationEditorType.FREETEXT); - this.div.classList.toggle("inkEditing", mode === _util.AnnotationEditorType.INK); - } - addInkEditorIfNeeded(isCommitting) { - if (!isCommitting && _classPrivateFieldGet(this, _uiManager).getMode() !== _util.AnnotationEditorType.INK) { - return; - } - if (!isCommitting) { - for (const editor of _classPrivateFieldGet(this, _editors).values()) { - if (editor.isEmpty()) { - editor.setInBackground(); - return; - } - } - } - const editor = _classPrivateMethodGet(this, _createAndAddNewEditor, _createAndAddNewEditor2).call(this, { - offsetX: 0, - offsetY: 0 - }); - editor.setInBackground(); - } - setEditingState(isEditing) { - _classPrivateFieldGet(this, _uiManager).setEditingState(isEditing); - } - addCommands(params) { - _classPrivateFieldGet(this, _uiManager).addCommands(params); - } - enable() { - this.div.style.pointerEvents = "auto"; - for (const editor of _classPrivateFieldGet(this, _editors).values()) { - editor.enableEditing(); - } - } - disable() { - this.div.style.pointerEvents = "none"; - for (const editor of _classPrivateFieldGet(this, _editors).values()) { - editor.disableEditing(); - } - } - setActiveEditor(editor) { - const currentActive = _classPrivateFieldGet(this, _uiManager).getActive(); - if (currentActive === editor) { - return; - } - _classPrivateFieldGet(this, _uiManager).setActiveEditor(editor); - } - enableClick() { - this.div.addEventListener("pointerdown", _classPrivateFieldGet(this, _boundPointerdown)); - this.div.addEventListener("pointerup", _classPrivateFieldGet(this, _boundPointerup)); - } - disableClick() { - this.div.removeEventListener("pointerdown", _classPrivateFieldGet(this, _boundPointerdown)); - this.div.removeEventListener("pointerup", _classPrivateFieldGet(this, _boundPointerup)); - } - attach(editor) { - _classPrivateFieldGet(this, _editors).set(editor.id, editor); - } - detach(editor) { - var _classPrivateFieldGet2; - _classPrivateFieldGet(this, _editors).delete(editor.id); - (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _accessibilityManager)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.removePointerInTextLayer(editor.contentDiv); - } - remove(editor) { - _classPrivateFieldGet(this, _uiManager).removeEditor(editor); - this.detach(editor); - this.annotationStorage.remove(editor.id); - editor.div.style.display = "none"; - setTimeout(() => { - editor.div.style.display = ""; - editor.div.remove(); - editor.isAttachedToDOM = false; - if (document.activeElement === document.body) { - _classPrivateFieldGet(this, _uiManager).focusMainContainer(); - } - }, 0); - if (!_classPrivateFieldGet(this, _isCleaningUp)) { - this.addInkEditorIfNeeded(false); - } - } - add(editor) { - _classPrivateMethodGet(this, _changeParent, _changeParent2).call(this, editor); - _classPrivateFieldGet(this, _uiManager).addEditor(editor); - this.attach(editor); - if (!editor.isAttachedToDOM) { - const div = editor.render(); - this.div.append(div); - editor.isAttachedToDOM = true; - } - this.moveEditorInDOM(editor); - editor.onceAdded(); - this.addToAnnotationStorage(editor); - } - moveEditorInDOM(editor) { - var _classPrivateFieldGet3; - (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _accessibilityManager)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.moveElementInDOM(this.div, editor.div, editor.contentDiv, true); - } - addToAnnotationStorage(editor) { - if (!editor.isEmpty() && !this.annotationStorage.has(editor.id)) { - this.annotationStorage.setValue(editor.id, editor); - } - } - addOrRebuild(editor) { - if (editor.needsToBeRebuilt()) { - editor.rebuild(); - } else { - this.add(editor); - } - } - addANewEditor(editor) { - const cmd = () => { - this.addOrRebuild(editor); - }; - const undo = () => { - editor.remove(); - }; - this.addCommands({ - cmd, - undo, - mustExec: true - }); - } - addUndoableEditor(editor) { - const cmd = () => { - this.addOrRebuild(editor); - }; - const undo = () => { - editor.remove(); - }; - this.addCommands({ - cmd, - undo, - mustExec: false - }); - } - getNextId() { - return _classPrivateFieldGet(this, _uiManager).getId(); - } - deserialize(data) { - switch (data.annotationType) { - case _util.AnnotationEditorType.FREETEXT: - return _freetext.FreeTextEditor.deserialize(data, this); - case _util.AnnotationEditorType.INK: - return _ink.InkEditor.deserialize(data, this); - } - return null; - } - setSelected(editor) { - _classPrivateFieldGet(this, _uiManager).setSelected(editor); - } - toggleSelected(editor) { - _classPrivateFieldGet(this, _uiManager).toggleSelected(editor); - } - isSelected(editor) { - return _classPrivateFieldGet(this, _uiManager).isSelected(editor); - } - unselect(editor) { - _classPrivateFieldGet(this, _uiManager).unselect(editor); - } - pointerup(event) { - const isMac = _tools.KeyboardManager.platform.isMac; - if (event.button !== 0 || event.ctrlKey && isMac) { - return; - } - if (event.target !== this.div) { - return; - } - if (!_classPrivateFieldGet(this, _hadPointerDown)) { - return; - } - _classPrivateFieldSet(this, _hadPointerDown, false); - if (!_classPrivateFieldGet(this, _allowClick)) { - _classPrivateFieldSet(this, _allowClick, true); - return; - } - _classPrivateMethodGet(this, _createAndAddNewEditor, _createAndAddNewEditor2).call(this, event); - } - pointerdown(event) { - const isMac = _tools.KeyboardManager.platform.isMac; - if (event.button !== 0 || event.ctrlKey && isMac) { - return; - } - if (event.target !== this.div) { - return; - } - _classPrivateFieldSet(this, _hadPointerDown, true); - const editor = _classPrivateFieldGet(this, _uiManager).getActive(); - _classPrivateFieldSet(this, _allowClick, !editor || editor.isEmpty()); - } - drop(event) { - const id = event.dataTransfer.getData("text/plain"); - const editor = _classPrivateFieldGet(this, _uiManager).getEditor(id); - if (!editor) { - return; - } - event.preventDefault(); - event.dataTransfer.dropEffect = "move"; - _classPrivateMethodGet(this, _changeParent, _changeParent2).call(this, editor); - const rect = this.div.getBoundingClientRect(); - const endX = event.clientX - rect.x; - const endY = event.clientY - rect.y; - editor.translate(endX - editor.startX, endY - editor.startY); - this.moveEditorInDOM(editor); - editor.div.focus(); - } - dragover(event) { - event.preventDefault(); - } - destroy() { - var _classPrivateFieldGet4; - if (((_classPrivateFieldGet4 = _classPrivateFieldGet(this, _uiManager).getActive()) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.parent) === this) { - _classPrivateFieldGet(this, _uiManager).setActiveEditor(null); - } - for (const editor of _classPrivateFieldGet(this, _editors).values()) { - var _classPrivateFieldGet5; - (_classPrivateFieldGet5 = _classPrivateFieldGet(this, _accessibilityManager)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.removePointerInTextLayer(editor.contentDiv); - editor.isAttachedToDOM = false; - editor.div.remove(); - editor.parent = null; - } - this.div = null; - _classPrivateFieldGet(this, _editors).clear(); - _classPrivateFieldGet(this, _uiManager).removeLayer(this); - } - render(parameters) { - this.viewport = parameters.viewport; - (0, _tools.bindEvents)(this, this.div, ["dragover", "drop"]); - this.setDimensions(); - for (const editor of _classPrivateFieldGet(this, _uiManager).getEditors(this.pageIndex)) { - this.add(editor); - } - this.updateMode(); - } - update(parameters) { - _classPrivateFieldGet(this, _uiManager).commitOrRemove(); - this.viewport = parameters.viewport; - this.setDimensions(); - this.updateMode(); - } - get scaleFactor() { - return this.viewport.scale; - } - get pageDimensions() { - const [pageLLx, pageLLy, pageURx, pageURy] = this.viewport.viewBox; - const width = pageURx - pageLLx; - const height = pageURy - pageLLy; - return [width, height]; - } - get viewportBaseDimensions() { - const { - width, - height, - rotation - } = this.viewport; - return rotation % 180 === 0 ? [width, height] : [height, width]; - } - setDimensions() { - const { - width, - height, - rotation - } = this.viewport; - const flipOrientation = rotation % 180 !== 0, - widthStr = Math.floor(width) + "px", - heightStr = Math.floor(height) + "px"; - this.div.style.width = flipOrientation ? heightStr : widthStr; - this.div.style.height = flipOrientation ? widthStr : heightStr; - this.div.setAttribute("data-main-rotation", rotation); - } -} -exports.AnnotationEditorLayer = AnnotationEditorLayer; -function _changeParent2(editor) { - var _editor$parent; - if (editor.parent === this) { - return; - } - this.attach(editor); - editor.pageIndex = this.pageIndex; - (_editor$parent = editor.parent) === null || _editor$parent === void 0 ? void 0 : _editor$parent.detach(editor); - editor.parent = this; - if (editor.div && editor.isAttachedToDOM) { - editor.div.remove(); - this.div.append(editor.div); - } -} -function _createNewEditor2(params) { - switch (_classPrivateFieldGet(this, _uiManager).getMode()) { - case _util.AnnotationEditorType.FREETEXT: - return new _freetext.FreeTextEditor(params); - case _util.AnnotationEditorType.INK: - return new _ink.InkEditor(params); - } - return null; -} -function _createAndAddNewEditor2(event) { - const id = this.getNextId(); - const editor = _classPrivateMethodGet(this, _createNewEditor, _createNewEditor2).call(this, { - parent: this, - id, - x: event.offsetX, - y: event.offsetY - }); - if (editor) { - this.add(editor); - } - return editor; -} -function _cleanup2() { - _classPrivateFieldSet(this, _isCleaningUp, true); - for (const editor of _classPrivateFieldGet(this, _editors).values()) { - if (editor.isEmpty()) { - editor.remove(); - } - } - _classPrivateFieldSet(this, _isCleaningUp, false); -} -_defineProperty(AnnotationEditorLayer, "_initialized", false); - -/***/ }), -/* 152 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.FreeTextEditor = void 0; -var _util = __w_pdfjs_require__(1); -var _tools = __w_pdfjs_require__(136); -var _editor = __w_pdfjs_require__(135); -function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } -function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } -function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } -function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } -function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } -function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } -function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } -var _boundEditorDivBlur = /*#__PURE__*/new WeakMap(); -var _boundEditorDivFocus = /*#__PURE__*/new WeakMap(); -var _boundEditorDivInput = /*#__PURE__*/new WeakMap(); -var _boundEditorDivKeydown = /*#__PURE__*/new WeakMap(); -var _color = /*#__PURE__*/new WeakMap(); -var _content = /*#__PURE__*/new WeakMap(); -var _editorDivId = /*#__PURE__*/new WeakMap(); -var _hasAlreadyBeenCommitted = /*#__PURE__*/new WeakMap(); -var _fontSize = /*#__PURE__*/new WeakMap(); -var _updateFontSize = /*#__PURE__*/new WeakSet(); -var _updateColor = /*#__PURE__*/new WeakSet(); -var _extractText = /*#__PURE__*/new WeakSet(); -var _setEditorDimensions = /*#__PURE__*/new WeakSet(); -class FreeTextEditor extends _editor.AnnotationEditor { - constructor(params) { - super({ - ...params, - name: "freeTextEditor" - }); - _classPrivateMethodInitSpec(this, _setEditorDimensions); - _classPrivateMethodInitSpec(this, _extractText); - _classPrivateMethodInitSpec(this, _updateColor); - _classPrivateMethodInitSpec(this, _updateFontSize); - _classPrivateFieldInitSpec(this, _boundEditorDivBlur, { - writable: true, - value: this.editorDivBlur.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundEditorDivFocus, { - writable: true, - value: this.editorDivFocus.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundEditorDivInput, { - writable: true, - value: this.editorDivInput.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundEditorDivKeydown, { - writable: true, - value: this.editorDivKeydown.bind(this) - }); - _classPrivateFieldInitSpec(this, _color, { - writable: true, - value: void 0 - }); - _classPrivateFieldInitSpec(this, _content, { - writable: true, - value: "" - }); - _classPrivateFieldInitSpec(this, _editorDivId, { - writable: true, - value: `${this.id}-editor` - }); - _classPrivateFieldInitSpec(this, _hasAlreadyBeenCommitted, { - writable: true, - value: false - }); - _classPrivateFieldInitSpec(this, _fontSize, { - writable: true, - value: void 0 - }); - _classPrivateFieldSet(this, _color, params.color || FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor); - _classPrivateFieldSet(this, _fontSize, params.fontSize || FreeTextEditor._defaultFontSize); - } - static initialize(l10n) { - this._l10nPromise = new Map(["free_text2_default_content", "editor_free_text2_aria_label"].map(str => [str, l10n.get(str)])); - const style = getComputedStyle(document.documentElement); - this._internalPadding = parseFloat(style.getPropertyValue("--freetext-padding")); - } - static updateDefaultParams(type, value) { - switch (type) { - case _util.AnnotationEditorParamsType.FREETEXT_SIZE: - FreeTextEditor._defaultFontSize = value; - break; - case _util.AnnotationEditorParamsType.FREETEXT_COLOR: - FreeTextEditor._defaultColor = value; - break; - } - } - updateParams(type, value) { - switch (type) { - case _util.AnnotationEditorParamsType.FREETEXT_SIZE: - _classPrivateMethodGet(this, _updateFontSize, _updateFontSize2).call(this, value); - break; - case _util.AnnotationEditorParamsType.FREETEXT_COLOR: - _classPrivateMethodGet(this, _updateColor, _updateColor2).call(this, value); - break; - } - } - static get defaultPropertiesToUpdate() { - return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor]]; - } - get propertiesToUpdate() { - return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, _classPrivateFieldGet(this, _fontSize)], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, _classPrivateFieldGet(this, _color)]]; - } - getInitialTranslation() { - return [-FreeTextEditor._internalPadding * this.parent.scaleFactor, -(FreeTextEditor._internalPadding + _classPrivateFieldGet(this, _fontSize)) * this.parent.scaleFactor]; - } - rebuild() { - super.rebuild(); - if (this.div === null) { - return; - } - if (!this.isAttachedToDOM) { - this.parent.add(this); - } - } - enableEditMode() { - if (this.isInEditMode()) { - return; - } - this.parent.setEditingState(false); - this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT); - super.enableEditMode(); - this.overlayDiv.classList.remove("enabled"); - this.editorDiv.contentEditable = true; - this.div.draggable = false; - this.div.removeAttribute("aria-activedescendant"); - this.editorDiv.addEventListener("keydown", _classPrivateFieldGet(this, _boundEditorDivKeydown)); - this.editorDiv.addEventListener("focus", _classPrivateFieldGet(this, _boundEditorDivFocus)); - this.editorDiv.addEventListener("blur", _classPrivateFieldGet(this, _boundEditorDivBlur)); - this.editorDiv.addEventListener("input", _classPrivateFieldGet(this, _boundEditorDivInput)); - } - disableEditMode() { - if (!this.isInEditMode()) { - return; - } - this.parent.setEditingState(true); - super.disableEditMode(); - this.overlayDiv.classList.add("enabled"); - this.editorDiv.contentEditable = false; - this.div.setAttribute("aria-activedescendant", _classPrivateFieldGet(this, _editorDivId)); - this.div.draggable = true; - this.editorDiv.removeEventListener("keydown", _classPrivateFieldGet(this, _boundEditorDivKeydown)); - this.editorDiv.removeEventListener("focus", _classPrivateFieldGet(this, _boundEditorDivFocus)); - this.editorDiv.removeEventListener("blur", _classPrivateFieldGet(this, _boundEditorDivBlur)); - this.editorDiv.removeEventListener("input", _classPrivateFieldGet(this, _boundEditorDivInput)); - this.div.focus(); - this.isEditing = false; - this.parent.div.classList.add("freeTextEditing"); - } - focusin(event) { - super.focusin(event); - if (event.target !== this.editorDiv) { - this.editorDiv.focus(); - } - } - onceAdded() { - if (this.width) { - return; - } - this.enableEditMode(); - this.editorDiv.focus(); - } - isEmpty() { - return !this.editorDiv || this.editorDiv.innerText.trim() === ""; - } - remove() { - this.isEditing = false; - this.parent.setEditingState(true); - this.parent.div.classList.add("freeTextEditing"); - super.remove(); - } - commit() { - super.commit(); - if (!_classPrivateFieldGet(this, _hasAlreadyBeenCommitted)) { - _classPrivateFieldSet(this, _hasAlreadyBeenCommitted, true); - this.parent.addUndoableEditor(this); - } - this.disableEditMode(); - _classPrivateFieldSet(this, _content, _classPrivateMethodGet(this, _extractText, _extractText2).call(this).trimEnd()); - _classPrivateMethodGet(this, _setEditorDimensions, _setEditorDimensions2).call(this); - } - shouldGetKeyboardEvents() { - return this.isInEditMode(); - } - dblclick(event) { - this.enableEditMode(); - this.editorDiv.focus(); - } - keydown(event) { - if (event.target === this.div && event.key === "Enter") { - this.enableEditMode(); - this.editorDiv.focus(); - } - } - editorDivKeydown(event) { - FreeTextEditor._keyboardManager.exec(this, event); - } - editorDivFocus(event) { - this.isEditing = true; - } - editorDivBlur(event) { - this.isEditing = false; - } - editorDivInput(event) { - this.parent.div.classList.toggle("freeTextEditing", this.isEmpty()); - } - disableEditing() { - this.editorDiv.setAttribute("role", "comment"); - this.editorDiv.removeAttribute("aria-multiline"); - } - enableEditing() { - this.editorDiv.setAttribute("role", "textbox"); - this.editorDiv.setAttribute("aria-multiline", true); - } - render() { - if (this.div) { - return this.div; - } - let baseX, baseY; - if (this.width) { - baseX = this.x; - baseY = this.y; - } - super.render(); - this.editorDiv = document.createElement("div"); - this.editorDiv.className = "internal"; - this.editorDiv.setAttribute("id", _classPrivateFieldGet(this, _editorDivId)); - this.enableEditing(); - FreeTextEditor._l10nPromise.get("editor_free_text2_aria_label").then(msg => { - var _this$editorDiv; - return (_this$editorDiv = this.editorDiv) === null || _this$editorDiv === void 0 ? void 0 : _this$editorDiv.setAttribute("aria-label", msg); - }); - FreeTextEditor._l10nPromise.get("free_text2_default_content").then(msg => { - var _this$editorDiv2; - return (_this$editorDiv2 = this.editorDiv) === null || _this$editorDiv2 === void 0 ? void 0 : _this$editorDiv2.setAttribute("default-content", msg); - }); - this.editorDiv.contentEditable = true; - const { - style - } = this.editorDiv; - style.fontSize = `calc(${_classPrivateFieldGet(this, _fontSize)}px * var(--scale-factor))`; - style.color = _classPrivateFieldGet(this, _color); - this.div.append(this.editorDiv); - this.overlayDiv = document.createElement("div"); - this.overlayDiv.classList.add("overlay", "enabled"); - this.div.append(this.overlayDiv); - (0, _tools.bindEvents)(this, this.div, ["dblclick", "keydown"]); - if (this.width) { - const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions; - this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight); - for (const line of _classPrivateFieldGet(this, _content).split("\n")) { - const div = document.createElement("div"); - div.append(line ? document.createTextNode(line) : document.createElement("br")); - this.editorDiv.append(div); - } - this.div.draggable = true; - this.editorDiv.contentEditable = false; - } else { - this.div.draggable = false; - this.editorDiv.contentEditable = true; - } - return this.div; - } - get contentDiv() { - return this.editorDiv; - } - static deserialize(data, parent) { - const editor = super.deserialize(data, parent); - _classPrivateFieldSet(editor, _fontSize, data.fontSize); - _classPrivateFieldSet(editor, _color, _util.Util.makeHexColor(...data.color)); - _classPrivateFieldSet(editor, _content, data.value); - return editor; - } - serialize() { - if (this.isEmpty()) { - return null; - } - const padding = FreeTextEditor._internalPadding * this.parent.scaleFactor; - const rect = this.getRect(padding, padding); - const color = _editor.AnnotationEditor._colorManager.convert(getComputedStyle(this.editorDiv).color); - return { - annotationType: _util.AnnotationEditorType.FREETEXT, - color, - fontSize: _classPrivateFieldGet(this, _fontSize), - value: _classPrivateFieldGet(this, _content), - pageIndex: this.parent.pageIndex, - rect, - rotation: this.rotation - }; - } -} -exports.FreeTextEditor = FreeTextEditor; -function _updateFontSize2(fontSize) { - const setFontsize = size => { - this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`; - this.translate(0, -(size - _classPrivateFieldGet(this, _fontSize)) * this.parent.scaleFactor); - _classPrivateFieldSet(this, _fontSize, size); - _classPrivateMethodGet(this, _setEditorDimensions, _setEditorDimensions2).call(this); - }; - const savedFontsize = _classPrivateFieldGet(this, _fontSize); - this.parent.addCommands({ - cmd: () => { - setFontsize(fontSize); - }, - undo: () => { - setFontsize(savedFontsize); - }, - mustExec: true, - type: _util.AnnotationEditorParamsType.FREETEXT_SIZE, - overwriteIfSameType: true, - keepUndo: true - }); -} -function _updateColor2(color) { - const savedColor = _classPrivateFieldGet(this, _color); - this.parent.addCommands({ - cmd: () => { - _classPrivateFieldSet(this, _color, color); - this.editorDiv.style.color = color; - }, - undo: () => { - _classPrivateFieldSet(this, _color, savedColor); - this.editorDiv.style.color = savedColor; - }, - mustExec: true, - type: _util.AnnotationEditorParamsType.FREETEXT_COLOR, - overwriteIfSameType: true, - keepUndo: true - }); -} -function _extractText2() { - const divs = this.editorDiv.getElementsByTagName("div"); - if (divs.length === 0) { - return this.editorDiv.innerText; - } - const buffer = []; - for (const div of divs) { - const first = div.firstChild; - if ((first === null || first === void 0 ? void 0 : first.nodeName) === "#text") { - buffer.push(first.data); - } else { - buffer.push(""); - } - } - return buffer.join("\n"); -} -function _setEditorDimensions2() { - const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions; - const rect = this.div.getBoundingClientRect(); - this.width = rect.width / parentWidth; - this.height = rect.height / parentHeight; -} -_defineProperty(FreeTextEditor, "_freeTextDefaultContent", ""); -_defineProperty(FreeTextEditor, "_l10nPromise", void 0); -_defineProperty(FreeTextEditor, "_internalPadding", 0); -_defineProperty(FreeTextEditor, "_defaultColor", null); -_defineProperty(FreeTextEditor, "_defaultFontSize", 10); -_defineProperty(FreeTextEditor, "_keyboardManager", new _tools.KeyboardManager([[["ctrl+Enter", "mac+meta+Enter", "Escape", "mac+Escape"], FreeTextEditor.prototype.commitOrRemove]])); -_defineProperty(FreeTextEditor, "_type", "freetext"); - -/***/ }), -/* 153 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.InkEditor = void 0; -Object.defineProperty(exports, "fitCurve", ({ - enumerable: true, - get: function () { - return _pdfjsFitCurve.fitCurve; - } -})); -var _util = __w_pdfjs_require__(1); -var _editor = __w_pdfjs_require__(135); -var _pdfjsFitCurve = __w_pdfjs_require__(154); -var _tools = __w_pdfjs_require__(136); -function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } -function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function _classStaticPrivateMethodGet(receiver, classConstructor, method) { _classCheckPrivateStaticAccess(receiver, classConstructor); return method; } -function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } } -function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } -function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } -function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } -function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } -function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } -function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } -const RESIZER_SIZE = 16; -const TIME_TO_WAIT_BEFORE_FIXING_DIMS = 100; -var _aspectRatio = /*#__PURE__*/new WeakMap(); -var _baseHeight = /*#__PURE__*/new WeakMap(); -var _baseWidth = /*#__PURE__*/new WeakMap(); -var _boundCanvasPointermove = /*#__PURE__*/new WeakMap(); -var _boundCanvasPointerleave = /*#__PURE__*/new WeakMap(); -var _boundCanvasPointerup = /*#__PURE__*/new WeakMap(); -var _boundCanvasPointerdown = /*#__PURE__*/new WeakMap(); -var _disableEditing = /*#__PURE__*/new WeakMap(); -var _isCanvasInitialized = /*#__PURE__*/new WeakMap(); -var _lastPoint = /*#__PURE__*/new WeakMap(); -var _observer = /*#__PURE__*/new WeakMap(); -var _realWidth = /*#__PURE__*/new WeakMap(); -var _realHeight = /*#__PURE__*/new WeakMap(); -var _requestFrameCallback = /*#__PURE__*/new WeakMap(); -var _updateThickness = /*#__PURE__*/new WeakSet(); -var _updateColor = /*#__PURE__*/new WeakSet(); -var _updateOpacity = /*#__PURE__*/new WeakSet(); -var _getInitialBBox = /*#__PURE__*/new WeakSet(); -var _setStroke = /*#__PURE__*/new WeakSet(); -var _startDrawing = /*#__PURE__*/new WeakSet(); -var _draw = /*#__PURE__*/new WeakSet(); -var _stopDrawing = /*#__PURE__*/new WeakSet(); -var _redraw = /*#__PURE__*/new WeakSet(); -var _endDrawing = /*#__PURE__*/new WeakSet(); -var _createCanvas = /*#__PURE__*/new WeakSet(); -var _createObserver = /*#__PURE__*/new WeakSet(); -var _setCanvasDims = /*#__PURE__*/new WeakSet(); -var _setScaleFactor = /*#__PURE__*/new WeakSet(); -var _updateTransform = /*#__PURE__*/new WeakSet(); -var _serializePaths = /*#__PURE__*/new WeakSet(); -var _extractPointsOnBezier = /*#__PURE__*/new WeakSet(); -var _isAlmostFlat = /*#__PURE__*/new WeakSet(); -var _getBbox = /*#__PURE__*/new WeakSet(); -var _getPadding = /*#__PURE__*/new WeakSet(); -var _fitToContent = /*#__PURE__*/new WeakSet(); -var _setMinDims = /*#__PURE__*/new WeakSet(); -class InkEditor extends _editor.AnnotationEditor { - constructor(params) { - super({ - ...params, - name: "inkEditor" - }); - _classPrivateMethodInitSpec(this, _setMinDims); - _classPrivateMethodInitSpec(this, _fitToContent); - _classPrivateMethodInitSpec(this, _getPadding); - _classPrivateMethodInitSpec(this, _getBbox); - _classPrivateMethodInitSpec(this, _isAlmostFlat); - _classPrivateMethodInitSpec(this, _extractPointsOnBezier); - _classPrivateMethodInitSpec(this, _serializePaths); - _classPrivateMethodInitSpec(this, _updateTransform); - _classPrivateMethodInitSpec(this, _setScaleFactor); - _classPrivateMethodInitSpec(this, _setCanvasDims); - _classPrivateMethodInitSpec(this, _createObserver); - _classPrivateMethodInitSpec(this, _createCanvas); - _classPrivateMethodInitSpec(this, _endDrawing); - _classPrivateMethodInitSpec(this, _redraw); - _classPrivateMethodInitSpec(this, _stopDrawing); - _classPrivateMethodInitSpec(this, _draw); - _classPrivateMethodInitSpec(this, _startDrawing); - _classPrivateMethodInitSpec(this, _setStroke); - _classPrivateMethodInitSpec(this, _getInitialBBox); - _classPrivateMethodInitSpec(this, _updateOpacity); - _classPrivateMethodInitSpec(this, _updateColor); - _classPrivateMethodInitSpec(this, _updateThickness); - _classPrivateFieldInitSpec(this, _aspectRatio, { - writable: true, - value: 0 - }); - _classPrivateFieldInitSpec(this, _baseHeight, { - writable: true, - value: 0 - }); - _classPrivateFieldInitSpec(this, _baseWidth, { - writable: true, - value: 0 - }); - _classPrivateFieldInitSpec(this, _boundCanvasPointermove, { - writable: true, - value: this.canvasPointermove.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundCanvasPointerleave, { - writable: true, - value: this.canvasPointerleave.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundCanvasPointerup, { - writable: true, - value: this.canvasPointerup.bind(this) - }); - _classPrivateFieldInitSpec(this, _boundCanvasPointerdown, { - writable: true, - value: this.canvasPointerdown.bind(this) - }); - _classPrivateFieldInitSpec(this, _disableEditing, { - writable: true, - value: false - }); - _classPrivateFieldInitSpec(this, _isCanvasInitialized, { - writable: true, - value: false - }); - _classPrivateFieldInitSpec(this, _lastPoint, { - writable: true, - value: null - }); - _classPrivateFieldInitSpec(this, _observer, { - writable: true, - value: null - }); - _classPrivateFieldInitSpec(this, _realWidth, { - writable: true, - value: 0 - }); - _classPrivateFieldInitSpec(this, _realHeight, { - writable: true, - value: 0 - }); - _classPrivateFieldInitSpec(this, _requestFrameCallback, { - writable: true, - value: null - }); - this.color = params.color || null; - this.thickness = params.thickness || null; - this.opacity = params.opacity || null; - this.paths = []; - this.bezierPath2D = []; - this.currentPath = []; - this.scaleFactor = 1; - this.translationX = this.translationY = 0; - this.x = 0; - this.y = 0; - } - static initialize(l10n) { - this._l10nPromise = new Map(["editor_ink_canvas_aria_label", "editor_ink2_aria_label"].map(str => [str, l10n.get(str)])); - } - static updateDefaultParams(type, value) { - switch (type) { - case _util.AnnotationEditorParamsType.INK_THICKNESS: - InkEditor._defaultThickness = value; - break; - case _util.AnnotationEditorParamsType.INK_COLOR: - InkEditor._defaultColor = value; - break; - case _util.AnnotationEditorParamsType.INK_OPACITY: - InkEditor._defaultOpacity = value / 100; - break; - } - } - updateParams(type, value) { - switch (type) { - case _util.AnnotationEditorParamsType.INK_THICKNESS: - _classPrivateMethodGet(this, _updateThickness, _updateThickness2).call(this, value); - break; - case _util.AnnotationEditorParamsType.INK_COLOR: - _classPrivateMethodGet(this, _updateColor, _updateColor2).call(this, value); - break; - case _util.AnnotationEditorParamsType.INK_OPACITY: - _classPrivateMethodGet(this, _updateOpacity, _updateOpacity2).call(this, value); - break; - } - } - static get defaultPropertiesToUpdate() { - return [[_util.AnnotationEditorParamsType.INK_THICKNESS, InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(InkEditor._defaultOpacity * 100)]]; - } - get propertiesToUpdate() { - return [[_util.AnnotationEditorParamsType.INK_THICKNESS, this.thickness || InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, this.color || InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(100 * (this.opacity ?? InkEditor._defaultOpacity))]]; - } - rebuild() { - super.rebuild(); - if (this.div === null) { - return; - } - if (!this.canvas) { - _classPrivateMethodGet(this, _createCanvas, _createCanvas2).call(this); - _classPrivateMethodGet(this, _createObserver, _createObserver2).call(this); - } - if (!this.isAttachedToDOM) { - this.parent.add(this); - _classPrivateMethodGet(this, _setCanvasDims, _setCanvasDims2).call(this); - } - _classPrivateMethodGet(this, _fitToContent, _fitToContent2).call(this); - } - remove() { - if (this.canvas === null) { - return; - } - if (!this.isEmpty()) { - this.commit(); - } - this.canvas.width = this.canvas.height = 0; - this.canvas.remove(); - this.canvas = null; - _classPrivateFieldGet(this, _observer).disconnect(); - _classPrivateFieldSet(this, _observer, null); - super.remove(); - } - enableEditMode() { - if (_classPrivateFieldGet(this, _disableEditing) || this.canvas === null) { - return; - } - super.enableEditMode(); - this.div.draggable = false; - this.canvas.addEventListener("pointerdown", _classPrivateFieldGet(this, _boundCanvasPointerdown)); - this.canvas.addEventListener("pointerup", _classPrivateFieldGet(this, _boundCanvasPointerup)); - } - disableEditMode() { - if (!this.isInEditMode() || this.canvas === null) { - return; - } - super.disableEditMode(); - this.div.draggable = !this.isEmpty(); - this.div.classList.remove("editing"); - this.canvas.removeEventListener("pointerdown", _classPrivateFieldGet(this, _boundCanvasPointerdown)); - this.canvas.removeEventListener("pointerup", _classPrivateFieldGet(this, _boundCanvasPointerup)); - } - onceAdded() { - this.div.draggable = !this.isEmpty(); - } - isEmpty() { - return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0; - } - commit() { - if (_classPrivateFieldGet(this, _disableEditing)) { - return; - } - super.commit(); - this.isEditing = false; - this.disableEditMode(); - this.setInForeground(); - _classPrivateFieldSet(this, _disableEditing, true); - this.div.classList.add("disabled"); - _classPrivateMethodGet(this, _fitToContent, _fitToContent2).call(this, true); - this.parent.addInkEditorIfNeeded(true); - this.parent.moveEditorInDOM(this); - this.div.focus(); - } - focusin(event) { - super.focusin(event); - this.enableEditMode(); - } - canvasPointerdown(event) { - if (event.button !== 0 || !this.isInEditMode() || _classPrivateFieldGet(this, _disableEditing)) { - return; - } - this.setInForeground(); - if (event.type !== "mouse") { - this.div.focus(); - } - event.stopPropagation(); - this.canvas.addEventListener("pointerleave", _classPrivateFieldGet(this, _boundCanvasPointerleave)); - this.canvas.addEventListener("pointermove", _classPrivateFieldGet(this, _boundCanvasPointermove)); - _classPrivateMethodGet(this, _startDrawing, _startDrawing2).call(this, event.offsetX, event.offsetY); - } - canvasPointermove(event) { - event.stopPropagation(); - _classPrivateMethodGet(this, _draw, _draw2).call(this, event.offsetX, event.offsetY); - } - canvasPointerup(event) { - if (event.button !== 0) { - return; - } - if (this.isInEditMode() && this.currentPath.length !== 0) { - event.stopPropagation(); - _classPrivateMethodGet(this, _endDrawing, _endDrawing2).call(this, event); - this.setInBackground(); - } - } - canvasPointerleave(event) { - _classPrivateMethodGet(this, _endDrawing, _endDrawing2).call(this, event); - this.setInBackground(); - } - render() { - if (this.div) { - return this.div; - } - let baseX, baseY; - if (this.width) { - baseX = this.x; - baseY = this.y; - } - super.render(); - InkEditor._l10nPromise.get("editor_ink2_aria_label").then(msg => { - var _this$div; - return (_this$div = this.div) === null || _this$div === void 0 ? void 0 : _this$div.setAttribute("aria-label", msg); - }); - const [x, y, w, h] = _classPrivateMethodGet(this, _getInitialBBox, _getInitialBBox2).call(this); - this.setAt(x, y, 0, 0); - this.setDims(w, h); - _classPrivateMethodGet(this, _createCanvas, _createCanvas2).call(this); - if (this.width) { - const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions; - this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight); - _classPrivateFieldSet(this, _isCanvasInitialized, true); - _classPrivateMethodGet(this, _setCanvasDims, _setCanvasDims2).call(this); - this.setDims(this.width * parentWidth, this.height * parentHeight); - _classPrivateMethodGet(this, _redraw, _redraw2).call(this); - _classPrivateMethodGet(this, _setMinDims, _setMinDims2).call(this); - this.div.classList.add("disabled"); - } else { - this.div.classList.add("editing"); - this.enableEditMode(); - } - _classPrivateMethodGet(this, _createObserver, _createObserver2).call(this); - return this.div; - } - setDimensions(width, height) { - const roundedWidth = Math.round(width); - const roundedHeight = Math.round(height); - if (_classPrivateFieldGet(this, _realWidth) === roundedWidth && _classPrivateFieldGet(this, _realHeight) === roundedHeight) { - return; - } - _classPrivateFieldSet(this, _realWidth, roundedWidth); - _classPrivateFieldSet(this, _realHeight, roundedHeight); - this.canvas.style.visibility = "hidden"; - if (_classPrivateFieldGet(this, _aspectRatio) && Math.abs(_classPrivateFieldGet(this, _aspectRatio) - width / height) > 1e-2) { - height = Math.ceil(width / _classPrivateFieldGet(this, _aspectRatio)); - this.setDims(width, height); - } - const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions; - this.width = width / parentWidth; - this.height = height / parentHeight; - if (_classPrivateFieldGet(this, _disableEditing)) { - _classPrivateMethodGet(this, _setScaleFactor, _setScaleFactor2).call(this, width, height); - } - _classPrivateMethodGet(this, _setCanvasDims, _setCanvasDims2).call(this); - _classPrivateMethodGet(this, _redraw, _redraw2).call(this); - this.canvas.style.visibility = "visible"; - } - static deserialize(data, parent) { - const editor = super.deserialize(data, parent); - editor.thickness = data.thickness; - editor.color = _util.Util.makeHexColor(...data.color); - editor.opacity = data.opacity; - const [pageWidth, pageHeight] = parent.pageDimensions; - const width = editor.width * pageWidth; - const height = editor.height * pageHeight; - const scaleFactor = parent.scaleFactor; - const padding = data.thickness / 2; - _classPrivateFieldSet(editor, _aspectRatio, width / height); - _classPrivateFieldSet(editor, _disableEditing, true); - _classPrivateFieldSet(editor, _realWidth, Math.round(width)); - _classPrivateFieldSet(editor, _realHeight, Math.round(height)); - for (const { - bezier - } of data.paths) { - const path = []; - editor.paths.push(path); - let p0 = scaleFactor * (bezier[0] - padding); - let p1 = scaleFactor * (height - bezier[1] - padding); - for (let i = 2, ii = bezier.length; i < ii; i += 6) { - const p10 = scaleFactor * (bezier[i] - padding); - const p11 = scaleFactor * (height - bezier[i + 1] - padding); - const p20 = scaleFactor * (bezier[i + 2] - padding); - const p21 = scaleFactor * (height - bezier[i + 3] - padding); - const p30 = scaleFactor * (bezier[i + 4] - padding); - const p31 = scaleFactor * (height - bezier[i + 5] - padding); - path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]); - p0 = p30; - p1 = p31; - } - const path2D = _classStaticPrivateMethodGet(this, InkEditor, _buildPath2D).call(this, path); - editor.bezierPath2D.push(path2D); - } - const bbox = _classPrivateMethodGet(editor, _getBbox, _getBbox2).call(editor); - _classPrivateFieldSet(editor, _baseWidth, Math.max(RESIZER_SIZE, bbox[2] - bbox[0])); - _classPrivateFieldSet(editor, _baseHeight, Math.max(RESIZER_SIZE, bbox[3] - bbox[1])); - _classPrivateMethodGet(editor, _setScaleFactor, _setScaleFactor2).call(editor, width, height); - return editor; - } - serialize() { - if (this.isEmpty()) { - return null; - } - const rect = this.getRect(0, 0); - const height = this.rotation % 180 === 0 ? rect[3] - rect[1] : rect[2] - rect[0]; - const color = _editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle); - return { - annotationType: _util.AnnotationEditorType.INK, - color, - thickness: this.thickness, - opacity: this.opacity, - paths: _classPrivateMethodGet(this, _serializePaths, _serializePaths2).call(this, this.scaleFactor / this.parent.scaleFactor, this.translationX, this.translationY, height), - pageIndex: this.parent.pageIndex, - rect, - rotation: this.rotation - }; - } -} -exports.InkEditor = InkEditor; -function _updateThickness2(thickness) { - const savedThickness = this.thickness; - this.parent.addCommands({ - cmd: () => { - this.thickness = thickness; - _classPrivateMethodGet(this, _fitToContent, _fitToContent2).call(this); - }, - undo: () => { - this.thickness = savedThickness; - _classPrivateMethodGet(this, _fitToContent, _fitToContent2).call(this); - }, - mustExec: true, - type: _util.AnnotationEditorParamsType.INK_THICKNESS, - overwriteIfSameType: true, - keepUndo: true - }); -} -function _updateColor2(color) { - const savedColor = this.color; - this.parent.addCommands({ - cmd: () => { - this.color = color; - _classPrivateMethodGet(this, _redraw, _redraw2).call(this); - }, - undo: () => { - this.color = savedColor; - _classPrivateMethodGet(this, _redraw, _redraw2).call(this); - }, - mustExec: true, - type: _util.AnnotationEditorParamsType.INK_COLOR, - overwriteIfSameType: true, - keepUndo: true - }); -} -function _updateOpacity2(opacity) { - opacity /= 100; - const savedOpacity = this.opacity; - this.parent.addCommands({ - cmd: () => { - this.opacity = opacity; - _classPrivateMethodGet(this, _redraw, _redraw2).call(this); - }, - undo: () => { - this.opacity = savedOpacity; - _classPrivateMethodGet(this, _redraw, _redraw2).call(this); - }, - mustExec: true, - type: _util.AnnotationEditorParamsType.INK_OPACITY, - overwriteIfSameType: true, - keepUndo: true - }); -} -function _getInitialBBox2() { - const { - width, - height, - rotation - } = this.parent.viewport; - switch (rotation) { - case 90: - return [0, width, width, height]; - case 180: - return [width, height, width, height]; - case 270: - return [height, 0, width, height]; - default: - return [0, 0, width, height]; - } -} -function _setStroke2() { - this.ctx.lineWidth = this.thickness * this.parent.scaleFactor / this.scaleFactor; - this.ctx.lineCap = "round"; - this.ctx.lineJoin = "round"; - this.ctx.miterLimit = 10; - this.ctx.strokeStyle = `${this.color}${(0, _tools.opacityToHex)(this.opacity)}`; -} -function _startDrawing2(x, y) { - this.isEditing = true; - if (!_classPrivateFieldGet(this, _isCanvasInitialized)) { - _classPrivateFieldSet(this, _isCanvasInitialized, true); - _classPrivateMethodGet(this, _setCanvasDims, _setCanvasDims2).call(this); - this.thickness || (this.thickness = InkEditor._defaultThickness); - this.color || (this.color = InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor); - this.opacity ?? (this.opacity = InkEditor._defaultOpacity); - } - this.currentPath.push([x, y]); - _classPrivateFieldSet(this, _lastPoint, null); - _classPrivateMethodGet(this, _setStroke, _setStroke2).call(this); - this.ctx.beginPath(); - this.ctx.moveTo(x, y); - _classPrivateFieldSet(this, _requestFrameCallback, () => { - if (!_classPrivateFieldGet(this, _requestFrameCallback)) { - return; - } - if (_classPrivateFieldGet(this, _lastPoint)) { - if (this.isEmpty()) { - this.ctx.setTransform(1, 0, 0, 1, 0, 0); - this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); - } else { - _classPrivateMethodGet(this, _redraw, _redraw2).call(this); - } - this.ctx.lineTo(..._classPrivateFieldGet(this, _lastPoint)); - _classPrivateFieldSet(this, _lastPoint, null); - this.ctx.stroke(); - } - window.requestAnimationFrame(_classPrivateFieldGet(this, _requestFrameCallback)); - }); - window.requestAnimationFrame(_classPrivateFieldGet(this, _requestFrameCallback)); -} -function _draw2(x, y) { - const [lastX, lastY] = this.currentPath.at(-1); - if (x === lastX && y === lastY) { - return; - } - this.currentPath.push([x, y]); - _classPrivateFieldSet(this, _lastPoint, [x, y]); -} -function _stopDrawing2(x, y) { - this.ctx.closePath(); - _classPrivateFieldSet(this, _requestFrameCallback, null); - x = Math.min(Math.max(x, 0), this.canvas.width); - y = Math.min(Math.max(y, 0), this.canvas.height); - const [lastX, lastY] = this.currentPath.at(-1); - if (x !== lastX || y !== lastY) { - this.currentPath.push([x, y]); - } - let bezier; - if (this.currentPath.length !== 1) { - bezier = (0, _pdfjsFitCurve.fitCurve)(this.currentPath, 30, null); - } else { - const xy = [x, y]; - bezier = [[xy, xy.slice(), xy.slice(), xy]]; - } - const path2D = _classStaticPrivateMethodGet(InkEditor, InkEditor, _buildPath2D).call(InkEditor, bezier); - this.currentPath.length = 0; - const cmd = () => { - this.paths.push(bezier); - this.bezierPath2D.push(path2D); - this.rebuild(); - }; - const undo = () => { - this.paths.pop(); - this.bezierPath2D.pop(); - if (this.paths.length === 0) { - this.remove(); - } else { - if (!this.canvas) { - _classPrivateMethodGet(this, _createCanvas, _createCanvas2).call(this); - _classPrivateMethodGet(this, _createObserver, _createObserver2).call(this); - } - _classPrivateMethodGet(this, _fitToContent, _fitToContent2).call(this); - } - }; - this.parent.addCommands({ - cmd, - undo, - mustExec: true - }); -} -function _redraw2() { - if (this.isEmpty()) { - _classPrivateMethodGet(this, _updateTransform, _updateTransform2).call(this); - return; - } - _classPrivateMethodGet(this, _setStroke, _setStroke2).call(this); - const { - canvas, - ctx - } = this; - ctx.setTransform(1, 0, 0, 1, 0, 0); - ctx.clearRect(0, 0, canvas.width, canvas.height); - _classPrivateMethodGet(this, _updateTransform, _updateTransform2).call(this); - for (const path of this.bezierPath2D) { - ctx.stroke(path); - } -} -function _endDrawing2(event) { - _classPrivateMethodGet(this, _stopDrawing, _stopDrawing2).call(this, event.offsetX, event.offsetY); - this.canvas.removeEventListener("pointerleave", _classPrivateFieldGet(this, _boundCanvasPointerleave)); - this.canvas.removeEventListener("pointermove", _classPrivateFieldGet(this, _boundCanvasPointermove)); - this.parent.addToAnnotationStorage(this); -} -function _createCanvas2() { - this.canvas = document.createElement("canvas"); - this.canvas.width = this.canvas.height = 0; - this.canvas.className = "inkEditorCanvas"; - InkEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(msg => { - var _this$canvas; - return (_this$canvas = this.canvas) === null || _this$canvas === void 0 ? void 0 : _this$canvas.setAttribute("aria-label", msg); - }); - this.div.append(this.canvas); - this.ctx = this.canvas.getContext("2d"); -} -function _createObserver2() { - let timeoutId = null; - _classPrivateFieldSet(this, _observer, new ResizeObserver(entries => { - const rect = entries[0].contentRect; - if (rect.width && rect.height) { - if (timeoutId !== null) { - clearTimeout(timeoutId); - } - timeoutId = setTimeout(() => { - this.fixDims(); - timeoutId = null; - }, TIME_TO_WAIT_BEFORE_FIXING_DIMS); - this.setDimensions(rect.width, rect.height); - } - })); - _classPrivateFieldGet(this, _observer).observe(this.div); -} -function _setCanvasDims2() { - if (!_classPrivateFieldGet(this, _isCanvasInitialized)) { - return; - } - const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions; - this.canvas.width = Math.ceil(this.width * parentWidth); - this.canvas.height = Math.ceil(this.height * parentHeight); - _classPrivateMethodGet(this, _updateTransform, _updateTransform2).call(this); -} -function _setScaleFactor2(width, height) { - const padding = _classPrivateMethodGet(this, _getPadding, _getPadding2).call(this); - const scaleFactorW = (width - padding) / _classPrivateFieldGet(this, _baseWidth); - const scaleFactorH = (height - padding) / _classPrivateFieldGet(this, _baseHeight); - this.scaleFactor = Math.min(scaleFactorW, scaleFactorH); -} -function _updateTransform2() { - const padding = _classPrivateMethodGet(this, _getPadding, _getPadding2).call(this) / 2; - this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding); -} -function _buildPath2D(bezier) { - const path2D = new Path2D(); - for (let i = 0, ii = bezier.length; i < ii; i++) { - const [first, control1, control2, second] = bezier[i]; - if (i === 0) { - path2D.moveTo(...first); - } - path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]); - } - return path2D; -} -function _serializePaths2(s, tx, ty, h) { - const NUMBER_OF_POINTS_ON_BEZIER_CURVE = 4; - const paths = []; - const padding = this.thickness / 2; - let buffer, points; - for (const bezier of this.paths) { - buffer = []; - points = []; - for (let i = 0, ii = bezier.length; i < ii; i++) { - const [first, control1, control2, second] = bezier[i]; - const p10 = s * (first[0] + tx) + padding; - const p11 = h - s * (first[1] + ty) - padding; - const p20 = s * (control1[0] + tx) + padding; - const p21 = h - s * (control1[1] + ty) - padding; - const p30 = s * (control2[0] + tx) + padding; - const p31 = h - s * (control2[1] + ty) - padding; - const p40 = s * (second[0] + tx) + padding; - const p41 = h - s * (second[1] + ty) - padding; - if (i === 0) { - buffer.push(p10, p11); - points.push(p10, p11); - } - buffer.push(p20, p21, p30, p31, p40, p41); - _classPrivateMethodGet(this, _extractPointsOnBezier, _extractPointsOnBezier2).call(this, p10, p11, p20, p21, p30, p31, p40, p41, NUMBER_OF_POINTS_ON_BEZIER_CURVE, points); - } - paths.push({ - bezier: buffer, - points - }); - } - return paths; -} -function _extractPointsOnBezier2(p10, p11, p20, p21, p30, p31, p40, p41, n, points) { - if (_classPrivateMethodGet(this, _isAlmostFlat, _isAlmostFlat2).call(this, p10, p11, p20, p21, p30, p31, p40, p41)) { - points.push(p40, p41); - return; - } - for (let i = 1; i < n - 1; i++) { - const t = i / n; - const mt = 1 - t; - let q10 = t * p10 + mt * p20; - let q11 = t * p11 + mt * p21; - let q20 = t * p20 + mt * p30; - let q21 = t * p21 + mt * p31; - const q30 = t * p30 + mt * p40; - const q31 = t * p31 + mt * p41; - q10 = t * q10 + mt * q20; - q11 = t * q11 + mt * q21; - q20 = t * q20 + mt * q30; - q21 = t * q21 + mt * q31; - q10 = t * q10 + mt * q20; - q11 = t * q11 + mt * q21; - points.push(q10, q11); - } - points.push(p40, p41); -} -function _isAlmostFlat2(p10, p11, p20, p21, p30, p31, p40, p41) { - const tol = 10; - const ax = (3 * p20 - 2 * p10 - p40) ** 2; - const ay = (3 * p21 - 2 * p11 - p41) ** 2; - const bx = (3 * p30 - p10 - 2 * p40) ** 2; - const by = (3 * p31 - p11 - 2 * p41) ** 2; - return Math.max(ax, bx) + Math.max(ay, by) <= tol; -} -function _getBbox2() { - let xMin = Infinity; - let xMax = -Infinity; - let yMin = Infinity; - let yMax = -Infinity; - for (const path of this.paths) { - for (const [first, control1, control2, second] of path) { - const bbox = _util.Util.bezierBoundingBox(...first, ...control1, ...control2, ...second); - xMin = Math.min(xMin, bbox[0]); - yMin = Math.min(yMin, bbox[1]); - xMax = Math.max(xMax, bbox[2]); - yMax = Math.max(yMax, bbox[3]); - } - } - return [xMin, yMin, xMax, yMax]; -} -function _getPadding2() { - return _classPrivateFieldGet(this, _disableEditing) ? Math.ceil(this.thickness * this.parent.scaleFactor) : 0; -} -function _fitToContent2() { - let firstTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - if (this.isEmpty()) { - return; - } - if (!_classPrivateFieldGet(this, _disableEditing)) { - _classPrivateMethodGet(this, _redraw, _redraw2).call(this); - return; - } - const bbox = _classPrivateMethodGet(this, _getBbox, _getBbox2).call(this); - const padding = _classPrivateMethodGet(this, _getPadding, _getPadding2).call(this); - _classPrivateFieldSet(this, _baseWidth, Math.max(RESIZER_SIZE, bbox[2] - bbox[0])); - _classPrivateFieldSet(this, _baseHeight, Math.max(RESIZER_SIZE, bbox[3] - bbox[1])); - const width = Math.ceil(padding + _classPrivateFieldGet(this, _baseWidth) * this.scaleFactor); - const height = Math.ceil(padding + _classPrivateFieldGet(this, _baseHeight) * this.scaleFactor); - const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions; - this.width = width / parentWidth; - this.height = height / parentHeight; - _classPrivateFieldSet(this, _aspectRatio, width / height); - _classPrivateMethodGet(this, _setMinDims, _setMinDims2).call(this); - const prevTranslationX = this.translationX; - const prevTranslationY = this.translationY; - this.translationX = -bbox[0]; - this.translationY = -bbox[1]; - _classPrivateMethodGet(this, _setCanvasDims, _setCanvasDims2).call(this); - _classPrivateMethodGet(this, _redraw, _redraw2).call(this); - _classPrivateFieldSet(this, _realWidth, width); - _classPrivateFieldSet(this, _realHeight, height); - this.setDims(width, height); - const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0; - this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding); -} -function _setMinDims2() { - const { - style - } = this.div; - if (_classPrivateFieldGet(this, _aspectRatio) >= 1) { - style.minHeight = `${RESIZER_SIZE}px`; - style.minWidth = `${Math.round(_classPrivateFieldGet(this, _aspectRatio) * RESIZER_SIZE)}px`; - } else { - style.minWidth = `${RESIZER_SIZE}px`; - style.minHeight = `${Math.round(RESIZER_SIZE / _classPrivateFieldGet(this, _aspectRatio))}px`; - } -} -_defineProperty(InkEditor, "_defaultColor", null); -_defineProperty(InkEditor, "_defaultOpacity", 1); -_defineProperty(InkEditor, "_defaultThickness", 1); -_defineProperty(InkEditor, "_l10nPromise", void 0); -_defineProperty(InkEditor, "_type", "ink"); - -/***/ }), -/* 154 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.fitCurve = void 0; -const fitCurve = __w_pdfjs_require__(155); -exports.fitCurve = fitCurve; - -/***/ }), -/* 155 */ -/***/ ((module) => { - -"use strict"; - - -function fitCurve(points, maxError, progressCallback) { - if (!Array.isArray(points)) { - throw new TypeError("First argument should be an array"); - } - points.forEach(point => { - if (!Array.isArray(point) || point.some(item => typeof item !== 'number') || point.length !== points[0].length) { - throw Error("Each point should be an array of numbers. Each point should have the same amount of numbers."); - } - }); - points = points.filter((point, i) => i === 0 || !point.every((val, j) => val === points[i - 1][j])); - if (points.length < 2) { - return []; - } - const len = points.length; - const leftTangent = createTangent(points[1], points[0]); - const rightTangent = createTangent(points[len - 2], points[len - 1]); - return fitCubic(points, leftTangent, rightTangent, maxError, progressCallback); -} -function fitCubic(points, leftTangent, rightTangent, error, progressCallback) { - const MaxIterations = 20; - var bezCurve, u, uPrime, maxError, prevErr, splitPoint, prevSplit, centerVector, toCenterTangent, fromCenterTangent, beziers, dist, i; - if (points.length === 2) { - dist = maths.vectorLen(maths.subtract(points[0], points[1])) / 3.0; - bezCurve = [points[0], maths.addArrays(points[0], maths.mulItems(leftTangent, dist)), maths.addArrays(points[1], maths.mulItems(rightTangent, dist)), points[1]]; - return [bezCurve]; - } - u = chordLengthParameterize(points); - [bezCurve, maxError, splitPoint] = generateAndReport(points, u, u, leftTangent, rightTangent, progressCallback); - if (maxError === 0 || maxError < error) { - return [bezCurve]; - } - if (maxError < error * error) { - uPrime = u; - prevErr = maxError; - prevSplit = splitPoint; - for (i = 0; i < MaxIterations; i++) { - uPrime = reparameterize(bezCurve, points, uPrime); - [bezCurve, maxError, splitPoint] = generateAndReport(points, u, uPrime, leftTangent, rightTangent, progressCallback); - if (maxError < error) { - return [bezCurve]; - } else if (splitPoint === prevSplit) { - let errChange = maxError / prevErr; - if (errChange > .9999 && errChange < 1.0001) { - break; - } - } - prevErr = maxError; - prevSplit = splitPoint; - } - } - beziers = []; - centerVector = maths.subtract(points[splitPoint - 1], points[splitPoint + 1]); - if (centerVector.every(val => val === 0)) { - centerVector = maths.subtract(points[splitPoint - 1], points[splitPoint]); - [centerVector[0], centerVector[1]] = [-centerVector[1], centerVector[0]]; - } - toCenterTangent = maths.normalize(centerVector); - fromCenterTangent = maths.mulItems(toCenterTangent, -1); - beziers = beziers.concat(fitCubic(points.slice(0, splitPoint + 1), leftTangent, toCenterTangent, error, progressCallback)); - beziers = beziers.concat(fitCubic(points.slice(splitPoint), fromCenterTangent, rightTangent, error, progressCallback)); - return beziers; -} -; -function generateAndReport(points, paramsOrig, paramsPrime, leftTangent, rightTangent, progressCallback) { - var bezCurve, maxError, splitPoint; - bezCurve = generateBezier(points, paramsPrime, leftTangent, rightTangent, progressCallback); - [maxError, splitPoint] = computeMaxError(points, bezCurve, paramsOrig); - if (progressCallback) { - progressCallback({ - bez: bezCurve, - points: points, - params: paramsOrig, - maxErr: maxError, - maxPoint: splitPoint - }); - } - return [bezCurve, maxError, splitPoint]; -} -function generateBezier(points, parameters, leftTangent, rightTangent) { - var bezCurve, - A, - a, - C, - X, - det_C0_C1, - det_C0_X, - det_X_C1, - alpha_l, - alpha_r, - epsilon, - segLength, - i, - len, - tmp, - u, - ux, - firstPoint = points[0], - lastPoint = points[points.length - 1]; - bezCurve = [firstPoint, null, null, lastPoint]; - A = maths.zeros_Xx2x2(parameters.length); - for (i = 0, len = parameters.length; i < len; i++) { - u = parameters[i]; - ux = 1 - u; - a = A[i]; - a[0] = maths.mulItems(leftTangent, 3 * u * (ux * ux)); - a[1] = maths.mulItems(rightTangent, 3 * ux * (u * u)); - } - C = [[0, 0], [0, 0]]; - X = [0, 0]; - for (i = 0, len = points.length; i < len; i++) { - u = parameters[i]; - a = A[i]; - C[0][0] += maths.dot(a[0], a[0]); - C[0][1] += maths.dot(a[0], a[1]); - C[1][0] += maths.dot(a[0], a[1]); - C[1][1] += maths.dot(a[1], a[1]); - tmp = maths.subtract(points[i], bezier.q([firstPoint, firstPoint, lastPoint, lastPoint], u)); - X[0] += maths.dot(a[0], tmp); - X[1] += maths.dot(a[1], tmp); - } - det_C0_C1 = C[0][0] * C[1][1] - C[1][0] * C[0][1]; - det_C0_X = C[0][0] * X[1] - C[1][0] * X[0]; - det_X_C1 = X[0] * C[1][1] - X[1] * C[0][1]; - alpha_l = det_C0_C1 === 0 ? 0 : det_X_C1 / det_C0_C1; - alpha_r = det_C0_C1 === 0 ? 0 : det_C0_X / det_C0_C1; - segLength = maths.vectorLen(maths.subtract(firstPoint, lastPoint)); - epsilon = 1.0e-6 * segLength; - if (alpha_l < epsilon || alpha_r < epsilon) { - bezCurve[1] = maths.addArrays(firstPoint, maths.mulItems(leftTangent, segLength / 3.0)); - bezCurve[2] = maths.addArrays(lastPoint, maths.mulItems(rightTangent, segLength / 3.0)); - } else { - bezCurve[1] = maths.addArrays(firstPoint, maths.mulItems(leftTangent, alpha_l)); - bezCurve[2] = maths.addArrays(lastPoint, maths.mulItems(rightTangent, alpha_r)); - } - return bezCurve; -} -; -function reparameterize(bezier, points, parameters) { - return parameters.map((p, i) => newtonRaphsonRootFind(bezier, points[i], p)); -} -; -function newtonRaphsonRootFind(bez, point, u) { - var d = maths.subtract(bezier.q(bez, u), point), - qprime = bezier.qprime(bez, u), - numerator = maths.mulMatrix(d, qprime), - denominator = maths.sum(maths.squareItems(qprime)) + 2 * maths.mulMatrix(d, bezier.qprimeprime(bez, u)); - if (denominator === 0) { - return u; - } else { - return u - numerator / denominator; - } -} -; -function chordLengthParameterize(points) { - var u = [], - currU, - prevU, - prevP; - points.forEach((p, i) => { - currU = i ? prevU + maths.vectorLen(maths.subtract(p, prevP)) : 0; - u.push(currU); - prevU = currU; - prevP = p; - }); - u = u.map(x => x / prevU); - return u; -} -; -function computeMaxError(points, bez, parameters) { - var dist, maxDist, splitPoint, v, i, count, point, t; - maxDist = 0; - splitPoint = Math.floor(points.length / 2); - const t_distMap = mapTtoRelativeDistances(bez, 10); - for (i = 0, count = points.length; i < count; i++) { - point = points[i]; - t = find_t(bez, parameters[i], t_distMap, 10); - v = maths.subtract(bezier.q(bez, t), point); - dist = v[0] * v[0] + v[1] * v[1]; - if (dist > maxDist) { - maxDist = dist; - splitPoint = i; - } - } - return [maxDist, splitPoint]; -} -; -var mapTtoRelativeDistances = function (bez, B_parts) { - var B_t_curr; - var B_t_dist = [0]; - var B_t_prev = bez[0]; - var sumLen = 0; - for (var i = 1; i <= B_parts; i++) { - B_t_curr = bezier.q(bez, i / B_parts); - sumLen += maths.vectorLen(maths.subtract(B_t_curr, B_t_prev)); - B_t_dist.push(sumLen); - B_t_prev = B_t_curr; - } - B_t_dist = B_t_dist.map(x => x / sumLen); - return B_t_dist; -}; -function find_t(bez, param, t_distMap, B_parts) { - if (param < 0) { - return 0; - } - if (param > 1) { - return 1; - } - var lenMax, lenMin, tMax, tMin, t; - for (var i = 1; i <= B_parts; i++) { - if (param <= t_distMap[i]) { - tMin = (i - 1) / B_parts; - tMax = i / B_parts; - lenMin = t_distMap[i - 1]; - lenMax = t_distMap[i]; - t = (param - lenMin) / (lenMax - lenMin) * (tMax - tMin) + tMin; - break; - } - } - return t; -} -function createTangent(pointA, pointB) { - return maths.normalize(maths.subtract(pointA, pointB)); -} -class maths { - static zeros_Xx2x2(x) { - var zs = []; - while (x--) { - zs.push([0, 0]); - } - return zs; - } - static mulItems(items, multiplier) { - return items.map(x => x * multiplier); - } - static mulMatrix(m1, m2) { - return m1.reduce((sum, x1, i) => sum + x1 * m2[i], 0); - } - static subtract(arr1, arr2) { - return arr1.map((x1, i) => x1 - arr2[i]); - } - static addArrays(arr1, arr2) { - return arr1.map((x1, i) => x1 + arr2[i]); - } - static addItems(items, addition) { - return items.map(x => x + addition); - } - static sum(items) { - return items.reduce((sum, x) => sum + x); - } - static dot(m1, m2) { - return maths.mulMatrix(m1, m2); - } - static vectorLen(v) { - return Math.hypot(...v); - } - static divItems(items, divisor) { - return items.map(x => x / divisor); - } - static squareItems(items) { - return items.map(x => x * x); - } - static normalize(v) { - return this.divItems(v, this.vectorLen(v)); - } -} -class bezier { - static q(ctrlPoly, t) { - var tx = 1.0 - t; - var pA = maths.mulItems(ctrlPoly[0], tx * tx * tx), - pB = maths.mulItems(ctrlPoly[1], 3 * tx * tx * t), - pC = maths.mulItems(ctrlPoly[2], 3 * tx * t * t), - pD = maths.mulItems(ctrlPoly[3], t * t * t); - return maths.addArrays(maths.addArrays(pA, pB), maths.addArrays(pC, pD)); - } - static qprime(ctrlPoly, t) { - var tx = 1.0 - t; - var pA = maths.mulItems(maths.subtract(ctrlPoly[1], ctrlPoly[0]), 3 * tx * tx), - pB = maths.mulItems(maths.subtract(ctrlPoly[2], ctrlPoly[1]), 6 * tx * t), - pC = maths.mulItems(maths.subtract(ctrlPoly[3], ctrlPoly[2]), 3 * t * t); - return maths.addArrays(maths.addArrays(pA, pB), pC); - } - static qprimeprime(ctrlPoly, t) { - return maths.addArrays(maths.mulItems(maths.addArrays(maths.subtract(ctrlPoly[2], maths.mulItems(ctrlPoly[1], 2)), ctrlPoly[0]), 6 * (1.0 - t)), maths.mulItems(maths.addArrays(maths.subtract(ctrlPoly[3], maths.mulItems(ctrlPoly[2], 2)), ctrlPoly[1]), 6 * t)); - } -} -module.exports = fitCurve; -module.exports.fitCubic = fitCubic; -module.exports.createTangent = createTangent; - -/***/ }), -/* 156 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.AnnotationLayer = void 0; -var _util = __w_pdfjs_require__(1); -var _display_utils = __w_pdfjs_require__(137); -var _annotation_storage = __w_pdfjs_require__(134); -var _scripting_utils = __w_pdfjs_require__(157); -var _xfa_layer = __w_pdfjs_require__(158); -function _classStaticPrivateMethodGet(receiver, classConstructor, method) { _classCheckPrivateStaticAccess(receiver, classConstructor); return method; } -function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } } -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } -function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } -function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } -const DEFAULT_TAB_INDEX = 1000; -const DEFAULT_FONT_SIZE = 9; -const GetElementsByNameSet = new WeakSet(); -function getRectDims(rect) { - return { - width: rect[2] - rect[0], - height: rect[3] - rect[1] - }; -} -class AnnotationElementFactory { - static create(parameters) { - const subtype = parameters.data.annotationType; - switch (subtype) { - case _util.AnnotationType.LINK: - return new LinkAnnotationElement(parameters); - case _util.AnnotationType.TEXT: - return new TextAnnotationElement(parameters); - case _util.AnnotationType.WIDGET: - const fieldType = parameters.data.fieldType; - switch (fieldType) { - case "Tx": - return new TextWidgetAnnotationElement(parameters); - case "Btn": - if (parameters.data.radioButton) { - return new RadioButtonWidgetAnnotationElement(parameters); - } else if (parameters.data.checkBox) { - return new CheckboxWidgetAnnotationElement(parameters); - } - return new PushButtonWidgetAnnotationElement(parameters); - case "Ch": - return new ChoiceWidgetAnnotationElement(parameters); - } - return new WidgetAnnotationElement(parameters); - case _util.AnnotationType.POPUP: - return new PopupAnnotationElement(parameters); - case _util.AnnotationType.FREETEXT: - return new FreeTextAnnotationElement(parameters); - case _util.AnnotationType.LINE: - return new LineAnnotationElement(parameters); - case _util.AnnotationType.SQUARE: - return new SquareAnnotationElement(parameters); - case _util.AnnotationType.CIRCLE: - return new CircleAnnotationElement(parameters); - case _util.AnnotationType.POLYLINE: - return new PolylineAnnotationElement(parameters); - case _util.AnnotationType.CARET: - return new CaretAnnotationElement(parameters); - case _util.AnnotationType.INK: - return new InkAnnotationElement(parameters); - case _util.AnnotationType.POLYGON: - return new PolygonAnnotationElement(parameters); - case _util.AnnotationType.HIGHLIGHT: - return new HighlightAnnotationElement(parameters); - case _util.AnnotationType.UNDERLINE: - return new UnderlineAnnotationElement(parameters); - case _util.AnnotationType.SQUIGGLY: - return new SquigglyAnnotationElement(parameters); - case _util.AnnotationType.STRIKEOUT: - return new StrikeOutAnnotationElement(parameters); - case _util.AnnotationType.STAMP: - return new StampAnnotationElement(parameters); - case _util.AnnotationType.FILEATTACHMENT: - return new FileAttachmentAnnotationElement(parameters); - default: - return new AnnotationElement(parameters); - } - } -} -class AnnotationElement { - constructor(parameters) { - let { - isRenderable = false, - ignoreBorder = false, - createQuadrilaterals = false - } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.isRenderable = isRenderable; - this.data = parameters.data; - this.layer = parameters.layer; - this.page = parameters.page; - this.viewport = parameters.viewport; - this.linkService = parameters.linkService; - this.downloadManager = parameters.downloadManager; - this.imageResourcesPath = parameters.imageResourcesPath; - this.renderForms = parameters.renderForms; - this.svgFactory = parameters.svgFactory; - this.annotationStorage = parameters.annotationStorage; - this.enableScripting = parameters.enableScripting; - this.hasJSActions = parameters.hasJSActions; - this._fieldObjects = parameters.fieldObjects; - this._mouseState = parameters.mouseState; - if (isRenderable) { - this.container = this._createContainer(ignoreBorder); - } - if (createQuadrilaterals) { - this.quadrilaterals = this._createQuadrilaterals(ignoreBorder); - } - } - _createContainer() { - let ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - const data = this.data, - page = this.page, - viewport = this.viewport; - const container = document.createElement("section"); - const { - width, - height - } = getRectDims(data.rect); - const [pageLLx, pageLLy, pageURx, pageURy] = viewport.viewBox; - const pageWidth = pageURx - pageLLx; - const pageHeight = pageURy - pageLLy; - container.setAttribute("data-annotation-id", data.id); - const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]); - if (!ignoreBorder && data.borderStyle.width > 0) { - container.style.borderWidth = `${data.borderStyle.width}px`; - const horizontalRadius = data.borderStyle.horizontalCornerRadius; - const verticalRadius = data.borderStyle.verticalCornerRadius; - if (horizontalRadius > 0 || verticalRadius > 0) { - const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`; - container.style.borderRadius = radius; - } else if (this instanceof RadioButtonWidgetAnnotationElement) { - const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`; - container.style.borderRadius = radius; - } - switch (data.borderStyle.style) { - case _util.AnnotationBorderStyleType.SOLID: - container.style.borderStyle = "solid"; - break; - case _util.AnnotationBorderStyleType.DASHED: - container.style.borderStyle = "dashed"; - break; - case _util.AnnotationBorderStyleType.BEVELED: - (0, _util.warn)("Unimplemented border style: beveled"); - break; - case _util.AnnotationBorderStyleType.INSET: - (0, _util.warn)("Unimplemented border style: inset"); - break; - case _util.AnnotationBorderStyleType.UNDERLINE: - container.style.borderBottomStyle = "solid"; - break; - default: - break; - } - const borderColor = data.borderColor || null; - if (borderColor) { - container.style.borderColor = _util.Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0); - } else { - container.style.borderWidth = 0; - } - } - container.style.left = `${100 * (rect[0] - pageLLx) / pageWidth}%`; - container.style.top = `${100 * (rect[1] - pageLLy) / pageHeight}%`; - const { - rotation - } = data; - if (data.hasOwnCanvas || rotation === 0) { - container.style.width = `${100 * width / pageWidth}%`; - container.style.height = `${100 * height / pageHeight}%`; - } else { - this.setRotation(rotation, container); - } - return container; - } - setRotation(angle) { - let container = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.container; - const [pageLLx, pageLLy, pageURx, pageURy] = this.viewport.viewBox; - const pageWidth = pageURx - pageLLx; - const pageHeight = pageURy - pageLLy; - const { - width, - height - } = getRectDims(this.data.rect); - let elementWidth, elementHeight; - if (angle % 180 === 0) { - elementWidth = 100 * width / pageWidth; - elementHeight = 100 * height / pageHeight; - } else { - elementWidth = 100 * height / pageWidth; - elementHeight = 100 * width / pageHeight; - } - container.style.width = `${elementWidth}%`; - container.style.height = `${elementHeight}%`; - container.setAttribute("data-main-rotation", (360 - angle) % 360); - } - get _commonActions() { - const setColor = (jsName, styleName, event) => { - const color = event.detail[jsName]; - event.target.style[styleName] = _scripting_utils.ColorConverters[`${color[0]}_HTML`](color.slice(1)); - }; - return (0, _util.shadow)(this, "_commonActions", { - display: event => { - const hidden = event.detail.display % 2 === 1; - this.container.style.visibility = hidden ? "hidden" : "visible"; - this.annotationStorage.setValue(this.data.id, { - hidden, - print: event.detail.display === 0 || event.detail.display === 3 - }); - }, - print: event => { - this.annotationStorage.setValue(this.data.id, { - print: event.detail.print - }); - }, - hidden: event => { - this.container.style.visibility = event.detail.hidden ? "hidden" : "visible"; - this.annotationStorage.setValue(this.data.id, { - hidden: event.detail.hidden - }); - }, - focus: event => { - setTimeout(() => event.target.focus({ - preventScroll: false - }), 0); - }, - userName: event => { - event.target.title = event.detail.userName; - }, - readonly: event => { - if (event.detail.readonly) { - event.target.setAttribute("readonly", ""); - } else { - event.target.removeAttribute("readonly"); - } - }, - required: event => { - this._setRequired(event.target, event.detail.required); - }, - bgColor: event => { - setColor("bgColor", "backgroundColor", event); - }, - fillColor: event => { - setColor("fillColor", "backgroundColor", event); - }, - fgColor: event => { - setColor("fgColor", "color", event); - }, - textColor: event => { - setColor("textColor", "color", event); - }, - borderColor: event => { - setColor("borderColor", "borderColor", event); - }, - strokeColor: event => { - setColor("strokeColor", "borderColor", event); - }, - rotation: event => { - const angle = event.detail.rotation; - this.setRotation(angle); - this.annotationStorage.setValue(this.data.id, { - rotation: angle - }); - } - }); - } - _dispatchEventFromSandbox(actions, jsEvent) { - const commonActions = this._commonActions; - for (const name of Object.keys(jsEvent.detail)) { - const action = actions[name] || commonActions[name]; - action === null || action === void 0 ? void 0 : action(jsEvent); - } - } - _setDefaultPropertiesFromJS(element) { - if (!this.enableScripting) { - return; - } - const storedData = this.annotationStorage.getRawValue(this.data.id); - if (!storedData) { - return; - } - const commonActions = this._commonActions; - for (const [actionName, detail] of Object.entries(storedData)) { - const action = commonActions[actionName]; - if (action) { - const eventProxy = { - detail: { - [actionName]: detail - }, - target: element - }; - action(eventProxy); - delete storedData[actionName]; - } - } - } - _createQuadrilaterals() { - let ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - if (!this.data.quadPoints) { - return null; - } - const quadrilaterals = []; - const savedRect = this.data.rect; - for (const quadPoint of this.data.quadPoints) { - this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y]; - quadrilaterals.push(this._createContainer(ignoreBorder)); - } - this.data.rect = savedRect; - return quadrilaterals; - } - _createPopup(trigger, data) { - let container = this.container; - if (this.quadrilaterals) { - trigger = trigger || this.quadrilaterals; - container = this.quadrilaterals[0]; - } - if (!trigger) { - trigger = document.createElement("div"); - trigger.className = "popupTriggerArea"; - container.append(trigger); - } - const popupElement = new PopupElement({ - container, - trigger, - color: data.color, - titleObj: data.titleObj, - modificationDate: data.modificationDate, - contentsObj: data.contentsObj, - richText: data.richText, - hideWrapper: true - }); - const popup = popupElement.render(); - popup.style.left = "100%"; - container.append(popup); - } - _renderQuadrilaterals(className) { - for (const quadrilateral of this.quadrilaterals) { - quadrilateral.className = className; - } - return this.quadrilaterals; - } - render() { - (0, _util.unreachable)("Abstract method `AnnotationElement.render` called"); - } - _getElementsByName(name) { - let skipId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - const fields = []; - if (this._fieldObjects) { - const fieldObj = this._fieldObjects[name]; - if (fieldObj) { - for (const { - page, - id, - exportValues - } of fieldObj) { - if (page === -1) { - continue; - } - if (id === skipId) { - continue; - } - const exportValue = typeof exportValues === "string" ? exportValues : null; - const domElement = document.querySelector(`[data-element-id="${id}"]`); - if (domElement && !GetElementsByNameSet.has(domElement)) { - (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`); - continue; - } - fields.push({ - id, - exportValue, - domElement - }); - } - } - return fields; - } - for (const domElement of document.getElementsByName(name)) { - const { - exportValue - } = domElement; - const id = domElement.getAttribute("data-element-id"); - if (id === skipId) { - continue; - } - if (!GetElementsByNameSet.has(domElement)) { - continue; - } - fields.push({ - id, - exportValue, - domElement - }); - } - return fields; - } - static get platform() { - const platform = typeof navigator !== "undefined" ? navigator.platform : ""; - return (0, _util.shadow)(this, "platform", { - isWin: platform.includes("Win"), - isMac: platform.includes("Mac") - }); - } -} -var _bindSetOCGState = /*#__PURE__*/new WeakSet(); -class LinkAnnotationElement extends AnnotationElement { - constructor(parameters) { - let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - super(parameters, { - isRenderable: true, - ignoreBorder: !!(options !== null && options !== void 0 && options.ignoreBorder), - createQuadrilaterals: true - }); - _classPrivateMethodInitSpec(this, _bindSetOCGState); - this.isTooltipOnly = parameters.data.isTooltipOnly; - } - render() { - const { - data, - linkService - } = this; - const link = document.createElement("a"); - link.setAttribute("data-element-id", data.id); - let isBound = false; - if (data.url) { - linkService.addLinkAttributes(link, data.url, data.newWindow); - isBound = true; - } else if (data.action) { - this._bindNamedAction(link, data.action); - isBound = true; - } else if (data.attachment) { - this._bindAttachment(link, data.attachment); - isBound = true; - } else if (data.setOCGState) { - _classPrivateMethodGet(this, _bindSetOCGState, _bindSetOCGState2).call(this, link, data.setOCGState); - isBound = true; - } else if (data.dest) { - this._bindLink(link, data.dest); - isBound = true; - } else { - if (data.actions && (data.actions.Action || data.actions["Mouse Up"] || data.actions["Mouse Down"]) && this.enableScripting && this.hasJSActions) { - this._bindJSAction(link, data); - isBound = true; - } - if (data.resetForm) { - this._bindResetFormAction(link, data.resetForm); - isBound = true; - } else if (this.isTooltipOnly && !isBound) { - this._bindLink(link, ""); - isBound = true; - } - } - if (this.quadrilaterals) { - return this._renderQuadrilaterals("linkAnnotation").map((quadrilateral, index) => { - const linkElement = index === 0 ? link : link.cloneNode(); - quadrilateral.append(linkElement); - return quadrilateral; - }); - } - this.container.className = "linkAnnotation"; - if (isBound) { - this.container.append(link); - } - return this.container; - } - _bindLink(link, destination) { - link.href = this.linkService.getDestinationHash(destination); - link.onclick = () => { - if (destination) { - this.linkService.goToDestination(destination); - } - return false; - }; - if (destination || destination === "") { - link.className = "internalLink"; - } - } - _bindNamedAction(link, action) { - link.href = this.linkService.getAnchorUrl(""); - link.onclick = () => { - this.linkService.executeNamedAction(action); - return false; - }; - link.className = "internalLink"; - } - _bindAttachment(link, attachment) { - link.href = this.linkService.getAnchorUrl(""); - link.onclick = () => { - var _this$downloadManager; - (_this$downloadManager = this.downloadManager) === null || _this$downloadManager === void 0 ? void 0 : _this$downloadManager.openOrDownloadData(this.container, attachment.content, attachment.filename); - return false; - }; - link.className = "internalLink"; - } - _bindJSAction(link, data) { - link.href = this.linkService.getAnchorUrl(""); - const map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]); - for (const name of Object.keys(data.actions)) { - const jsName = map.get(name); - if (!jsName) { - continue; - } - link[jsName] = () => { - var _this$linkService$eve; - (_this$linkService$eve = this.linkService.eventBus) === null || _this$linkService$eve === void 0 ? void 0 : _this$linkService$eve.dispatch("dispatcheventinsandbox", { - source: this, - detail: { - id: data.id, - name - } - }); - return false; - }; - } - if (!link.onclick) { - link.onclick = () => false; - } - link.className = "internalLink"; - } - _bindResetFormAction(link, resetForm) { - const otherClickAction = link.onclick; - if (!otherClickAction) { - link.href = this.linkService.getAnchorUrl(""); - } - link.className = "internalLink"; - if (!this._fieldObjects) { - (0, _util.warn)(`_bindResetFormAction - "resetForm" action not supported, ` + "ensure that the `fieldObjects` parameter is provided."); - if (!otherClickAction) { - link.onclick = () => false; - } - return; - } - link.onclick = () => { - otherClickAction === null || otherClickAction === void 0 ? void 0 : otherClickAction(); - const { - fields: resetFormFields, - refs: resetFormRefs, - include - } = resetForm; - const allFields = []; - if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) { - const fieldIds = new Set(resetFormRefs); - for (const fieldName of resetFormFields) { - const fields = this._fieldObjects[fieldName] || []; - for (const { - id - } of fields) { - fieldIds.add(id); - } - } - for (const fields of Object.values(this._fieldObjects)) { - for (const field of fields) { - if (fieldIds.has(field.id) === include) { - allFields.push(field); - } - } - } - } else { - for (const fields of Object.values(this._fieldObjects)) { - allFields.push(...fields); - } - } - const storage = this.annotationStorage; - const allIds = []; - for (const field of allFields) { - const { - id - } = field; - allIds.push(id); - switch (field.type) { - case "text": - { - const value = field.defaultValue || ""; - storage.setValue(id, { - value - }); - break; - } - case "checkbox": - case "radiobutton": - { - const value = field.defaultValue === field.exportValues; - storage.setValue(id, { - value - }); - break; - } - case "combobox": - case "listbox": - { - const value = field.defaultValue || ""; - storage.setValue(id, { - value - }); - break; - } - default: - continue; - } - const domElement = document.querySelector(`[data-element-id="${id}"]`); - if (!domElement) { - continue; - } else if (!GetElementsByNameSet.has(domElement)) { - (0, _util.warn)(`_bindResetFormAction - element not allowed: ${id}`); - continue; - } - domElement.dispatchEvent(new Event("resetform")); - } - if (this.enableScripting) { - var _this$linkService$eve2; - (_this$linkService$eve2 = this.linkService.eventBus) === null || _this$linkService$eve2 === void 0 ? void 0 : _this$linkService$eve2.dispatch("dispatcheventinsandbox", { - source: this, - detail: { - id: "app", - ids: allIds, - name: "ResetForm" - } - }); - } - return false; - }; - } -} -function _bindSetOCGState2(link, action) { - link.href = this.linkService.getAnchorUrl(""); - link.onclick = () => { - this.linkService.executeSetOCGState(action); - return false; - }; - link.className = "internalLink"; -} -class TextAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl, _parameters$data$cont, _parameters$data$rich; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl = parameters.data.titleObj) !== null && _parameters$data$titl !== void 0 && _parameters$data$titl.str || (_parameters$data$cont = parameters.data.contentsObj) !== null && _parameters$data$cont !== void 0 && _parameters$data$cont.str || (_parameters$data$rich = parameters.data.richText) !== null && _parameters$data$rich !== void 0 && _parameters$data$rich.str); - super(parameters, { - isRenderable - }); - } - render() { - this.container.className = "textAnnotation"; - const image = document.createElement("img"); - image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg"; - image.alt = "[{{type}} Annotation]"; - image.dataset.l10nId = "text_annotation_type"; - image.dataset.l10nArgs = JSON.stringify({ - type: this.data.name - }); - if (!this.data.hasPopup) { - this._createPopup(image, this.data); - } - this.container.append(image); - return this.container; - } -} -class WidgetAnnotationElement extends AnnotationElement { - render() { - if (this.data.alternativeText) { - this.container.title = this.data.alternativeText; - } - return this.container; - } - _getKeyModifier(event) { - const { - isWin, - isMac - } = AnnotationElement.platform; - return isWin && event.ctrlKey || isMac && event.metaKey; - } - _setEventListener(element, baseName, eventName, valueGetter) { - if (baseName.includes("mouse")) { - element.addEventListener(baseName, event => { - var _this$linkService$eve3; - (_this$linkService$eve3 = this.linkService.eventBus) === null || _this$linkService$eve3 === void 0 ? void 0 : _this$linkService$eve3.dispatch("dispatcheventinsandbox", { - source: this, - detail: { - id: this.data.id, - name: eventName, - value: valueGetter(event), - shift: event.shiftKey, - modifier: this._getKeyModifier(event) - } - }); - }); - } else { - element.addEventListener(baseName, event => { - var _this$linkService$eve4; - (_this$linkService$eve4 = this.linkService.eventBus) === null || _this$linkService$eve4 === void 0 ? void 0 : _this$linkService$eve4.dispatch("dispatcheventinsandbox", { - source: this, - detail: { - id: this.data.id, - name: eventName, - value: valueGetter(event) - } - }); - }); - } - } - _setEventListeners(element, names, getter) { - for (const [baseName, eventName] of names) { - var _this$data$actions; - if (eventName === "Action" || (_this$data$actions = this.data.actions) !== null && _this$data$actions !== void 0 && _this$data$actions[eventName]) { - this._setEventListener(element, baseName, eventName, getter); - } - } - } - _setBackgroundColor(element) { - const color = this.data.backgroundColor || null; - element.style.backgroundColor = color === null ? "transparent" : _util.Util.makeHexColor(color[0], color[1], color[2]); - } - _setTextStyle(element) { - const TEXT_ALIGNMENT = ["left", "center", "right"]; - const { - fontColor - } = this.data.defaultAppearanceData; - const fontSize = this.data.defaultAppearanceData.fontSize || DEFAULT_FONT_SIZE; - const style = element.style; - let computedFontSize; - const BORDER_SIZE = 2; - const roundToOneDecimal = x => Math.round(10 * x) / 10; - if (this.data.multiLine) { - const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE); - const numberOfLines = Math.round(height / (_util.LINE_FACTOR * fontSize)) || 1; - const lineHeight = height / numberOfLines; - computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / _util.LINE_FACTOR)); - } else { - const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE); - computedFontSize = Math.min(fontSize, roundToOneDecimal(height / _util.LINE_FACTOR)); - } - style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`; - style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]); - if (this.data.textAlignment !== null) { - style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment]; - } - } - _setRequired(element, isRequired) { - if (isRequired) { - element.setAttribute("required", true); - } else { - element.removeAttribute("required"); - } - element.setAttribute("aria-required", isRequired); - } -} -class TextWidgetAnnotationElement extends WidgetAnnotationElement { - constructor(parameters) { - const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue; - super(parameters, { - isRenderable - }); - } - setPropertyOnSiblings(base, key, value, keyInStorage) { - const storage = this.annotationStorage; - for (const element of this._getElementsByName(base.name, base.id)) { - if (element.domElement) { - element.domElement[key] = value; - } - storage.setValue(element.id, { - [keyInStorage]: value - }); - } - } - render() { - const storage = this.annotationStorage; - const id = this.data.id; - this.container.className = "textWidgetAnnotation"; - let element = null; - if (this.renderForms) { - const storedData = storage.getValue(id, { - value: this.data.fieldValue - }); - let textContent = storedData.formattedValue || storedData.value || ""; - const maxLen = storage.getValue(id, { - charLimit: this.data.maxLen - }).charLimit; - if (maxLen && textContent.length > maxLen) { - textContent = textContent.slice(0, maxLen); - } - const elementData = { - userValue: textContent, - formattedValue: null, - valueOnFocus: "" - }; - if (this.data.multiLine) { - element = document.createElement("textarea"); - element.textContent = textContent; - if (this.data.doNotScroll) { - element.style.overflowY = "hidden"; - } - } else { - element = document.createElement("input"); - element.type = "text"; - element.setAttribute("value", textContent); - if (this.data.doNotScroll) { - element.style.overflowX = "hidden"; - } - } - GetElementsByNameSet.add(element); - element.setAttribute("data-element-id", id); - element.disabled = this.data.readOnly; - element.name = this.data.fieldName; - element.tabIndex = DEFAULT_TAB_INDEX; - this._setRequired(element, this.data.required); - if (maxLen) { - element.maxLength = maxLen; - } - element.addEventListener("input", event => { - storage.setValue(id, { - value: event.target.value - }); - this.setPropertyOnSiblings(element, "value", event.target.value, "value"); - }); - element.addEventListener("resetform", event => { - const defaultValue = this.data.defaultFieldValue ?? ""; - element.value = elementData.userValue = defaultValue; - elementData.formattedValue = null; - }); - let blurListener = event => { - const { - formattedValue - } = elementData; - if (formattedValue !== null && formattedValue !== undefined) { - event.target.value = formattedValue; - } - event.target.scrollLeft = 0; - }; - if (this.enableScripting && this.hasJSActions) { - var _this$data$actions2; - element.addEventListener("focus", event => { - if (elementData.userValue) { - event.target.value = elementData.userValue; - } - elementData.valueOnFocus = event.target.value; - }); - element.addEventListener("updatefromsandbox", jsEvent => { - const actions = { - value(event) { - elementData.userValue = event.detail.value ?? ""; - storage.setValue(id, { - value: elementData.userValue.toString() - }); - event.target.value = elementData.userValue; - }, - formattedValue(event) { - const { - formattedValue - } = event.detail; - elementData.formattedValue = formattedValue; - if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) { - event.target.value = formattedValue; - } - storage.setValue(id, { - formattedValue - }); - }, - selRange(event) { - event.target.setSelectionRange(...event.detail.selRange); - }, - charLimit: event => { - var _this$linkService$eve5; - const { - charLimit - } = event.detail; - const { - target - } = event; - if (charLimit === 0) { - target.removeAttribute("maxLength"); - return; - } - target.setAttribute("maxLength", charLimit); - let value = elementData.userValue; - if (!value || value.length <= charLimit) { - return; - } - value = value.slice(0, charLimit); - target.value = elementData.userValue = value; - storage.setValue(id, { - value - }); - (_this$linkService$eve5 = this.linkService.eventBus) === null || _this$linkService$eve5 === void 0 ? void 0 : _this$linkService$eve5.dispatch("dispatcheventinsandbox", { - source: this, - detail: { - id, - name: "Keystroke", - value, - willCommit: true, - commitKey: 1, - selStart: target.selectionStart, - selEnd: target.selectionEnd - } - }); - } - }; - this._dispatchEventFromSandbox(actions, jsEvent); - }); - element.addEventListener("keydown", event => { - var _this$linkService$eve6; - let commitKey = -1; - if (event.key === "Escape") { - commitKey = 0; - } else if (event.key === "Enter" && !this.data.multiLine) { - commitKey = 2; - } else if (event.key === "Tab") { - commitKey = 3; - } - if (commitKey === -1) { - return; - } - const { - value - } = event.target; - if (elementData.valueOnFocus === value) { - return; - } - elementData.userValue = value; - (_this$linkService$eve6 = this.linkService.eventBus) === null || _this$linkService$eve6 === void 0 ? void 0 : _this$linkService$eve6.dispatch("dispatcheventinsandbox", { - source: this, - detail: { - id, - name: "Keystroke", - value, - willCommit: true, - commitKey, - selStart: event.target.selectionStart, - selEnd: event.target.selectionEnd - } - }); - }); - const _blurListener = blurListener; - blurListener = null; - element.addEventListener("blur", event => { - const { - value - } = event.target; - elementData.userValue = value; - if (this._mouseState.isDown && elementData.valueOnFocus !== value) { - var _this$linkService$eve7; - (_this$linkService$eve7 = this.linkService.eventBus) === null || _this$linkService$eve7 === void 0 ? void 0 : _this$linkService$eve7.dispatch("dispatcheventinsandbox", { - source: this, - detail: { - id, - name: "Keystroke", - value, - willCommit: true, - commitKey: 1, - selStart: event.target.selectionStart, - selEnd: event.target.selectionEnd - } - }); - } - _blurListener(event); - }); - if ((_this$data$actions2 = this.data.actions) !== null && _this$data$actions2 !== void 0 && _this$data$actions2.Keystroke) { - element.addEventListener("beforeinput", event => { - var _this$linkService$eve8; - const { - data, - target - } = event; - const { - value, - selectionStart, - selectionEnd - } = target; - let selStart = selectionStart, - selEnd = selectionEnd; - switch (event.inputType) { - case "deleteWordBackward": - { - const match = value.substring(0, selectionStart).match(/\w*[^\w]*$/); - if (match) { - selStart -= match[0].length; - } - break; - } - case "deleteWordForward": - { - const match = value.substring(selectionStart).match(/^[^\w]*\w*/); - if (match) { - selEnd += match[0].length; - } - break; - } - case "deleteContentBackward": - if (selectionStart === selectionEnd) { - selStart -= 1; - } - break; - case "deleteContentForward": - if (selectionStart === selectionEnd) { - selEnd += 1; - } - break; - } - event.preventDefault(); - (_this$linkService$eve8 = this.linkService.eventBus) === null || _this$linkService$eve8 === void 0 ? void 0 : _this$linkService$eve8.dispatch("dispatcheventinsandbox", { - source: this, - detail: { - id, - name: "Keystroke", - value, - change: data || "", - willCommit: false, - selStart, - selEnd - } - }); - }); - } - this._setEventListeners(element, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.value); - } - if (blurListener) { - element.addEventListener("blur", blurListener); - } - if (this.data.comb) { - const fieldWidth = this.data.rect[2] - this.data.rect[0]; - const combWidth = fieldWidth / maxLen; - element.classList.add("comb"); - element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`; - } - } else { - element = document.createElement("div"); - element.textContent = this.data.fieldValue; - element.style.verticalAlign = "middle"; - element.style.display = "table-cell"; - } - this._setTextStyle(element); - this._setBackgroundColor(element); - this._setDefaultPropertiesFromJS(element); - this.container.append(element); - return this.container; - } -} -class CheckboxWidgetAnnotationElement extends WidgetAnnotationElement { - constructor(parameters) { - super(parameters, { - isRenderable: parameters.renderForms - }); - } - render() { - const storage = this.annotationStorage; - const data = this.data; - const id = data.id; - let value = storage.getValue(id, { - value: data.exportValue === data.fieldValue - }).value; - if (typeof value === "string") { - value = value !== "Off"; - storage.setValue(id, { - value - }); - } - this.container.className = "buttonWidgetAnnotation checkBox"; - const element = document.createElement("input"); - GetElementsByNameSet.add(element); - element.setAttribute("data-element-id", id); - element.disabled = data.readOnly; - this._setRequired(element, this.data.required); - element.type = "checkbox"; - element.name = data.fieldName; - if (value) { - element.setAttribute("checked", true); - } - element.setAttribute("exportValue", data.exportValue); - element.tabIndex = DEFAULT_TAB_INDEX; - element.addEventListener("change", event => { - const { - name, - checked - } = event.target; - for (const checkbox of this._getElementsByName(name, id)) { - const curChecked = checked && checkbox.exportValue === data.exportValue; - if (checkbox.domElement) { - checkbox.domElement.checked = curChecked; - } - storage.setValue(checkbox.id, { - value: curChecked - }); - } - storage.setValue(id, { - value: checked - }); - }); - element.addEventListener("resetform", event => { - const defaultValue = data.defaultFieldValue || "Off"; - event.target.checked = defaultValue === data.exportValue; - }); - if (this.enableScripting && this.hasJSActions) { - element.addEventListener("updatefromsandbox", jsEvent => { - const actions = { - value(event) { - event.target.checked = event.detail.value !== "Off"; - storage.setValue(id, { - value: event.target.checked - }); - } - }; - this._dispatchEventFromSandbox(actions, jsEvent); - }); - this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked); - } - this._setBackgroundColor(element); - this._setDefaultPropertiesFromJS(element); - this.container.append(element); - return this.container; - } -} -class RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement { - constructor(parameters) { - super(parameters, { - isRenderable: parameters.renderForms - }); - } - render() { - this.container.className = "buttonWidgetAnnotation radioButton"; - const storage = this.annotationStorage; - const data = this.data; - const id = data.id; - let value = storage.getValue(id, { - value: data.fieldValue === data.buttonValue - }).value; - if (typeof value === "string") { - value = value !== data.buttonValue; - storage.setValue(id, { - value - }); - } - const element = document.createElement("input"); - GetElementsByNameSet.add(element); - element.setAttribute("data-element-id", id); - element.disabled = data.readOnly; - this._setRequired(element, this.data.required); - element.type = "radio"; - element.name = data.fieldName; - if (value) { - element.setAttribute("checked", true); - } - element.tabIndex = DEFAULT_TAB_INDEX; - element.addEventListener("change", event => { - const { - name, - checked - } = event.target; - for (const radio of this._getElementsByName(name, id)) { - storage.setValue(radio.id, { - value: false - }); - } - storage.setValue(id, { - value: checked - }); - }); - element.addEventListener("resetform", event => { - const defaultValue = data.defaultFieldValue; - event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue; - }); - if (this.enableScripting && this.hasJSActions) { - const pdfButtonValue = data.buttonValue; - element.addEventListener("updatefromsandbox", jsEvent => { - const actions = { - value: event => { - const checked = pdfButtonValue === event.detail.value; - for (const radio of this._getElementsByName(event.target.name)) { - const curChecked = checked && radio.id === id; - if (radio.domElement) { - radio.domElement.checked = curChecked; - } - storage.setValue(radio.id, { - value: curChecked - }); - } - } - }; - this._dispatchEventFromSandbox(actions, jsEvent); - }); - this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked); - } - this._setBackgroundColor(element); - this._setDefaultPropertiesFromJS(element); - this.container.append(element); - return this.container; - } -} -class PushButtonWidgetAnnotationElement extends LinkAnnotationElement { - constructor(parameters) { - super(parameters, { - ignoreBorder: parameters.data.hasAppearance - }); - } - render() { - const container = super.render(); - container.className = "buttonWidgetAnnotation pushButton"; - if (this.data.alternativeText) { - container.title = this.data.alternativeText; - } - const linkElement = container.lastChild; - if (this.enableScripting && this.hasJSActions && linkElement) { - this._setDefaultPropertiesFromJS(linkElement); - linkElement.addEventListener("updatefromsandbox", jsEvent => { - this._dispatchEventFromSandbox({}, jsEvent); - }); - } - return container; - } -} -class ChoiceWidgetAnnotationElement extends WidgetAnnotationElement { - constructor(parameters) { - super(parameters, { - isRenderable: parameters.renderForms - }); - } - render() { - this.container.className = "choiceWidgetAnnotation"; - const storage = this.annotationStorage; - const id = this.data.id; - const storedData = storage.getValue(id, { - value: this.data.fieldValue - }); - const selectElement = document.createElement("select"); - GetElementsByNameSet.add(selectElement); - selectElement.setAttribute("data-element-id", id); - selectElement.disabled = this.data.readOnly; - this._setRequired(selectElement, this.data.required); - selectElement.name = this.data.fieldName; - selectElement.tabIndex = DEFAULT_TAB_INDEX; - let addAnEmptyEntry = this.data.combo && this.data.options.length > 0; - if (!this.data.combo) { - selectElement.size = this.data.options.length; - if (this.data.multiSelect) { - selectElement.multiple = true; - } - } - selectElement.addEventListener("resetform", event => { - const defaultValue = this.data.defaultFieldValue; - for (const option of selectElement.options) { - option.selected = option.value === defaultValue; - } - }); - for (const option of this.data.options) { - const optionElement = document.createElement("option"); - optionElement.textContent = option.displayValue; - optionElement.value = option.exportValue; - if (storedData.value.includes(option.exportValue)) { - optionElement.setAttribute("selected", true); - addAnEmptyEntry = false; - } - selectElement.append(optionElement); - } - let removeEmptyEntry = null; - if (addAnEmptyEntry) { - const noneOptionElement = document.createElement("option"); - noneOptionElement.value = " "; - noneOptionElement.setAttribute("hidden", true); - noneOptionElement.setAttribute("selected", true); - selectElement.prepend(noneOptionElement); - removeEmptyEntry = () => { - noneOptionElement.remove(); - selectElement.removeEventListener("input", removeEmptyEntry); - removeEmptyEntry = null; - }; - selectElement.addEventListener("input", removeEmptyEntry); - } - const getValue = (event, isExport) => { - const name = isExport ? "value" : "textContent"; - const options = event.target.options; - if (!event.target.multiple) { - return options.selectedIndex === -1 ? null : options[options.selectedIndex][name]; - } - return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]); - }; - const getItems = event => { - const options = event.target.options; - return Array.prototype.map.call(options, option => { - return { - displayValue: option.textContent, - exportValue: option.value - }; - }); - }; - if (this.enableScripting && this.hasJSActions) { - selectElement.addEventListener("updatefromsandbox", jsEvent => { - const actions = { - value(event) { - var _removeEmptyEntry; - (_removeEmptyEntry = removeEmptyEntry) === null || _removeEmptyEntry === void 0 ? void 0 : _removeEmptyEntry(); - const value = event.detail.value; - const values = new Set(Array.isArray(value) ? value : [value]); - for (const option of selectElement.options) { - option.selected = values.has(option.value); - } - storage.setValue(id, { - value: getValue(event, true) - }); - }, - multipleSelection(event) { - selectElement.multiple = true; - }, - remove(event) { - const options = selectElement.options; - const index = event.detail.remove; - options[index].selected = false; - selectElement.remove(index); - if (options.length > 0) { - const i = Array.prototype.findIndex.call(options, option => option.selected); - if (i === -1) { - options[0].selected = true; - } - } - storage.setValue(id, { - value: getValue(event, true), - items: getItems(event) - }); - }, - clear(event) { - while (selectElement.length !== 0) { - selectElement.remove(0); - } - storage.setValue(id, { - value: null, - items: [] - }); - }, - insert(event) { - const { - index, - displayValue, - exportValue - } = event.detail.insert; - const selectChild = selectElement.children[index]; - const optionElement = document.createElement("option"); - optionElement.textContent = displayValue; - optionElement.value = exportValue; - if (selectChild) { - selectChild.before(optionElement); - } else { - selectElement.append(optionElement); - } - storage.setValue(id, { - value: getValue(event, true), - items: getItems(event) - }); - }, - items(event) { - const { - items - } = event.detail; - while (selectElement.length !== 0) { - selectElement.remove(0); - } - for (const item of items) { - const { - displayValue, - exportValue - } = item; - const optionElement = document.createElement("option"); - optionElement.textContent = displayValue; - optionElement.value = exportValue; - selectElement.append(optionElement); - } - if (selectElement.options.length > 0) { - selectElement.options[0].selected = true; - } - storage.setValue(id, { - value: getValue(event, true), - items: getItems(event) - }); - }, - indices(event) { - const indices = new Set(event.detail.indices); - for (const option of event.target.options) { - option.selected = indices.has(option.index); - } - storage.setValue(id, { - value: getValue(event, true) - }); - }, - editable(event) { - event.target.disabled = !event.detail.editable; - } - }; - this._dispatchEventFromSandbox(actions, jsEvent); - }); - selectElement.addEventListener("input", event => { - var _this$linkService$eve9; - const exportValue = getValue(event, true); - const value = getValue(event, false); - storage.setValue(id, { - value: exportValue - }); - (_this$linkService$eve9 = this.linkService.eventBus) === null || _this$linkService$eve9 === void 0 ? void 0 : _this$linkService$eve9.dispatch("dispatcheventinsandbox", { - source: this, - detail: { - id, - name: "Keystroke", - value, - changeEx: exportValue, - willCommit: true, - commitKey: 1, - keyDown: false - } - }); - }); - this._setEventListeners(selectElement, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"], ["input", "Action"]], event => event.target.checked); - } else { - selectElement.addEventListener("input", function (event) { - storage.setValue(id, { - value: getValue(event, true) - }); - }); - } - if (this.data.combo) { - this._setTextStyle(selectElement); - } else {} - this._setBackgroundColor(selectElement); - this._setDefaultPropertiesFromJS(selectElement); - this.container.append(selectElement); - return this.container; - } -} -class PopupAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _data$titleObj, _data$contentsObj, _data$richText; - const { - data - } = parameters; - const isRenderable = !PopupAnnotationElement.IGNORE_TYPES.has(data.parentType) && !!((_data$titleObj = data.titleObj) !== null && _data$titleObj !== void 0 && _data$titleObj.str || (_data$contentsObj = data.contentsObj) !== null && _data$contentsObj !== void 0 && _data$contentsObj.str || (_data$richText = data.richText) !== null && _data$richText !== void 0 && _data$richText.str); - super(parameters, { - isRenderable - }); - } - render() { - this.container.className = "popupAnnotation"; - const parentElements = this.layer.querySelectorAll(`[data-annotation-id="${this.data.parentId}"]`); - if (parentElements.length === 0) { - return this.container; - } - const popup = new PopupElement({ - container: this.container, - trigger: Array.from(parentElements), - color: this.data.color, - titleObj: this.data.titleObj, - modificationDate: this.data.modificationDate, - contentsObj: this.data.contentsObj, - richText: this.data.richText - }); - const page = this.page; - const rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]); - const popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0]; - const popupTop = rect[1]; - const [pageLLx, pageLLy, pageURx, pageURy] = this.viewport.viewBox; - const pageWidth = pageURx - pageLLx; - const pageHeight = pageURy - pageLLy; - this.container.style.left = `${100 * (popupLeft - pageLLx) / pageWidth}%`; - this.container.style.top = `${100 * (popupTop - pageLLy) / pageHeight}%`; - this.container.append(popup.render()); - return this.container; - } -} -_defineProperty(PopupAnnotationElement, "IGNORE_TYPES", new Set(["Line", "Square", "Circle", "PolyLine", "Polygon", "Ink"])); -class PopupElement { - constructor(parameters) { - this.container = parameters.container; - this.trigger = parameters.trigger; - this.color = parameters.color; - this.titleObj = parameters.titleObj; - this.modificationDate = parameters.modificationDate; - this.contentsObj = parameters.contentsObj; - this.richText = parameters.richText; - this.hideWrapper = parameters.hideWrapper || false; - this.pinned = false; - } - render() { - var _this$richText, _this$contentsObj; - const BACKGROUND_ENLIGHT = 0.7; - const wrapper = document.createElement("div"); - wrapper.className = "popupWrapper"; - this.hideElement = this.hideWrapper ? wrapper : this.container; - this.hideElement.hidden = true; - const popup = document.createElement("div"); - popup.className = "popup"; - const color = this.color; - if (color) { - const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0]; - const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1]; - const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2]; - popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0); - } - const title = document.createElement("h1"); - title.dir = this.titleObj.dir; - title.textContent = this.titleObj.str; - popup.append(title); - const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate); - if (dateObject) { - const modificationDate = document.createElement("span"); - modificationDate.className = "popupDate"; - modificationDate.textContent = "{{date}}, {{time}}"; - modificationDate.dataset.l10nId = "annotation_date_string"; - modificationDate.dataset.l10nArgs = JSON.stringify({ - date: dateObject.toLocaleDateString(), - time: dateObject.toLocaleTimeString() - }); - popup.append(modificationDate); - } - if ((_this$richText = this.richText) !== null && _this$richText !== void 0 && _this$richText.str && (!((_this$contentsObj = this.contentsObj) !== null && _this$contentsObj !== void 0 && _this$contentsObj.str) || this.contentsObj.str === this.richText.str)) { - _xfa_layer.XfaLayer.render({ - xfaHtml: this.richText.html, - intent: "richText", - div: popup - }); - popup.lastChild.className = "richText popupContent"; - } else { - const contents = this._formatContents(this.contentsObj); - popup.append(contents); - } - if (!Array.isArray(this.trigger)) { - this.trigger = [this.trigger]; - } - for (const element of this.trigger) { - element.addEventListener("click", this._toggle.bind(this)); - element.addEventListener("mouseover", this._show.bind(this, false)); - element.addEventListener("mouseout", this._hide.bind(this, false)); - } - popup.addEventListener("click", this._hide.bind(this, true)); - wrapper.append(popup); - return wrapper; - } - _formatContents(_ref) { - let { - str, - dir - } = _ref; - const p = document.createElement("p"); - p.className = "popupContent"; - p.dir = dir; - const lines = str.split(/(?:\r\n?|\n)/); - for (let i = 0, ii = lines.length; i < ii; ++i) { - const line = lines[i]; - p.append(document.createTextNode(line)); - if (i < ii - 1) { - p.append(document.createElement("br")); - } - } - return p; - } - _toggle() { - if (this.pinned) { - this._hide(true); - } else { - this._show(true); - } - } - _show() { - let pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - if (pin) { - this.pinned = true; - } - if (this.hideElement.hidden) { - this.hideElement.hidden = false; - this.container.style.zIndex = parseInt(this.container.style.zIndex) + 1000; - } - } - _hide() { - let unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; - if (unpin) { - this.pinned = false; - } - if (!this.hideElement.hidden && !this.pinned) { - this.hideElement.hidden = true; - this.container.style.zIndex = parseInt(this.container.style.zIndex) - 1000; - } - } -} -class FreeTextAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl2, _parameters$data$cont2, _parameters$data$rich2; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl2 = parameters.data.titleObj) !== null && _parameters$data$titl2 !== void 0 && _parameters$data$titl2.str || (_parameters$data$cont2 = parameters.data.contentsObj) !== null && _parameters$data$cont2 !== void 0 && _parameters$data$cont2.str || (_parameters$data$rich2 = parameters.data.richText) !== null && _parameters$data$rich2 !== void 0 && _parameters$data$rich2.str); - super(parameters, { - isRenderable, - ignoreBorder: true - }); - this.textContent = parameters.data.textContent; - } - render() { - this.container.className = "freeTextAnnotation"; - if (this.textContent) { - const content = document.createElement("div"); - content.className = "annotationTextContent"; - content.setAttribute("role", "comment"); - for (const line of this.textContent) { - const lineSpan = document.createElement("span"); - lineSpan.textContent = line; - content.append(lineSpan); - } - this.container.append(content); - } - if (!this.data.hasPopup) { - this._createPopup(null, this.data); - } - return this.container; - } -} -class LineAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl3, _parameters$data$cont3, _parameters$data$rich3; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl3 = parameters.data.titleObj) !== null && _parameters$data$titl3 !== void 0 && _parameters$data$titl3.str || (_parameters$data$cont3 = parameters.data.contentsObj) !== null && _parameters$data$cont3 !== void 0 && _parameters$data$cont3.str || (_parameters$data$rich3 = parameters.data.richText) !== null && _parameters$data$rich3 !== void 0 && _parameters$data$rich3.str); - super(parameters, { - isRenderable, - ignoreBorder: true - }); - } - render() { - this.container.className = "lineAnnotation"; - const data = this.data; - const { - width, - height - } = getRectDims(data.rect); - const svg = this.svgFactory.create(width, height, true); - const line = this.svgFactory.createElement("svg:line"); - line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]); - line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]); - line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]); - line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]); - line.setAttribute("stroke-width", data.borderStyle.width || 1); - line.setAttribute("stroke", "transparent"); - line.setAttribute("fill", "transparent"); - svg.append(line); - this.container.append(svg); - this._createPopup(line, data); - return this.container; - } -} -class SquareAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl4, _parameters$data$cont4, _parameters$data$rich4; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl4 = parameters.data.titleObj) !== null && _parameters$data$titl4 !== void 0 && _parameters$data$titl4.str || (_parameters$data$cont4 = parameters.data.contentsObj) !== null && _parameters$data$cont4 !== void 0 && _parameters$data$cont4.str || (_parameters$data$rich4 = parameters.data.richText) !== null && _parameters$data$rich4 !== void 0 && _parameters$data$rich4.str); - super(parameters, { - isRenderable, - ignoreBorder: true - }); - } - render() { - this.container.className = "squareAnnotation"; - const data = this.data; - const { - width, - height - } = getRectDims(data.rect); - const svg = this.svgFactory.create(width, height, true); - const borderWidth = data.borderStyle.width; - const square = this.svgFactory.createElement("svg:rect"); - square.setAttribute("x", borderWidth / 2); - square.setAttribute("y", borderWidth / 2); - square.setAttribute("width", width - borderWidth); - square.setAttribute("height", height - borderWidth); - square.setAttribute("stroke-width", borderWidth || 1); - square.setAttribute("stroke", "transparent"); - square.setAttribute("fill", "transparent"); - svg.append(square); - this.container.append(svg); - this._createPopup(square, data); - return this.container; - } -} -class CircleAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl5, _parameters$data$cont5, _parameters$data$rich5; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl5 = parameters.data.titleObj) !== null && _parameters$data$titl5 !== void 0 && _parameters$data$titl5.str || (_parameters$data$cont5 = parameters.data.contentsObj) !== null && _parameters$data$cont5 !== void 0 && _parameters$data$cont5.str || (_parameters$data$rich5 = parameters.data.richText) !== null && _parameters$data$rich5 !== void 0 && _parameters$data$rich5.str); - super(parameters, { - isRenderable, - ignoreBorder: true - }); - } - render() { - this.container.className = "circleAnnotation"; - const data = this.data; - const { - width, - height - } = getRectDims(data.rect); - const svg = this.svgFactory.create(width, height, true); - const borderWidth = data.borderStyle.width; - const circle = this.svgFactory.createElement("svg:ellipse"); - circle.setAttribute("cx", width / 2); - circle.setAttribute("cy", height / 2); - circle.setAttribute("rx", width / 2 - borderWidth / 2); - circle.setAttribute("ry", height / 2 - borderWidth / 2); - circle.setAttribute("stroke-width", borderWidth || 1); - circle.setAttribute("stroke", "transparent"); - circle.setAttribute("fill", "transparent"); - svg.append(circle); - this.container.append(svg); - this._createPopup(circle, data); - return this.container; - } -} -class PolylineAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl6, _parameters$data$cont6, _parameters$data$rich6; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl6 = parameters.data.titleObj) !== null && _parameters$data$titl6 !== void 0 && _parameters$data$titl6.str || (_parameters$data$cont6 = parameters.data.contentsObj) !== null && _parameters$data$cont6 !== void 0 && _parameters$data$cont6.str || (_parameters$data$rich6 = parameters.data.richText) !== null && _parameters$data$rich6 !== void 0 && _parameters$data$rich6.str); - super(parameters, { - isRenderable, - ignoreBorder: true - }); - this.containerClassName = "polylineAnnotation"; - this.svgElementName = "svg:polyline"; - } - render() { - this.container.className = this.containerClassName; - const data = this.data; - const { - width, - height - } = getRectDims(data.rect); - const svg = this.svgFactory.create(width, height, true); - let points = []; - for (const coordinate of data.vertices) { - const x = coordinate.x - data.rect[0]; - const y = data.rect[3] - coordinate.y; - points.push(x + "," + y); - } - points = points.join(" "); - const polyline = this.svgFactory.createElement(this.svgElementName); - polyline.setAttribute("points", points); - polyline.setAttribute("stroke-width", data.borderStyle.width || 1); - polyline.setAttribute("stroke", "transparent"); - polyline.setAttribute("fill", "transparent"); - svg.append(polyline); - this.container.append(svg); - this._createPopup(polyline, data); - return this.container; - } -} -class PolygonAnnotationElement extends PolylineAnnotationElement { - constructor(parameters) { - super(parameters); - this.containerClassName = "polygonAnnotation"; - this.svgElementName = "svg:polygon"; - } -} -class CaretAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl7, _parameters$data$cont7, _parameters$data$rich7; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl7 = parameters.data.titleObj) !== null && _parameters$data$titl7 !== void 0 && _parameters$data$titl7.str || (_parameters$data$cont7 = parameters.data.contentsObj) !== null && _parameters$data$cont7 !== void 0 && _parameters$data$cont7.str || (_parameters$data$rich7 = parameters.data.richText) !== null && _parameters$data$rich7 !== void 0 && _parameters$data$rich7.str); - super(parameters, { - isRenderable, - ignoreBorder: true - }); - } - render() { - this.container.className = "caretAnnotation"; - if (!this.data.hasPopup) { - this._createPopup(null, this.data); - } - return this.container; - } -} -class InkAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl8, _parameters$data$cont8, _parameters$data$rich8; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl8 = parameters.data.titleObj) !== null && _parameters$data$titl8 !== void 0 && _parameters$data$titl8.str || (_parameters$data$cont8 = parameters.data.contentsObj) !== null && _parameters$data$cont8 !== void 0 && _parameters$data$cont8.str || (_parameters$data$rich8 = parameters.data.richText) !== null && _parameters$data$rich8 !== void 0 && _parameters$data$rich8.str); - super(parameters, { - isRenderable, - ignoreBorder: true - }); - this.containerClassName = "inkAnnotation"; - this.svgElementName = "svg:polyline"; - } - render() { - this.container.className = this.containerClassName; - const data = this.data; - const { - width, - height - } = getRectDims(data.rect); - const svg = this.svgFactory.create(width, height, true); - for (const inkList of data.inkLists) { - let points = []; - for (const coordinate of inkList) { - const x = coordinate.x - data.rect[0]; - const y = data.rect[3] - coordinate.y; - points.push(`${x},${y}`); - } - points = points.join(" "); - const polyline = this.svgFactory.createElement(this.svgElementName); - polyline.setAttribute("points", points); - polyline.setAttribute("stroke-width", data.borderStyle.width || 1); - polyline.setAttribute("stroke", "transparent"); - polyline.setAttribute("fill", "transparent"); - this._createPopup(polyline, data); - svg.append(polyline); - } - this.container.append(svg); - return this.container; - } -} -class HighlightAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl9, _parameters$data$cont9, _parameters$data$rich9; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl9 = parameters.data.titleObj) !== null && _parameters$data$titl9 !== void 0 && _parameters$data$titl9.str || (_parameters$data$cont9 = parameters.data.contentsObj) !== null && _parameters$data$cont9 !== void 0 && _parameters$data$cont9.str || (_parameters$data$rich9 = parameters.data.richText) !== null && _parameters$data$rich9 !== void 0 && _parameters$data$rich9.str); - super(parameters, { - isRenderable, - ignoreBorder: true, - createQuadrilaterals: true - }); - } - render() { - if (!this.data.hasPopup) { - this._createPopup(null, this.data); - } - if (this.quadrilaterals) { - return this._renderQuadrilaterals("highlightAnnotation"); - } - this.container.className = "highlightAnnotation"; - return this.container; - } -} -class UnderlineAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl10, _parameters$data$cont10, _parameters$data$rich10; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl10 = parameters.data.titleObj) !== null && _parameters$data$titl10 !== void 0 && _parameters$data$titl10.str || (_parameters$data$cont10 = parameters.data.contentsObj) !== null && _parameters$data$cont10 !== void 0 && _parameters$data$cont10.str || (_parameters$data$rich10 = parameters.data.richText) !== null && _parameters$data$rich10 !== void 0 && _parameters$data$rich10.str); - super(parameters, { - isRenderable, - ignoreBorder: true, - createQuadrilaterals: true - }); - } - render() { - if (!this.data.hasPopup) { - this._createPopup(null, this.data); - } - if (this.quadrilaterals) { - return this._renderQuadrilaterals("underlineAnnotation"); - } - this.container.className = "underlineAnnotation"; - return this.container; - } -} -class SquigglyAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl11, _parameters$data$cont11, _parameters$data$rich11; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl11 = parameters.data.titleObj) !== null && _parameters$data$titl11 !== void 0 && _parameters$data$titl11.str || (_parameters$data$cont11 = parameters.data.contentsObj) !== null && _parameters$data$cont11 !== void 0 && _parameters$data$cont11.str || (_parameters$data$rich11 = parameters.data.richText) !== null && _parameters$data$rich11 !== void 0 && _parameters$data$rich11.str); - super(parameters, { - isRenderable, - ignoreBorder: true, - createQuadrilaterals: true - }); - } - render() { - if (!this.data.hasPopup) { - this._createPopup(null, this.data); - } - if (this.quadrilaterals) { - return this._renderQuadrilaterals("squigglyAnnotation"); - } - this.container.className = "squigglyAnnotation"; - return this.container; - } -} -class StrikeOutAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl12, _parameters$data$cont12, _parameters$data$rich12; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl12 = parameters.data.titleObj) !== null && _parameters$data$titl12 !== void 0 && _parameters$data$titl12.str || (_parameters$data$cont12 = parameters.data.contentsObj) !== null && _parameters$data$cont12 !== void 0 && _parameters$data$cont12.str || (_parameters$data$rich12 = parameters.data.richText) !== null && _parameters$data$rich12 !== void 0 && _parameters$data$rich12.str); - super(parameters, { - isRenderable, - ignoreBorder: true, - createQuadrilaterals: true - }); - } - render() { - if (!this.data.hasPopup) { - this._createPopup(null, this.data); - } - if (this.quadrilaterals) { - return this._renderQuadrilaterals("strikeoutAnnotation"); - } - this.container.className = "strikeoutAnnotation"; - return this.container; - } -} -class StampAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _parameters$data$titl13, _parameters$data$cont13, _parameters$data$rich13; - const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl13 = parameters.data.titleObj) !== null && _parameters$data$titl13 !== void 0 && _parameters$data$titl13.str || (_parameters$data$cont13 = parameters.data.contentsObj) !== null && _parameters$data$cont13 !== void 0 && _parameters$data$cont13.str || (_parameters$data$rich13 = parameters.data.richText) !== null && _parameters$data$rich13 !== void 0 && _parameters$data$rich13.str); - super(parameters, { - isRenderable, - ignoreBorder: true - }); - } - render() { - this.container.className = "stampAnnotation"; - if (!this.data.hasPopup) { - this._createPopup(null, this.data); - } - return this.container; - } -} -class FileAttachmentAnnotationElement extends AnnotationElement { - constructor(parameters) { - var _this$linkService$eve10; - super(parameters, { - isRenderable: true - }); - const { - filename, - content - } = this.data.file; - this.filename = (0, _display_utils.getFilenameFromUrl)(filename); - this.content = content; - (_this$linkService$eve10 = this.linkService.eventBus) === null || _this$linkService$eve10 === void 0 ? void 0 : _this$linkService$eve10.dispatch("fileattachmentannotation", { - source: this, - filename, - content - }); - } - render() { - var _this$data$titleObj, _this$data$contentsOb; - this.container.className = "fileAttachmentAnnotation"; - const trigger = document.createElement("div"); - trigger.className = "popupTriggerArea"; - trigger.addEventListener("dblclick", this._download.bind(this)); - if (!this.data.hasPopup && ((_this$data$titleObj = this.data.titleObj) !== null && _this$data$titleObj !== void 0 && _this$data$titleObj.str || (_this$data$contentsOb = this.data.contentsObj) !== null && _this$data$contentsOb !== void 0 && _this$data$contentsOb.str || this.data.richText)) { - this._createPopup(trigger, this.data); - } - this.container.append(trigger); - return this.container; - } - _download() { - var _this$downloadManager2; - (_this$downloadManager2 = this.downloadManager) === null || _this$downloadManager2 === void 0 ? void 0 : _this$downloadManager2.openOrDownloadData(this.container, this.content, this.filename); - } -} -class AnnotationLayer { - static render(parameters) { - const { - annotations, - div, - viewport, - accessibilityManager - } = parameters; - _classStaticPrivateMethodGet(this, AnnotationLayer, _setDimensions).call(this, div, viewport); - let zIndex = 0; - for (const data of annotations) { - if (data.annotationType !== _util.AnnotationType.POPUP) { - const { - width, - height - } = getRectDims(data.rect); - if (width <= 0 || height <= 0) { - continue; - } - } - const element = AnnotationElementFactory.create({ - data, - layer: div, - page: parameters.page, - viewport, - linkService: parameters.linkService, - downloadManager: parameters.downloadManager, - imageResourcesPath: parameters.imageResourcesPath || "", - renderForms: parameters.renderForms !== false, - svgFactory: new _display_utils.DOMSVGFactory(), - annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(), - enableScripting: parameters.enableScripting, - hasJSActions: parameters.hasJSActions, - fieldObjects: parameters.fieldObjects, - mouseState: parameters.mouseState || { - isDown: false - } - }); - if (element.isRenderable) { - const rendered = element.render(); - if (data.hidden) { - rendered.style.visibility = "hidden"; - } - if (Array.isArray(rendered)) { - for (const renderedElement of rendered) { - renderedElement.style.zIndex = zIndex++; - _classStaticPrivateMethodGet(AnnotationLayer, AnnotationLayer, _appendElement).call(AnnotationLayer, renderedElement, data.id, div, accessibilityManager); - } - } else { - rendered.style.zIndex = zIndex++; - if (element instanceof PopupAnnotationElement) { - div.prepend(rendered); - } else { - _classStaticPrivateMethodGet(AnnotationLayer, AnnotationLayer, _appendElement).call(AnnotationLayer, rendered, data.id, div, accessibilityManager); - } - } - } - } - _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, parameters.annotationCanvasMap); - } - static update(parameters) { - const { - annotationCanvasMap, - div, - viewport - } = parameters; - _classStaticPrivateMethodGet(this, AnnotationLayer, _setDimensions).call(this, div, viewport); - _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, annotationCanvasMap); - div.hidden = false; - } -} -exports.AnnotationLayer = AnnotationLayer; -function _appendElement(element, id, div, accessibilityManager) { - const contentElement = element.firstChild || element; - contentElement.id = `${_display_utils.AnnotationPrefix}${id}`; - div.append(element); - accessibilityManager === null || accessibilityManager === void 0 ? void 0 : accessibilityManager.moveElementInDOM(div, element, contentElement, false); -} -function _setDimensions(div, _ref2) { - let { - width, - height, - rotation - } = _ref2; - const { - style - } = div; - const flipOrientation = rotation % 180 !== 0, - widthStr = Math.floor(width) + "px", - heightStr = Math.floor(height) + "px"; - style.width = flipOrientation ? heightStr : widthStr; - style.height = flipOrientation ? widthStr : heightStr; - div.setAttribute("data-main-rotation", rotation); -} -function _setAnnotationCanvasMap(div, annotationCanvasMap) { - if (!annotationCanvasMap) { - return; - } - for (const [id, canvas] of annotationCanvasMap) { - const element = div.querySelector(`[data-annotation-id="${id}"]`); - if (!element) { - continue; - } - const { - firstChild - } = element; - if (!firstChild) { - element.append(canvas); - } else if (firstChild.nodeName === "CANVAS") { - firstChild.replaceWith(canvas); - } else { - firstChild.before(canvas); - } - } - annotationCanvasMap.clear(); -} - -/***/ }), -/* 157 */ -/***/ ((__unused_webpack_module, exports) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.ColorConverters = void 0; -function makeColorComp(n) { - return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0"); -} -class ColorConverters { - static CMYK_G(_ref) { - let [c, y, m, k] = _ref; - return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)]; - } - static G_CMYK(_ref2) { - let [g] = _ref2; - return ["CMYK", 0, 0, 0, 1 - g]; - } - static G_RGB(_ref3) { - let [g] = _ref3; - return ["RGB", g, g, g]; - } - static G_HTML(_ref4) { - let [g] = _ref4; - const G = makeColorComp(g); - return `#${G}${G}${G}`; - } - static RGB_G(_ref5) { - let [r, g, b] = _ref5; - return ["G", 0.3 * r + 0.59 * g + 0.11 * b]; - } - static RGB_HTML(_ref6) { - let [r, g, b] = _ref6; - const R = makeColorComp(r); - const G = makeColorComp(g); - const B = makeColorComp(b); - return `#${R}${G}${B}`; - } - static T_HTML() { - return "#00000000"; - } - static CMYK_RGB(_ref7) { - let [c, y, m, k] = _ref7; - return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)]; - } - static CMYK_HTML(components) { - const rgb = this.CMYK_RGB(components).slice(1); - return this.RGB_HTML(rgb); - } - static RGB_CMYK(_ref8) { - let [r, g, b] = _ref8; - const c = 1 - r; - const m = 1 - g; - const y = 1 - b; - const k = Math.min(c, m, y); - return ["CMYK", c, m, y, k]; - } -} -exports.ColorConverters = ColorConverters; - -/***/ }), -/* 158 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.XfaLayer = void 0; -var _xfa_text = __w_pdfjs_require__(149); -class XfaLayer { - static setupStorage(html, id, element, storage, intent) { - const storedData = storage.getValue(id, { - value: null - }); - switch (element.name) { - case "textarea": - if (storedData.value !== null) { - html.textContent = storedData.value; - } - if (intent === "print") { - break; - } - html.addEventListener("input", event => { - storage.setValue(id, { - value: event.target.value - }); - }); - break; - case "input": - if (element.attributes.type === "radio" || element.attributes.type === "checkbox") { - if (storedData.value === element.attributes.xfaOn) { - html.setAttribute("checked", true); - } else if (storedData.value === element.attributes.xfaOff) { - html.removeAttribute("checked"); - } - if (intent === "print") { - break; - } - html.addEventListener("change", event => { - storage.setValue(id, { - value: event.target.checked ? event.target.getAttribute("xfaOn") : event.target.getAttribute("xfaOff") - }); - }); - } else { - if (storedData.value !== null) { - html.setAttribute("value", storedData.value); - } - if (intent === "print") { - break; - } - html.addEventListener("input", event => { - storage.setValue(id, { - value: event.target.value - }); - }); - } - break; - case "select": - if (storedData.value !== null) { - for (const option of element.children) { - if (option.attributes.value === storedData.value) { - option.attributes.selected = true; - } - } - } - html.addEventListener("input", event => { - const options = event.target.options; - const value = options.selectedIndex === -1 ? "" : options[options.selectedIndex].value; - storage.setValue(id, { - value - }); - }); - break; - } - } - static setAttributes(_ref) { - let { - html, - element, - storage = null, - intent, - linkService - } = _ref; - const { - attributes - } = element; - const isHTMLAnchorElement = html instanceof HTMLAnchorElement; - if (attributes.type === "radio") { - attributes.name = `${attributes.name}-${intent}`; - } - for (const [key, value] of Object.entries(attributes)) { - if (value === null || value === undefined) { - continue; - } - switch (key) { - case "class": - if (value.length) { - html.setAttribute(key, value.join(" ")); - } - break; - case "dataId": - break; - case "id": - html.setAttribute("data-element-id", value); - break; - case "style": - Object.assign(html.style, value); - break; - case "textContent": - html.textContent = value; - break; - default: - if (!isHTMLAnchorElement || key !== "href" && key !== "newWindow") { - html.setAttribute(key, value); - } - } - } - if (isHTMLAnchorElement) { - linkService.addLinkAttributes(html, attributes.href, attributes.newWindow); - } - if (storage && attributes.dataId) { - this.setupStorage(html, attributes.dataId, element, storage); - } - } - static render(parameters) { - const storage = parameters.annotationStorage; - const linkService = parameters.linkService; - const root = parameters.xfaHtml; - const intent = parameters.intent || "display"; - const rootHtml = document.createElement(root.name); - if (root.attributes) { - this.setAttributes({ - html: rootHtml, - element: root, - intent, - linkService - }); - } - const stack = [[root, -1, rootHtml]]; - const rootDiv = parameters.div; - rootDiv.append(rootHtml); - if (parameters.viewport) { - const transform = `matrix(${parameters.viewport.transform.join(",")})`; - rootDiv.style.transform = transform; - } - if (intent !== "richText") { - rootDiv.setAttribute("class", "xfaLayer xfaFont"); - } - const textDivs = []; - while (stack.length > 0) { - var _child$attributes; - const [parent, i, html] = stack.at(-1); - if (i + 1 === parent.children.length) { - stack.pop(); - continue; - } - const child = parent.children[++stack.at(-1)[1]]; - if (child === null) { - continue; - } - const { - name - } = child; - if (name === "#text") { - const node = document.createTextNode(child.value); - textDivs.push(node); - html.append(node); - continue; - } - let childHtml; - if (child !== null && child !== void 0 && (_child$attributes = child.attributes) !== null && _child$attributes !== void 0 && _child$attributes.xmlns) { - childHtml = document.createElementNS(child.attributes.xmlns, name); - } else { - childHtml = document.createElement(name); - } - html.append(childHtml); - if (child.attributes) { - this.setAttributes({ - html: childHtml, - element: child, - storage, - intent, - linkService - }); - } - if (child.children && child.children.length > 0) { - stack.push([child, -1, childHtml]); - } else if (child.value) { - const node = document.createTextNode(child.value); - if (_xfa_text.XfaText.shouldBuildText(name)) { - textDivs.push(node); - } - childHtml.append(node); - } - } - for (const el of rootDiv.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea")) { - el.setAttribute("readOnly", true); - } - return { - textDivs - }; - } - static update(parameters) { - const transform = `matrix(${parameters.viewport.transform.join(",")})`; - parameters.div.style.transform = transform; - parameters.div.hidden = false; - } -} -exports.XfaLayer = XfaLayer; - -/***/ }), -/* 159 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.TextLayerRenderTask = void 0; -exports.renderTextLayer = renderTextLayer; -var _util = __w_pdfjs_require__(1); -const MAX_TEXT_DIVS_TO_RENDER = 100000; -const DEFAULT_FONT_SIZE = 30; -const DEFAULT_FONT_ASCENT = 0.8; -const ascentCache = new Map(); -function getAscent(fontFamily, ctx) { - const cachedAscent = ascentCache.get(fontFamily); - if (cachedAscent) { - return cachedAscent; - } - ctx.save(); - ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`; - const metrics = ctx.measureText(""); - let ascent = metrics.fontBoundingBoxAscent; - let descent = Math.abs(metrics.fontBoundingBoxDescent); - if (ascent) { - ctx.restore(); - const ratio = ascent / (ascent + descent); - ascentCache.set(fontFamily, ratio); - return ratio; - } - ctx.strokeStyle = "red"; - ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); - ctx.strokeText("g", 0, 0); - let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; - descent = 0; - for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) { - if (pixels[i] > 0) { - descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE); - break; - } - } - ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); - ctx.strokeText("A", 0, DEFAULT_FONT_SIZE); - pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; - ascent = 0; - for (let i = 0, ii = pixels.length; i < ii; i += 4) { - if (pixels[i] > 0) { - ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE); - break; - } - } - ctx.restore(); - if (ascent) { - const ratio = ascent / (ascent + descent); - ascentCache.set(fontFamily, ratio); - return ratio; - } - ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT); - return DEFAULT_FONT_ASCENT; -} -function appendText(task, geom, styles, ctx) { - const textDiv = document.createElement("span"); - const textDivProperties = { - angle: 0, - canvasWidth: 0, - hasText: geom.str !== "", - hasEOL: geom.hasEOL, - fontSize: 0 - }; - task._textDivs.push(textDiv); - const tx = _util.Util.transform(task._viewport.transform, geom.transform); - let angle = Math.atan2(tx[1], tx[0]); - const style = styles[geom.fontName]; - if (style.vertical) { - angle += Math.PI / 2; - } - const fontHeight = Math.hypot(tx[2], tx[3]); - const fontAscent = fontHeight * getAscent(style.fontFamily, ctx); - let left, top; - if (angle === 0) { - left = tx[4]; - top = tx[5] - fontAscent; - } else { - left = tx[4] + fontAscent * Math.sin(angle); - top = tx[5] - fontAscent * Math.cos(angle); - } - textDiv.style.left = `${left}px`; - textDiv.style.top = `${top}px`; - textDiv.style.fontSize = `${fontHeight}px`; - textDiv.style.fontFamily = style.fontFamily; - textDivProperties.fontSize = fontHeight; - textDiv.setAttribute("role", "presentation"); - textDiv.textContent = geom.str; - textDiv.dir = geom.dir; - if (task._fontInspectorEnabled) { - textDiv.dataset.fontName = geom.fontName; - } - if (angle !== 0) { - textDivProperties.angle = angle * (180 / Math.PI); - } - let shouldScaleText = false; - if (geom.str.length > 1) { - shouldScaleText = true; - } else if (geom.str !== " " && geom.transform[0] !== geom.transform[3]) { - const absScaleX = Math.abs(geom.transform[0]), - absScaleY = Math.abs(geom.transform[3]); - if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) { - shouldScaleText = true; - } - } - if (shouldScaleText) { - if (style.vertical) { - textDivProperties.canvasWidth = geom.height * task._viewport.scale; - } else { - textDivProperties.canvasWidth = geom.width * task._viewport.scale; - } - } - task._textDivProperties.set(textDiv, textDivProperties); - if (task._textContentStream) { - task._layoutText(textDiv); - } -} -function render(task) { - if (task._canceled) { - return; - } - const textDivs = task._textDivs; - const capability = task._capability; - const textDivsLength = textDivs.length; - if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) { - task._renderingDone = true; - capability.resolve(); - return; - } - if (!task._textContentStream) { - for (const textDiv of textDivs) { - task._layoutText(textDiv); - } - } - task._renderingDone = true; - capability.resolve(); -} -class TextLayerRenderTask { - constructor(_ref) { - var _globalThis$FontInspe; - let { - textContent, - textContentStream, - container, - viewport, - textDivs, - textContentItemsStr - } = _ref; - this._textContent = textContent; - this._textContentStream = textContentStream; - this._container = container; - this._document = container.ownerDocument; - this._viewport = viewport; - this._textDivs = textDivs || []; - this._textContentItemsStr = textContentItemsStr || []; - this._fontInspectorEnabled = !!((_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled); - this._reader = null; - this._layoutTextLastFontSize = null; - this._layoutTextLastFontFamily = null; - this._layoutTextCtx = null; - this._textDivProperties = new WeakMap(); - this._renderingDone = false; - this._canceled = false; - this._capability = (0, _util.createPromiseCapability)(); - this._renderTimer = null; - this._bounds = []; - this._devicePixelRatio = globalThis.devicePixelRatio || 1; - this._capability.promise.finally(() => { - this._textDivProperties = null; - if (this._layoutTextCtx) { - this._layoutTextCtx.canvas.width = 0; - this._layoutTextCtx.canvas.height = 0; - this._layoutTextCtx = null; - } - }).catch(() => {}); - } - get promise() { - return this._capability.promise; - } - cancel() { - this._canceled = true; - if (this._reader) { - this._reader.cancel(new _util.AbortException("TextLayer task cancelled.")).catch(() => {}); - this._reader = null; - } - if (this._renderTimer !== null) { - clearTimeout(this._renderTimer); - this._renderTimer = null; - } - this._capability.reject(new Error("TextLayer task cancelled.")); - } - _processItems(items, styleCache) { - for (const item of items) { - if (item.str === undefined) { - if (item.type === "beginMarkedContentProps" || item.type === "beginMarkedContent") { - const parent = this._container; - this._container = document.createElement("span"); - this._container.classList.add("markedContent"); - if (item.id !== null) { - this._container.setAttribute("id", `${item.id}`); - } - parent.append(this._container); - } else if (item.type === "endMarkedContent") { - this._container = this._container.parentNode; - } - continue; - } - this._textContentItemsStr.push(item.str); - appendText(this, item, styleCache, this._layoutTextCtx); - } - } - _layoutText(textDiv) { - const textDivProperties = this._textDivProperties.get(textDiv); - let transform = ""; - if (textDivProperties.canvasWidth !== 0 && textDivProperties.hasText) { - const { - fontFamily - } = textDiv.style; - const { - fontSize - } = textDivProperties; - if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) { - this._layoutTextCtx.font = `${fontSize * this._devicePixelRatio}px ${fontFamily}`; - this._layoutTextLastFontSize = fontSize; - this._layoutTextLastFontFamily = fontFamily; - } - const { - width - } = this._layoutTextCtx.measureText(textDiv.textContent); - if (width > 0) { - transform = `scaleX(${this._devicePixelRatio * textDivProperties.canvasWidth / width})`; - } - } - if (textDivProperties.angle !== 0) { - transform = `rotate(${textDivProperties.angle}deg) ${transform}`; - } - if (transform.length > 0) { - textDiv.style.transform = transform; - } - if (textDivProperties.hasText) { - this._container.append(textDiv); - } - if (textDivProperties.hasEOL) { - const br = document.createElement("br"); - br.setAttribute("role", "presentation"); - this._container.append(br); - } - } - _render() { - let timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; - const capability = (0, _util.createPromiseCapability)(); - let styleCache = Object.create(null); - const canvas = this._document.createElement("canvas"); - canvas.height = canvas.width = DEFAULT_FONT_SIZE; - this._layoutTextCtx = canvas.getContext("2d", { - alpha: false - }); - if (this._textContent) { - const textItems = this._textContent.items; - const textStyles = this._textContent.styles; - this._processItems(textItems, textStyles); - capability.resolve(); - } else if (this._textContentStream) { - const pump = () => { - this._reader.read().then(_ref2 => { - let { - value, - done - } = _ref2; - if (done) { - capability.resolve(); - return; - } - Object.assign(styleCache, value.styles); - this._processItems(value.items, styleCache); - pump(); - }, capability.reject); - }; - this._reader = this._textContentStream.getReader(); - pump(); - } else { - throw new Error('Neither "textContent" nor "textContentStream" parameters specified.'); - } - capability.promise.then(() => { - styleCache = null; - if (!timeout) { - render(this); - } else { - this._renderTimer = setTimeout(() => { - render(this); - this._renderTimer = null; - }, timeout); - } - }, this._capability.reject); - } -} -exports.TextLayerRenderTask = TextLayerRenderTask; -function renderTextLayer(renderParameters) { - const task = new TextLayerRenderTask({ - textContent: renderParameters.textContent, - textContentStream: renderParameters.textContentStream, - container: renderParameters.container, - viewport: renderParameters.viewport, - textDivs: renderParameters.textDivs, - textContentItemsStr: renderParameters.textContentItemsStr - }); - task._render(renderParameters.timeout); - return task; -} - -/***/ }), -/* 160 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.SVGGraphics = void 0; -var _display_utils = __w_pdfjs_require__(137); -var _util = __w_pdfjs_require__(1); -var _is_node = __w_pdfjs_require__(3); -let SVGGraphics = class { - constructor() { - (0, _util.unreachable)("Not implemented: SVGGraphics"); - } -}; -exports.SVGGraphics = SVGGraphics; -{ - const SVG_DEFAULTS = { - fontStyle: "normal", - fontWeight: "normal", - fillColor: "#000000" - }; - const XML_NS = "http://www.w3.org/XML/1998/namespace"; - const XLINK_NS = "http://www.w3.org/1999/xlink"; - const LINE_CAP_STYLES = ["butt", "round", "square"]; - const LINE_JOIN_STYLES = ["miter", "round", "bevel"]; - const createObjectURL = function (data) { - let contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; - let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - if (URL.createObjectURL && typeof Blob !== "undefined" && !forceDataSchema) { - return URL.createObjectURL(new Blob([data], { - type: contentType - })); - } - const digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - let buffer = `data:${contentType};base64,`; - for (let i = 0, ii = data.length; i < ii; i += 3) { - const b1 = data[i] & 0xff; - const b2 = data[i + 1] & 0xff; - const b3 = data[i + 2] & 0xff; - const d1 = b1 >> 2, - d2 = (b1 & 3) << 4 | b2 >> 4; - const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64; - const d4 = i + 2 < ii ? b3 & 0x3f : 64; - buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4]; - } - return buffer; - }; - const convertImgDataToPng = function () { - const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]); - const CHUNK_WRAPPER_SIZE = 12; - const crcTable = new Int32Array(256); - for (let i = 0; i < 256; i++) { - let c = i; - for (let h = 0; h < 8; h++) { - if (c & 1) { - c = 0xedb88320 ^ c >> 1 & 0x7fffffff; - } else { - c = c >> 1 & 0x7fffffff; - } - } - crcTable[i] = c; - } - function crc32(data, start, end) { - let crc = -1; - for (let i = start; i < end; i++) { - const a = (crc ^ data[i]) & 0xff; - const b = crcTable[a]; - crc = crc >>> 8 ^ b; - } - return crc ^ -1; - } - function writePngChunk(type, body, data, offset) { - let p = offset; - const len = body.length; - data[p] = len >> 24 & 0xff; - data[p + 1] = len >> 16 & 0xff; - data[p + 2] = len >> 8 & 0xff; - data[p + 3] = len & 0xff; - p += 4; - data[p] = type.charCodeAt(0) & 0xff; - data[p + 1] = type.charCodeAt(1) & 0xff; - data[p + 2] = type.charCodeAt(2) & 0xff; - data[p + 3] = type.charCodeAt(3) & 0xff; - p += 4; - data.set(body, p); - p += body.length; - const crc = crc32(data, offset + 4, p); - data[p] = crc >> 24 & 0xff; - data[p + 1] = crc >> 16 & 0xff; - data[p + 2] = crc >> 8 & 0xff; - data[p + 3] = crc & 0xff; - } - function adler32(data, start, end) { - let a = 1; - let b = 0; - for (let i = start; i < end; ++i) { - a = (a + (data[i] & 0xff)) % 65521; - b = (b + a) % 65521; - } - return b << 16 | a; - } - function deflateSync(literals) { - if (!_is_node.isNodeJS) { - return deflateSyncUncompressed(literals); - } - try { - let input; - if (parseInt(process.versions.node) >= 8) { - input = literals; - } else { - input = Buffer.from(literals); - } - const output = require("zlib").deflateSync(input, { - level: 9 - }); - return output instanceof Uint8Array ? output : new Uint8Array(output); - } catch (e) { - (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e); - } - return deflateSyncUncompressed(literals); - } - function deflateSyncUncompressed(literals) { - let len = literals.length; - const maxBlockLength = 0xffff; - const deflateBlocks = Math.ceil(len / maxBlockLength); - const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4); - let pi = 0; - idat[pi++] = 0x78; - idat[pi++] = 0x9c; - let pos = 0; - while (len > maxBlockLength) { - idat[pi++] = 0x00; - idat[pi++] = 0xff; - idat[pi++] = 0xff; - idat[pi++] = 0x00; - idat[pi++] = 0x00; - idat.set(literals.subarray(pos, pos + maxBlockLength), pi); - pi += maxBlockLength; - pos += maxBlockLength; - len -= maxBlockLength; - } - idat[pi++] = 0x01; - idat[pi++] = len & 0xff; - idat[pi++] = len >> 8 & 0xff; - idat[pi++] = ~len & 0xffff & 0xff; - idat[pi++] = (~len & 0xffff) >> 8 & 0xff; - idat.set(literals.subarray(pos), pi); - pi += literals.length - pos; - const adler = adler32(literals, 0, literals.length); - idat[pi++] = adler >> 24 & 0xff; - idat[pi++] = adler >> 16 & 0xff; - idat[pi++] = adler >> 8 & 0xff; - idat[pi++] = adler & 0xff; - return idat; - } - function encode(imgData, kind, forceDataSchema, isMask) { - const width = imgData.width; - const height = imgData.height; - let bitDepth, colorType, lineSize; - const bytes = imgData.data; - switch (kind) { - case _util.ImageKind.GRAYSCALE_1BPP: - colorType = 0; - bitDepth = 1; - lineSize = width + 7 >> 3; - break; - case _util.ImageKind.RGB_24BPP: - colorType = 2; - bitDepth = 8; - lineSize = width * 3; - break; - case _util.ImageKind.RGBA_32BPP: - colorType = 6; - bitDepth = 8; - lineSize = width * 4; - break; - default: - throw new Error("invalid format"); - } - const literals = new Uint8Array((1 + lineSize) * height); - let offsetLiterals = 0, - offsetBytes = 0; - for (let y = 0; y < height; ++y) { - literals[offsetLiterals++] = 0; - literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals); - offsetBytes += lineSize; - offsetLiterals += lineSize; - } - if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) { - offsetLiterals = 0; - for (let y = 0; y < height; y++) { - offsetLiterals++; - for (let i = 0; i < lineSize; i++) { - literals[offsetLiterals++] ^= 0xff; - } - } - } - const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]); - const idat = deflateSync(literals); - const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length; - const data = new Uint8Array(pngLength); - let offset = 0; - data.set(PNG_HEADER, offset); - offset += PNG_HEADER.length; - writePngChunk("IHDR", ihdr, data, offset); - offset += CHUNK_WRAPPER_SIZE + ihdr.length; - writePngChunk("IDATA", idat, data, offset); - offset += CHUNK_WRAPPER_SIZE + idat.length; - writePngChunk("IEND", new Uint8Array(0), data, offset); - return createObjectURL(data, "image/png", forceDataSchema); - } - return function convertImgDataToPng(imgData, forceDataSchema, isMask) { - const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind; - return encode(imgData, kind, forceDataSchema, isMask); - }; - }(); - class SVGExtraState { - constructor() { - this.fontSizeScale = 1; - this.fontWeight = SVG_DEFAULTS.fontWeight; - this.fontSize = 0; - this.textMatrix = _util.IDENTITY_MATRIX; - this.fontMatrix = _util.FONT_IDENTITY_MATRIX; - this.leading = 0; - this.textRenderingMode = _util.TextRenderingMode.FILL; - this.textMatrixScale = 1; - this.x = 0; - this.y = 0; - this.lineX = 0; - this.lineY = 0; - this.charSpacing = 0; - this.wordSpacing = 0; - this.textHScale = 1; - this.textRise = 0; - this.fillColor = SVG_DEFAULTS.fillColor; - this.strokeColor = "#000000"; - this.fillAlpha = 1; - this.strokeAlpha = 1; - this.lineWidth = 1; - this.lineJoin = ""; - this.lineCap = ""; - this.miterLimit = 0; - this.dashArray = []; - this.dashPhase = 0; - this.dependencies = []; - this.activeClipUrl = null; - this.clipGroup = null; - this.maskId = ""; - } - clone() { - return Object.create(this); - } - setCurrentPoint(x, y) { - this.x = x; - this.y = y; - } - } - function opListToTree(opList) { - let opTree = []; - const tmp = []; - for (const opListElement of opList) { - if (opListElement.fn === "save") { - opTree.push({ - fnId: 92, - fn: "group", - items: [] - }); - tmp.push(opTree); - opTree = opTree.at(-1).items; - continue; - } - if (opListElement.fn === "restore") { - opTree = tmp.pop(); - } else { - opTree.push(opListElement); - } - } - return opTree; - } - function pf(value) { - if (Number.isInteger(value)) { - return value.toString(); - } - const s = value.toFixed(10); - let i = s.length - 1; - if (s[i] !== "0") { - return s; - } - do { - i--; - } while (s[i] === "0"); - return s.substring(0, s[i] === "." ? i : i + 1); - } - function pm(m) { - if (m[4] === 0 && m[5] === 0) { - if (m[1] === 0 && m[2] === 0) { - if (m[0] === 1 && m[3] === 1) { - return ""; - } - return `scale(${pf(m[0])} ${pf(m[3])})`; - } - if (m[0] === m[3] && m[1] === -m[2]) { - const a = Math.acos(m[0]) * 180 / Math.PI; - return `rotate(${pf(a)})`; - } - } else { - if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) { - return `translate(${pf(m[4])} ${pf(m[5])})`; - } - } - return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`; - } - let clipCount = 0; - let maskCount = 0; - let shadingCount = 0; - exports.SVGGraphics = SVGGraphics = class { - constructor(commonObjs, objs) { - let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - (0, _display_utils.deprecated)("The SVG back-end is no longer maintained and *may* be removed in the future."); - this.svgFactory = new _display_utils.DOMSVGFactory(); - this.current = new SVGExtraState(); - this.transformMatrix = _util.IDENTITY_MATRIX; - this.transformStack = []; - this.extraStack = []; - this.commonObjs = commonObjs; - this.objs = objs; - this.pendingClip = null; - this.pendingEOFill = false; - this.embedFonts = false; - this.embeddedFonts = Object.create(null); - this.cssStyle = null; - this.forceDataSchema = !!forceDataSchema; - this._operatorIdMapping = []; - for (const op in _util.OPS) { - this._operatorIdMapping[_util.OPS[op]] = op; - } - } - getObject(data) { - let fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - if (typeof data === "string") { - return data.startsWith("g_") ? this.commonObjs.get(data) : this.objs.get(data); - } - return fallback; - } - save() { - this.transformStack.push(this.transformMatrix); - const old = this.current; - this.extraStack.push(old); - this.current = old.clone(); - } - restore() { - this.transformMatrix = this.transformStack.pop(); - this.current = this.extraStack.pop(); - this.pendingClip = null; - this.tgrp = null; - } - group(items) { - this.save(); - this.executeOpTree(items); - this.restore(); - } - loadDependencies(operatorList) { - const fnArray = operatorList.fnArray; - const argsArray = operatorList.argsArray; - for (let i = 0, ii = fnArray.length; i < ii; i++) { - if (fnArray[i] !== _util.OPS.dependency) { - continue; - } - for (const obj of argsArray[i]) { - const objsPool = obj.startsWith("g_") ? this.commonObjs : this.objs; - const promise = new Promise(resolve => { - objsPool.get(obj, resolve); - }); - this.current.dependencies.push(promise); - } - } - return Promise.all(this.current.dependencies); - } - transform(a, b, c, d, e, f) { - const transformMatrix = [a, b, c, d, e, f]; - this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix); - this.tgrp = null; - } - getSVG(operatorList, viewport) { - this.viewport = viewport; - const svgElement = this._initialize(viewport); - return this.loadDependencies(operatorList).then(() => { - this.transformMatrix = _util.IDENTITY_MATRIX; - this.executeOpTree(this.convertOpList(operatorList)); - return svgElement; - }); - } - convertOpList(operatorList) { - const operatorIdMapping = this._operatorIdMapping; - const argsArray = operatorList.argsArray; - const fnArray = operatorList.fnArray; - const opList = []; - for (let i = 0, ii = fnArray.length; i < ii; i++) { - const fnId = fnArray[i]; - opList.push({ - fnId, - fn: operatorIdMapping[fnId], - args: argsArray[i] - }); - } - return opListToTree(opList); - } - executeOpTree(opTree) { - for (const opTreeElement of opTree) { - const fn = opTreeElement.fn; - const fnId = opTreeElement.fnId; - const args = opTreeElement.args; - switch (fnId | 0) { - case _util.OPS.beginText: - this.beginText(); - break; - case _util.OPS.dependency: - break; - case _util.OPS.setLeading: - this.setLeading(args); - break; - case _util.OPS.setLeadingMoveText: - this.setLeadingMoveText(args[0], args[1]); - break; - case _util.OPS.setFont: - this.setFont(args); - break; - case _util.OPS.showText: - this.showText(args[0]); - break; - case _util.OPS.showSpacedText: - this.showText(args[0]); - break; - case _util.OPS.endText: - this.endText(); - break; - case _util.OPS.moveText: - this.moveText(args[0], args[1]); - break; - case _util.OPS.setCharSpacing: - this.setCharSpacing(args[0]); - break; - case _util.OPS.setWordSpacing: - this.setWordSpacing(args[0]); - break; - case _util.OPS.setHScale: - this.setHScale(args[0]); - break; - case _util.OPS.setTextMatrix: - this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]); - break; - case _util.OPS.setTextRise: - this.setTextRise(args[0]); - break; - case _util.OPS.setTextRenderingMode: - this.setTextRenderingMode(args[0]); - break; - case _util.OPS.setLineWidth: - this.setLineWidth(args[0]); - break; - case _util.OPS.setLineJoin: - this.setLineJoin(args[0]); - break; - case _util.OPS.setLineCap: - this.setLineCap(args[0]); - break; - case _util.OPS.setMiterLimit: - this.setMiterLimit(args[0]); - break; - case _util.OPS.setFillRGBColor: - this.setFillRGBColor(args[0], args[1], args[2]); - break; - case _util.OPS.setStrokeRGBColor: - this.setStrokeRGBColor(args[0], args[1], args[2]); - break; - case _util.OPS.setStrokeColorN: - this.setStrokeColorN(args); - break; - case _util.OPS.setFillColorN: - this.setFillColorN(args); - break; - case _util.OPS.shadingFill: - this.shadingFill(args[0]); - break; - case _util.OPS.setDash: - this.setDash(args[0], args[1]); - break; - case _util.OPS.setRenderingIntent: - this.setRenderingIntent(args[0]); - break; - case _util.OPS.setFlatness: - this.setFlatness(args[0]); - break; - case _util.OPS.setGState: - this.setGState(args[0]); - break; - case _util.OPS.fill: - this.fill(); - break; - case _util.OPS.eoFill: - this.eoFill(); - break; - case _util.OPS.stroke: - this.stroke(); - break; - case _util.OPS.fillStroke: - this.fillStroke(); - break; - case _util.OPS.eoFillStroke: - this.eoFillStroke(); - break; - case _util.OPS.clip: - this.clip("nonzero"); - break; - case _util.OPS.eoClip: - this.clip("evenodd"); - break; - case _util.OPS.paintSolidColorImageMask: - this.paintSolidColorImageMask(); - break; - case _util.OPS.paintImageXObject: - this.paintImageXObject(args[0]); - break; - case _util.OPS.paintInlineImageXObject: - this.paintInlineImageXObject(args[0]); - break; - case _util.OPS.paintImageMaskXObject: - this.paintImageMaskXObject(args[0]); - break; - case _util.OPS.paintFormXObjectBegin: - this.paintFormXObjectBegin(args[0], args[1]); - break; - case _util.OPS.paintFormXObjectEnd: - this.paintFormXObjectEnd(); - break; - case _util.OPS.closePath: - this.closePath(); - break; - case _util.OPS.closeStroke: - this.closeStroke(); - break; - case _util.OPS.closeFillStroke: - this.closeFillStroke(); - break; - case _util.OPS.closeEOFillStroke: - this.closeEOFillStroke(); - break; - case _util.OPS.nextLine: - this.nextLine(); - break; - case _util.OPS.transform: - this.transform(args[0], args[1], args[2], args[3], args[4], args[5]); - break; - case _util.OPS.constructPath: - this.constructPath(args[0], args[1]); - break; - case _util.OPS.endPath: - this.endPath(); - break; - case 92: - this.group(opTreeElement.items); - break; - default: - (0, _util.warn)(`Unimplemented operator ${fn}`); - break; - } - } - } - setWordSpacing(wordSpacing) { - this.current.wordSpacing = wordSpacing; - } - setCharSpacing(charSpacing) { - this.current.charSpacing = charSpacing; - } - nextLine() { - this.moveText(0, this.current.leading); - } - setTextMatrix(a, b, c, d, e, f) { - const current = this.current; - current.textMatrix = current.lineMatrix = [a, b, c, d, e, f]; - current.textMatrixScale = Math.hypot(a, b); - current.x = current.lineX = 0; - current.y = current.lineY = 0; - current.xcoords = []; - current.ycoords = []; - current.tspan = this.svgFactory.createElement("svg:tspan"); - current.tspan.setAttributeNS(null, "font-family", current.fontFamily); - current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`); - current.tspan.setAttributeNS(null, "y", pf(-current.y)); - current.txtElement = this.svgFactory.createElement("svg:text"); - current.txtElement.append(current.tspan); - } - beginText() { - const current = this.current; - current.x = current.lineX = 0; - current.y = current.lineY = 0; - current.textMatrix = _util.IDENTITY_MATRIX; - current.lineMatrix = _util.IDENTITY_MATRIX; - current.textMatrixScale = 1; - current.tspan = this.svgFactory.createElement("svg:tspan"); - current.txtElement = this.svgFactory.createElement("svg:text"); - current.txtgrp = this.svgFactory.createElement("svg:g"); - current.xcoords = []; - current.ycoords = []; - } - moveText(x, y) { - const current = this.current; - current.x = current.lineX += x; - current.y = current.lineY += y; - current.xcoords = []; - current.ycoords = []; - current.tspan = this.svgFactory.createElement("svg:tspan"); - current.tspan.setAttributeNS(null, "font-family", current.fontFamily); - current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`); - current.tspan.setAttributeNS(null, "y", pf(-current.y)); - } - showText(glyphs) { - const current = this.current; - const font = current.font; - const fontSize = current.fontSize; - if (fontSize === 0) { - return; - } - const fontSizeScale = current.fontSizeScale; - const charSpacing = current.charSpacing; - const wordSpacing = current.wordSpacing; - const fontDirection = current.fontDirection; - const textHScale = current.textHScale * fontDirection; - const vertical = font.vertical; - const spacingDir = vertical ? 1 : -1; - const defaultVMetrics = font.defaultVMetrics; - const widthAdvanceScale = fontSize * current.fontMatrix[0]; - let x = 0; - for (const glyph of glyphs) { - if (glyph === null) { - x += fontDirection * wordSpacing; - continue; - } else if (typeof glyph === "number") { - x += spacingDir * glyph * fontSize / 1000; - continue; - } - const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; - const character = glyph.fontChar; - let scaledX, scaledY; - let width = glyph.width; - if (vertical) { - let vx; - const vmetric = glyph.vmetric || defaultVMetrics; - vx = glyph.vmetric ? vmetric[1] : width * 0.5; - vx = -vx * widthAdvanceScale; - const vy = vmetric[2] * widthAdvanceScale; - width = vmetric ? -vmetric[0] : width; - scaledX = vx / fontSizeScale; - scaledY = (x + vy) / fontSizeScale; - } else { - scaledX = x / fontSizeScale; - scaledY = 0; - } - if (glyph.isInFont || font.missingFile) { - current.xcoords.push(current.x + scaledX); - if (vertical) { - current.ycoords.push(-current.y + scaledY); - } - current.tspan.textContent += character; - } else {} - let charWidth; - if (vertical) { - charWidth = width * widthAdvanceScale - spacing * fontDirection; - } else { - charWidth = width * widthAdvanceScale + spacing * fontDirection; - } - x += charWidth; - } - current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" ")); - if (vertical) { - current.tspan.setAttributeNS(null, "y", current.ycoords.map(pf).join(" ")); - } else { - current.tspan.setAttributeNS(null, "y", pf(-current.y)); - } - if (vertical) { - current.y -= x; - } else { - current.x += x * textHScale; - } - current.tspan.setAttributeNS(null, "font-family", current.fontFamily); - current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`); - if (current.fontStyle !== SVG_DEFAULTS.fontStyle) { - current.tspan.setAttributeNS(null, "font-style", current.fontStyle); - } - if (current.fontWeight !== SVG_DEFAULTS.fontWeight) { - current.tspan.setAttributeNS(null, "font-weight", current.fontWeight); - } - const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; - if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - if (current.fillColor !== SVG_DEFAULTS.fillColor) { - current.tspan.setAttributeNS(null, "fill", current.fillColor); - } - if (current.fillAlpha < 1) { - current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha); - } - } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) { - current.tspan.setAttributeNS(null, "fill", "transparent"); - } else { - current.tspan.setAttributeNS(null, "fill", "none"); - } - if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { - const lineWidthScale = 1 / (current.textMatrixScale || 1); - this._setStrokeAttributes(current.tspan, lineWidthScale); - } - let textMatrix = current.textMatrix; - if (current.textRise !== 0) { - textMatrix = textMatrix.slice(); - textMatrix[5] += current.textRise; - } - current.txtElement.setAttributeNS(null, "transform", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`); - current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve"); - current.txtElement.append(current.tspan); - current.txtgrp.append(current.txtElement); - this._ensureTransformGroup().append(current.txtElement); - } - setLeadingMoveText(x, y) { - this.setLeading(-y); - this.moveText(x, y); - } - addFontStyle(fontObj) { - if (!fontObj.data) { - throw new Error("addFontStyle: No font data available, " + 'ensure that the "fontExtraProperties" API parameter is set.'); - } - if (!this.cssStyle) { - this.cssStyle = this.svgFactory.createElement("svg:style"); - this.cssStyle.setAttributeNS(null, "type", "text/css"); - this.defs.append(this.cssStyle); - } - const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema); - this.cssStyle.textContent += `@font-face { font-family: "${fontObj.loadedName}";` + ` src: url(${url}); }\n`; - } - setFont(details) { - const current = this.current; - const fontObj = this.commonObjs.get(details[0]); - let size = details[1]; - current.font = fontObj; - if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) { - this.addFontStyle(fontObj); - this.embeddedFonts[fontObj.loadedName] = fontObj; - } - current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; - let bold = "normal"; - if (fontObj.black) { - bold = "900"; - } else if (fontObj.bold) { - bold = "bold"; - } - const italic = fontObj.italic ? "italic" : "normal"; - if (size < 0) { - size = -size; - current.fontDirection = -1; - } else { - current.fontDirection = 1; - } - current.fontSize = size; - current.fontFamily = fontObj.loadedName; - current.fontWeight = bold; - current.fontStyle = italic; - current.tspan = this.svgFactory.createElement("svg:tspan"); - current.tspan.setAttributeNS(null, "y", pf(-current.y)); - current.xcoords = []; - current.ycoords = []; - } - endText() { - var _current$txtElement; - const current = this.current; - if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && (_current$txtElement = current.txtElement) !== null && _current$txtElement !== void 0 && _current$txtElement.hasChildNodes()) { - current.element = current.txtElement; - this.clip("nonzero"); - this.endPath(); - } - } - setLineWidth(width) { - if (width > 0) { - this.current.lineWidth = width; - } - } - setLineCap(style) { - this.current.lineCap = LINE_CAP_STYLES[style]; - } - setLineJoin(style) { - this.current.lineJoin = LINE_JOIN_STYLES[style]; - } - setMiterLimit(limit) { - this.current.miterLimit = limit; - } - setStrokeAlpha(strokeAlpha) { - this.current.strokeAlpha = strokeAlpha; - } - setStrokeRGBColor(r, g, b) { - this.current.strokeColor = _util.Util.makeHexColor(r, g, b); - } - setFillAlpha(fillAlpha) { - this.current.fillAlpha = fillAlpha; - } - setFillRGBColor(r, g, b) { - this.current.fillColor = _util.Util.makeHexColor(r, g, b); - this.current.tspan = this.svgFactory.createElement("svg:tspan"); - this.current.xcoords = []; - this.current.ycoords = []; - } - setStrokeColorN(args) { - this.current.strokeColor = this._makeColorN_Pattern(args); - } - setFillColorN(args) { - this.current.fillColor = this._makeColorN_Pattern(args); - } - shadingFill(args) { - const width = this.viewport.width; - const height = this.viewport.height; - const inv = _util.Util.inverseTransform(this.transformMatrix); - const bl = _util.Util.applyTransform([0, 0], inv); - const br = _util.Util.applyTransform([0, height], inv); - const ul = _util.Util.applyTransform([width, 0], inv); - const ur = _util.Util.applyTransform([width, height], inv); - const x0 = Math.min(bl[0], br[0], ul[0], ur[0]); - const y0 = Math.min(bl[1], br[1], ul[1], ur[1]); - const x1 = Math.max(bl[0], br[0], ul[0], ur[0]); - const y1 = Math.max(bl[1], br[1], ul[1], ur[1]); - const rect = this.svgFactory.createElement("svg:rect"); - rect.setAttributeNS(null, "x", x0); - rect.setAttributeNS(null, "y", y0); - rect.setAttributeNS(null, "width", x1 - x0); - rect.setAttributeNS(null, "height", y1 - y0); - rect.setAttributeNS(null, "fill", this._makeShadingPattern(args)); - if (this.current.fillAlpha < 1) { - rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha); - } - this._ensureTransformGroup().append(rect); - } - _makeColorN_Pattern(args) { - if (args[0] === "TilingPattern") { - return this._makeTilingPattern(args); - } - return this._makeShadingPattern(args); - } - _makeTilingPattern(args) { - const color = args[1]; - const operatorList = args[2]; - const matrix = args[3] || _util.IDENTITY_MATRIX; - const [x0, y0, x1, y1] = args[4]; - const xstep = args[5]; - const ystep = args[6]; - const paintType = args[7]; - const tilingId = `shading${shadingCount++}`; - const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]); - const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix); - const txstep = xstep * xscale; - const tystep = ystep * yscale; - const tiling = this.svgFactory.createElement("svg:pattern"); - tiling.setAttributeNS(null, "id", tilingId); - tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse"); - tiling.setAttributeNS(null, "width", txstep); - tiling.setAttributeNS(null, "height", tystep); - tiling.setAttributeNS(null, "x", `${tx0}`); - tiling.setAttributeNS(null, "y", `${ty0}`); - const svg = this.svg; - const transformMatrix = this.transformMatrix; - const fillColor = this.current.fillColor; - const strokeColor = this.current.strokeColor; - const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0); - this.svg = bbox; - this.transformMatrix = matrix; - if (paintType === 2) { - const cssColor = _util.Util.makeHexColor(...color); - this.current.fillColor = cssColor; - this.current.strokeColor = cssColor; - } - this.executeOpTree(this.convertOpList(operatorList)); - this.svg = svg; - this.transformMatrix = transformMatrix; - this.current.fillColor = fillColor; - this.current.strokeColor = strokeColor; - tiling.append(bbox.childNodes[0]); - this.defs.append(tiling); - return `url(#${tilingId})`; - } - _makeShadingPattern(args) { - if (typeof args === "string") { - args = this.objs.get(args); - } - switch (args[0]) { - case "RadialAxial": - const shadingId = `shading${shadingCount++}`; - const colorStops = args[3]; - let gradient; - switch (args[1]) { - case "axial": - const point0 = args[4]; - const point1 = args[5]; - gradient = this.svgFactory.createElement("svg:linearGradient"); - gradient.setAttributeNS(null, "id", shadingId); - gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); - gradient.setAttributeNS(null, "x1", point0[0]); - gradient.setAttributeNS(null, "y1", point0[1]); - gradient.setAttributeNS(null, "x2", point1[0]); - gradient.setAttributeNS(null, "y2", point1[1]); - break; - case "radial": - const focalPoint = args[4]; - const circlePoint = args[5]; - const focalRadius = args[6]; - const circleRadius = args[7]; - gradient = this.svgFactory.createElement("svg:radialGradient"); - gradient.setAttributeNS(null, "id", shadingId); - gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); - gradient.setAttributeNS(null, "cx", circlePoint[0]); - gradient.setAttributeNS(null, "cy", circlePoint[1]); - gradient.setAttributeNS(null, "r", circleRadius); - gradient.setAttributeNS(null, "fx", focalPoint[0]); - gradient.setAttributeNS(null, "fy", focalPoint[1]); - gradient.setAttributeNS(null, "fr", focalRadius); - break; - default: - throw new Error(`Unknown RadialAxial type: ${args[1]}`); - } - for (const colorStop of colorStops) { - const stop = this.svgFactory.createElement("svg:stop"); - stop.setAttributeNS(null, "offset", colorStop[0]); - stop.setAttributeNS(null, "stop-color", colorStop[1]); - gradient.append(stop); - } - this.defs.append(gradient); - return `url(#${shadingId})`; - case "Mesh": - (0, _util.warn)("Unimplemented pattern Mesh"); - return null; - case "Dummy": - return "hotpink"; - default: - throw new Error(`Unknown IR type: ${args[0]}`); - } - } - setDash(dashArray, dashPhase) { - this.current.dashArray = dashArray; - this.current.dashPhase = dashPhase; - } - constructPath(ops, args) { - const current = this.current; - let x = current.x, - y = current.y; - let d = []; - let j = 0; - for (const op of ops) { - switch (op | 0) { - case _util.OPS.rectangle: - x = args[j++]; - y = args[j++]; - const width = args[j++]; - const height = args[j++]; - const xw = x + width; - const yh = y + height; - d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z"); - break; - case _util.OPS.moveTo: - x = args[j++]; - y = args[j++]; - d.push("M", pf(x), pf(y)); - break; - case _util.OPS.lineTo: - x = args[j++]; - y = args[j++]; - d.push("L", pf(x), pf(y)); - break; - case _util.OPS.curveTo: - x = args[j + 4]; - y = args[j + 5]; - d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y)); - j += 6; - break; - case _util.OPS.curveTo2: - d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3])); - x = args[j + 2]; - y = args[j + 3]; - j += 4; - break; - case _util.OPS.curveTo3: - x = args[j + 2]; - y = args[j + 3]; - d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y)); - j += 4; - break; - case _util.OPS.closePath: - d.push("Z"); - break; - } - } - d = d.join(" "); - if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) { - d = current.path.getAttributeNS(null, "d") + d; - } else { - current.path = this.svgFactory.createElement("svg:path"); - this._ensureTransformGroup().append(current.path); - } - current.path.setAttributeNS(null, "d", d); - current.path.setAttributeNS(null, "fill", "none"); - current.element = current.path; - current.setCurrentPoint(x, y); - } - endPath() { - const current = this.current; - current.path = null; - if (!this.pendingClip) { - return; - } - if (!current.element) { - this.pendingClip = null; - return; - } - const clipId = `clippath${clipCount++}`; - const clipPath = this.svgFactory.createElement("svg:clipPath"); - clipPath.setAttributeNS(null, "id", clipId); - clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix)); - const clipElement = current.element.cloneNode(true); - if (this.pendingClip === "evenodd") { - clipElement.setAttributeNS(null, "clip-rule", "evenodd"); - } else { - clipElement.setAttributeNS(null, "clip-rule", "nonzero"); - } - this.pendingClip = null; - clipPath.append(clipElement); - this.defs.append(clipPath); - if (current.activeClipUrl) { - current.clipGroup = null; - for (const prev of this.extraStack) { - prev.clipGroup = null; - } - clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl); - } - current.activeClipUrl = `url(#${clipId})`; - this.tgrp = null; - } - clip(type) { - this.pendingClip = type; - } - closePath() { - const current = this.current; - if (current.path) { - const d = `${current.path.getAttributeNS(null, "d")}Z`; - current.path.setAttributeNS(null, "d", d); - } - } - setLeading(leading) { - this.current.leading = -leading; - } - setTextRise(textRise) { - this.current.textRise = textRise; - } - setTextRenderingMode(textRenderingMode) { - this.current.textRenderingMode = textRenderingMode; - } - setHScale(scale) { - this.current.textHScale = scale / 100; - } - setRenderingIntent(intent) {} - setFlatness(flatness) {} - setGState(states) { - for (const [key, value] of states) { - switch (key) { - case "LW": - this.setLineWidth(value); - break; - case "LC": - this.setLineCap(value); - break; - case "LJ": - this.setLineJoin(value); - break; - case "ML": - this.setMiterLimit(value); - break; - case "D": - this.setDash(value[0], value[1]); - break; - case "RI": - this.setRenderingIntent(value); - break; - case "FL": - this.setFlatness(value); - break; - case "Font": - this.setFont(value); - break; - case "CA": - this.setStrokeAlpha(value); - break; - case "ca": - this.setFillAlpha(value); - break; - default: - (0, _util.warn)(`Unimplemented graphic state operator ${key}`); - break; - } - } - } - fill() { - const current = this.current; - if (current.element) { - current.element.setAttributeNS(null, "fill", current.fillColor); - current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha); - this.endPath(); - } - } - stroke() { - const current = this.current; - if (current.element) { - this._setStrokeAttributes(current.element); - current.element.setAttributeNS(null, "fill", "none"); - this.endPath(); - } - } - _setStrokeAttributes(element) { - let lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; - const current = this.current; - let dashArray = current.dashArray; - if (lineWidthScale !== 1 && dashArray.length > 0) { - dashArray = dashArray.map(function (value) { - return lineWidthScale * value; - }); - } - element.setAttributeNS(null, "stroke", current.strokeColor); - element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha); - element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit)); - element.setAttributeNS(null, "stroke-linecap", current.lineCap); - element.setAttributeNS(null, "stroke-linejoin", current.lineJoin); - element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px"); - element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" ")); - element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px"); - } - eoFill() { - var _this$current$element; - (_this$current$element = this.current.element) === null || _this$current$element === void 0 ? void 0 : _this$current$element.setAttributeNS(null, "fill-rule", "evenodd"); - this.fill(); - } - fillStroke() { - this.stroke(); - this.fill(); - } - eoFillStroke() { - var _this$current$element2; - (_this$current$element2 = this.current.element) === null || _this$current$element2 === void 0 ? void 0 : _this$current$element2.setAttributeNS(null, "fill-rule", "evenodd"); - this.fillStroke(); - } - closeStroke() { - this.closePath(); - this.stroke(); - } - closeFillStroke() { - this.closePath(); - this.fillStroke(); - } - closeEOFillStroke() { - this.closePath(); - this.eoFillStroke(); - } - paintSolidColorImageMask() { - const rect = this.svgFactory.createElement("svg:rect"); - rect.setAttributeNS(null, "x", "0"); - rect.setAttributeNS(null, "y", "0"); - rect.setAttributeNS(null, "width", "1px"); - rect.setAttributeNS(null, "height", "1px"); - rect.setAttributeNS(null, "fill", this.current.fillColor); - this._ensureTransformGroup().append(rect); - } - paintImageXObject(objId) { - const imgData = this.getObject(objId); - if (!imgData) { - (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`); - return; - } - this.paintInlineImageXObject(imgData); - } - paintInlineImageXObject(imgData, mask) { - const width = imgData.width; - const height = imgData.height; - const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask); - const cliprect = this.svgFactory.createElement("svg:rect"); - cliprect.setAttributeNS(null, "x", "0"); - cliprect.setAttributeNS(null, "y", "0"); - cliprect.setAttributeNS(null, "width", pf(width)); - cliprect.setAttributeNS(null, "height", pf(height)); - this.current.element = cliprect; - this.clip("nonzero"); - const imgEl = this.svgFactory.createElement("svg:image"); - imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc); - imgEl.setAttributeNS(null, "x", "0"); - imgEl.setAttributeNS(null, "y", pf(-height)); - imgEl.setAttributeNS(null, "width", pf(width) + "px"); - imgEl.setAttributeNS(null, "height", pf(height) + "px"); - imgEl.setAttributeNS(null, "transform", `scale(${pf(1 / width)} ${pf(-1 / height)})`); - if (mask) { - mask.append(imgEl); - } else { - this._ensureTransformGroup().append(imgEl); - } - } - paintImageMaskXObject(img) { - const imgData = this.getObject(img.data, img); - if (imgData.bitmap) { - (0, _util.warn)("paintImageMaskXObject: ImageBitmap support is not implemented, " + "ensure that the `isOffscreenCanvasSupported` API parameter is disabled."); - return; - } - const current = this.current; - const width = imgData.width; - const height = imgData.height; - const fillColor = current.fillColor; - current.maskId = `mask${maskCount++}`; - const mask = this.svgFactory.createElement("svg:mask"); - mask.setAttributeNS(null, "id", current.maskId); - const rect = this.svgFactory.createElement("svg:rect"); - rect.setAttributeNS(null, "x", "0"); - rect.setAttributeNS(null, "y", "0"); - rect.setAttributeNS(null, "width", pf(width)); - rect.setAttributeNS(null, "height", pf(height)); - rect.setAttributeNS(null, "fill", fillColor); - rect.setAttributeNS(null, "mask", `url(#${current.maskId})`); - this.defs.append(mask); - this._ensureTransformGroup().append(rect); - this.paintInlineImageXObject(imgData, mask); - } - paintFormXObjectBegin(matrix, bbox) { - if (Array.isArray(matrix) && matrix.length === 6) { - this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]); - } - if (bbox) { - const width = bbox[2] - bbox[0]; - const height = bbox[3] - bbox[1]; - const cliprect = this.svgFactory.createElement("svg:rect"); - cliprect.setAttributeNS(null, "x", bbox[0]); - cliprect.setAttributeNS(null, "y", bbox[1]); - cliprect.setAttributeNS(null, "width", pf(width)); - cliprect.setAttributeNS(null, "height", pf(height)); - this.current.element = cliprect; - this.clip("nonzero"); - this.endPath(); - } - } - paintFormXObjectEnd() {} - _initialize(viewport) { - const svg = this.svgFactory.create(viewport.width, viewport.height); - const definitions = this.svgFactory.createElement("svg:defs"); - svg.append(definitions); - this.defs = definitions; - const rootGroup = this.svgFactory.createElement("svg:g"); - rootGroup.setAttributeNS(null, "transform", pm(viewport.transform)); - svg.append(rootGroup); - this.svg = rootGroup; - return svg; - } - _ensureClipGroup() { - if (!this.current.clipGroup) { - const clipGroup = this.svgFactory.createElement("svg:g"); - clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl); - this.svg.append(clipGroup); - this.current.clipGroup = clipGroup; - } - return this.current.clipGroup; - } - _ensureTransformGroup() { - if (!this.tgrp) { - this.tgrp = this.svgFactory.createElement("svg:g"); - this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix)); - if (this.current.activeClipUrl) { - this._ensureClipGroup().append(this.tgrp); - } else { - this.svg.append(this.tgrp); - } - } - return this.tgrp; - } - }; -} - -/***/ }), -/* 161 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.PDFNodeStream = void 0; -var _util = __w_pdfjs_require__(1); -var _network_utils = __w_pdfjs_require__(162); -; -const fs = require("fs"); -const http = require("http"); -const https = require("https"); -const url = require("url"); -const fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//; -function parseUrl(sourceUrl) { - const parsedUrl = url.parse(sourceUrl); - if (parsedUrl.protocol === "file:" || parsedUrl.host) { - return parsedUrl; - } - if (/^[a-z]:[/\\]/i.test(sourceUrl)) { - return url.parse(`file:///${sourceUrl}`); - } - if (!parsedUrl.host) { - parsedUrl.protocol = "file:"; - } - return parsedUrl; -} -class PDFNodeStream { - constructor(source) { - this.source = source; - this.url = parseUrl(source.url); - this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:"; - this.isFsUrl = this.url.protocol === "file:"; - this.httpHeaders = this.isHttp && source.httpHeaders || {}; - this._fullRequestReader = null; - this._rangeRequestReaders = []; - } - get _progressiveDataLength() { - var _this$_fullRequestRea; - return ((_this$_fullRequestRea = this._fullRequestReader) === null || _this$_fullRequestRea === void 0 ? void 0 : _this$_fullRequestRea._loaded) ?? 0; - } - getFullReader() { - (0, _util.assert)(!this._fullRequestReader, "PDFNodeStream.getFullReader can only be called once."); - this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this); - return this._fullRequestReader; - } - getRangeReader(start, end) { - if (end <= this._progressiveDataLength) { - return null; - } - const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end); - this._rangeRequestReaders.push(rangeReader); - return rangeReader; - } - cancelAllRequests(reason) { - var _this$_fullRequestRea2; - (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2.cancel(reason); - for (const reader of this._rangeRequestReaders.slice(0)) { - reader.cancel(reason); - } - } -} -exports.PDFNodeStream = PDFNodeStream; -class BaseFullReader { - constructor(stream) { - this._url = stream.url; - this._done = false; - this._storedError = null; - this.onProgress = null; - const source = stream.source; - this._contentLength = source.length; - this._loaded = 0; - this._filename = null; - this._disableRange = source.disableRange || false; - this._rangeChunkSize = source.rangeChunkSize; - if (!this._rangeChunkSize && !this._disableRange) { - this._disableRange = true; - } - this._isStreamingSupported = !source.disableStream; - this._isRangeSupported = !source.disableRange; - this._readableStream = null; - this._readCapability = (0, _util.createPromiseCapability)(); - this._headersCapability = (0, _util.createPromiseCapability)(); - } - get headersReady() { - return this._headersCapability.promise; - } - get filename() { - return this._filename; - } - get contentLength() { - return this._contentLength; - } - get isRangeSupported() { - return this._isRangeSupported; - } - get isStreamingSupported() { - return this._isStreamingSupported; - } - async read() { - var _this$onProgress; - await this._readCapability.promise; - if (this._done) { - return { - value: undefined, - done: true - }; - } - if (this._storedError) { - throw this._storedError; - } - const chunk = this._readableStream.read(); - if (chunk === null) { - this._readCapability = (0, _util.createPromiseCapability)(); - return this.read(); - } - this._loaded += chunk.length; - (_this$onProgress = this.onProgress) === null || _this$onProgress === void 0 ? void 0 : _this$onProgress.call(this, { - loaded: this._loaded, - total: this._contentLength - }); - const buffer = new Uint8Array(chunk).buffer; - return { - value: buffer, - done: false - }; - } - cancel(reason) { - if (!this._readableStream) { - this._error(reason); - return; - } - this._readableStream.destroy(reason); - } - _error(reason) { - this._storedError = reason; - this._readCapability.resolve(); - } - _setReadableStream(readableStream) { - this._readableStream = readableStream; - readableStream.on("readable", () => { - this._readCapability.resolve(); - }); - readableStream.on("end", () => { - readableStream.destroy(); - this._done = true; - this._readCapability.resolve(); - }); - readableStream.on("error", reason => { - this._error(reason); - }); - if (!this._isStreamingSupported && this._isRangeSupported) { - this._error(new _util.AbortException("streaming is disabled")); - } - if (this._storedError) { - this._readableStream.destroy(this._storedError); - } - } -} -class BaseRangeReader { - constructor(stream) { - this._url = stream.url; - this._done = false; - this._storedError = null; - this.onProgress = null; - this._loaded = 0; - this._readableStream = null; - this._readCapability = (0, _util.createPromiseCapability)(); - const source = stream.source; - this._isStreamingSupported = !source.disableStream; - } - get isStreamingSupported() { - return this._isStreamingSupported; - } - async read() { - var _this$onProgress2; - await this._readCapability.promise; - if (this._done) { - return { - value: undefined, - done: true - }; - } - if (this._storedError) { - throw this._storedError; - } - const chunk = this._readableStream.read(); - if (chunk === null) { - this._readCapability = (0, _util.createPromiseCapability)(); - return this.read(); - } - this._loaded += chunk.length; - (_this$onProgress2 = this.onProgress) === null || _this$onProgress2 === void 0 ? void 0 : _this$onProgress2.call(this, { - loaded: this._loaded - }); - const buffer = new Uint8Array(chunk).buffer; - return { - value: buffer, - done: false - }; - } - cancel(reason) { - if (!this._readableStream) { - this._error(reason); - return; - } - this._readableStream.destroy(reason); - } - _error(reason) { - this._storedError = reason; - this._readCapability.resolve(); - } - _setReadableStream(readableStream) { - this._readableStream = readableStream; - readableStream.on("readable", () => { - this._readCapability.resolve(); - }); - readableStream.on("end", () => { - readableStream.destroy(); - this._done = true; - this._readCapability.resolve(); - }); - readableStream.on("error", reason => { - this._error(reason); - }); - if (this._storedError) { - this._readableStream.destroy(this._storedError); - } - } -} -function createRequestOptions(parsedUrl, headers) { - return { - protocol: parsedUrl.protocol, - auth: parsedUrl.auth, - host: parsedUrl.hostname, - port: parsedUrl.port, - path: parsedUrl.path, - method: "GET", - headers - }; -} -class PDFNodeStreamFullReader extends BaseFullReader { - constructor(stream) { - super(stream); - const handleResponse = response => { - if (response.statusCode === 404) { - const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`); - this._storedError = error; - this._headersCapability.reject(error); - return; - } - this._headersCapability.resolve(); - this._setReadableStream(response); - const getResponseHeader = name => { - return this._readableStream.headers[name.toLowerCase()]; - }; - const { - allowRangeRequests, - suggestedLength - } = (0, _network_utils.validateRangeRequestCapabilities)({ - getResponseHeader, - isHttp: stream.isHttp, - rangeChunkSize: this._rangeChunkSize, - disableRange: this._disableRange - }); - this._isRangeSupported = allowRangeRequests; - this._contentLength = suggestedLength || this._contentLength; - this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); - }; - this._request = null; - if (this._url.protocol === "http:") { - this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse); - } else { - this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse); - } - this._request.on("error", reason => { - this._storedError = reason; - this._headersCapability.reject(reason); - }); - this._request.end(); - } -} -class PDFNodeStreamRangeReader extends BaseRangeReader { - constructor(stream, start, end) { - super(stream); - this._httpHeaders = {}; - for (const property in stream.httpHeaders) { - const value = stream.httpHeaders[property]; - if (typeof value === "undefined") { - continue; - } - this._httpHeaders[property] = value; - } - this._httpHeaders.Range = `bytes=${start}-${end - 1}`; - const handleResponse = response => { - if (response.statusCode === 404) { - const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`); - this._storedError = error; - return; - } - this._setReadableStream(response); - }; - this._request = null; - if (this._url.protocol === "http:") { - this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse); - } else { - this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse); - } - this._request.on("error", reason => { - this._storedError = reason; - }); - this._request.end(); - } -} -class PDFNodeStreamFsFullReader extends BaseFullReader { - constructor(stream) { - super(stream); - let path = decodeURIComponent(this._url.path); - if (fileUriRegex.test(this._url.href)) { - path = path.replace(/^\//, ""); - } - fs.lstat(path, (error, stat) => { - if (error) { - if (error.code === "ENOENT") { - error = new _util.MissingPDFException(`Missing PDF "${path}".`); - } - this._storedError = error; - this._headersCapability.reject(error); - return; - } - this._contentLength = stat.size; - this._setReadableStream(fs.createReadStream(path)); - this._headersCapability.resolve(); - }); - } -} -class PDFNodeStreamFsRangeReader extends BaseRangeReader { - constructor(stream, start, end) { - super(stream); - let path = decodeURIComponent(this._url.path); - if (fileUriRegex.test(this._url.href)) { - path = path.replace(/^\//, ""); - } - this._setReadableStream(fs.createReadStream(path, { - start, - end: end - 1 - })); - } -} - -/***/ }), -/* 162 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.createResponseStatusError = createResponseStatusError; -exports.extractFilenameFromHeader = extractFilenameFromHeader; -exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities; -exports.validateResponseStatus = validateResponseStatus; -var _util = __w_pdfjs_require__(1); -var _content_disposition = __w_pdfjs_require__(163); -var _display_utils = __w_pdfjs_require__(137); -function validateRangeRequestCapabilities(_ref) { - let { - getResponseHeader, - isHttp, - rangeChunkSize, - disableRange - } = _ref; - const returnValues = { - allowRangeRequests: false, - suggestedLength: undefined - }; - const length = parseInt(getResponseHeader("Content-Length"), 10); - if (!Number.isInteger(length)) { - return returnValues; - } - returnValues.suggestedLength = length; - if (length <= 2 * rangeChunkSize) { - return returnValues; - } - if (disableRange || !isHttp) { - return returnValues; - } - if (getResponseHeader("Accept-Ranges") !== "bytes") { - return returnValues; - } - const contentEncoding = getResponseHeader("Content-Encoding") || "identity"; - if (contentEncoding !== "identity") { - return returnValues; - } - returnValues.allowRangeRequests = true; - return returnValues; -} -function extractFilenameFromHeader(getResponseHeader) { - const contentDisposition = getResponseHeader("Content-Disposition"); - if (contentDisposition) { - let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition); - if (filename.includes("%")) { - try { - filename = decodeURIComponent(filename); - } catch (ex) {} - } - if ((0, _display_utils.isPdfFile)(filename)) { - return filename; - } - } - return null; -} -function createResponseStatusError(status, url) { - if (status === 404 || status === 0 && url.startsWith("file:")) { - return new _util.MissingPDFException('Missing PDF "' + url + '".'); - } - return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF "${url}".`, status); -} -function validateResponseStatus(status) { - return status === 200 || status === 206; -} - -/***/ }), -/* 163 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader; -var _util = __w_pdfjs_require__(1); -function getFilenameFromContentDispositionHeader(contentDisposition) { - let needsEncodingFixup = true; - let tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition); - if (tmp) { - tmp = tmp[1]; - let filename = rfc2616unquote(tmp); - filename = unescape(filename); - filename = rfc5987decode(filename); - filename = rfc2047decode(filename); - return fixupEncoding(filename); - } - tmp = rfc2231getparam(contentDisposition); - if (tmp) { - const filename = rfc2047decode(tmp); - return fixupEncoding(filename); - } - tmp = toParamRegExp("filename", "i").exec(contentDisposition); - if (tmp) { - tmp = tmp[1]; - let filename = rfc2616unquote(tmp); - filename = rfc2047decode(filename); - return fixupEncoding(filename); - } - function toParamRegExp(attributePattern, flags) { - return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags); - } - function textdecode(encoding, value) { - if (encoding) { - if (!/^[\x00-\xFF]+$/.test(value)) { - return value; - } - try { - const decoder = new TextDecoder(encoding, { - fatal: true - }); - const buffer = (0, _util.stringToBytes)(value); - value = decoder.decode(buffer); - needsEncodingFixup = false; - } catch (e) {} - } - return value; - } - function fixupEncoding(value) { - if (needsEncodingFixup && /[\x80-\xff]/.test(value)) { - value = textdecode("utf-8", value); - if (needsEncodingFixup) { - value = textdecode("iso-8859-1", value); - } - } - return value; - } - function rfc2231getparam(contentDispositionStr) { - const matches = []; - let match; - const iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig"); - while ((match = iter.exec(contentDispositionStr)) !== null) { - let [, n, quot, part] = match; - n = parseInt(n, 10); - if (n in matches) { - if (n === 0) { - break; - } - continue; - } - matches[n] = [quot, part]; - } - const parts = []; - for (let n = 0; n < matches.length; ++n) { - if (!(n in matches)) { - break; - } - let [quot, part] = matches[n]; - part = rfc2616unquote(part); - if (quot) { - part = unescape(part); - if (n === 0) { - part = rfc5987decode(part); - } - } - parts.push(part); - } - return parts.join(""); - } - function rfc2616unquote(value) { - if (value.startsWith('"')) { - const parts = value.slice(1).split('\\"'); - for (let i = 0; i < parts.length; ++i) { - const quotindex = parts[i].indexOf('"'); - if (quotindex !== -1) { - parts[i] = parts[i].slice(0, quotindex); - parts.length = i + 1; - } - parts[i] = parts[i].replace(/\\(.)/g, "$1"); - } - value = parts.join('"'); - } - return value; - } - function rfc5987decode(extvalue) { - const encodingend = extvalue.indexOf("'"); - if (encodingend === -1) { - return extvalue; - } - const encoding = extvalue.slice(0, encodingend); - const langvalue = extvalue.slice(encodingend + 1); - const value = langvalue.replace(/^[^']*'/, ""); - return textdecode(encoding, value); - } - function rfc2047decode(value) { - if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) { - return value; - } - return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) { - if (encoding === "q" || encoding === "Q") { - text = text.replace(/_/g, " "); - text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) { - return String.fromCharCode(parseInt(hex, 16)); - }); - return textdecode(charset, text); - } - try { - text = atob(text); - } catch (e) {} - return textdecode(charset, text); - }); - } - return ""; -} - -/***/ }), -/* 164 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.PDFNetworkStream = void 0; -var _util = __w_pdfjs_require__(1); -var _network_utils = __w_pdfjs_require__(162); -; -const OK_RESPONSE = 200; -const PARTIAL_CONTENT_RESPONSE = 206; -function getArrayBuffer(xhr) { - const data = xhr.response; - if (typeof data !== "string") { - return data; - } - const array = (0, _util.stringToBytes)(data); - return array.buffer; -} -class NetworkManager { - constructor(url) { - let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - this.url = url; - this.isHttp = /^https?:/i.test(url); - this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null); - this.withCredentials = args.withCredentials || false; - this.getXhr = args.getXhr || function NetworkManager_getXhr() { - return new XMLHttpRequest(); - }; - this.currXhrId = 0; - this.pendingRequests = Object.create(null); - } - requestRange(begin, end, listeners) { - const args = { - begin, - end - }; - for (const prop in listeners) { - args[prop] = listeners[prop]; - } - return this.request(args); - } - requestFull(listeners) { - return this.request(listeners); - } - request(args) { - const xhr = this.getXhr(); - const xhrId = this.currXhrId++; - const pendingRequest = this.pendingRequests[xhrId] = { - xhr - }; - xhr.open("GET", this.url); - xhr.withCredentials = this.withCredentials; - for (const property in this.httpHeaders) { - const value = this.httpHeaders[property]; - if (typeof value === "undefined") { - continue; - } - xhr.setRequestHeader(property, value); - } - if (this.isHttp && "begin" in args && "end" in args) { - xhr.setRequestHeader("Range", `bytes=${args.begin}-${args.end - 1}`); - pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE; - } else { - pendingRequest.expectedStatus = OK_RESPONSE; - } - xhr.responseType = "arraybuffer"; - if (args.onError) { - xhr.onerror = function (evt) { - args.onError(xhr.status); - }; - } - xhr.onreadystatechange = this.onStateChange.bind(this, xhrId); - xhr.onprogress = this.onProgress.bind(this, xhrId); - pendingRequest.onHeadersReceived = args.onHeadersReceived; - pendingRequest.onDone = args.onDone; - pendingRequest.onError = args.onError; - pendingRequest.onProgress = args.onProgress; - xhr.send(null); - return xhrId; - } - onProgress(xhrId, evt) { - var _pendingRequest$onPro; - const pendingRequest = this.pendingRequests[xhrId]; - if (!pendingRequest) { - return; - } - (_pendingRequest$onPro = pendingRequest.onProgress) === null || _pendingRequest$onPro === void 0 ? void 0 : _pendingRequest$onPro.call(pendingRequest, evt); - } - onStateChange(xhrId, evt) { - const pendingRequest = this.pendingRequests[xhrId]; - if (!pendingRequest) { - return; - } - const xhr = pendingRequest.xhr; - if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) { - pendingRequest.onHeadersReceived(); - delete pendingRequest.onHeadersReceived; - } - if (xhr.readyState !== 4) { - return; - } - if (!(xhrId in this.pendingRequests)) { - return; - } - delete this.pendingRequests[xhrId]; - if (xhr.status === 0 && this.isHttp) { - var _pendingRequest$onErr; - (_pendingRequest$onErr = pendingRequest.onError) === null || _pendingRequest$onErr === void 0 ? void 0 : _pendingRequest$onErr.call(pendingRequest, xhr.status); - return; - } - const xhrStatus = xhr.status || OK_RESPONSE; - const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE; - if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) { - var _pendingRequest$onErr2; - (_pendingRequest$onErr2 = pendingRequest.onError) === null || _pendingRequest$onErr2 === void 0 ? void 0 : _pendingRequest$onErr2.call(pendingRequest, xhr.status); - return; - } - const chunk = getArrayBuffer(xhr); - if (xhrStatus === PARTIAL_CONTENT_RESPONSE) { - const rangeHeader = xhr.getResponseHeader("Content-Range"); - const matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader); - pendingRequest.onDone({ - begin: parseInt(matches[1], 10), - chunk - }); - } else if (chunk) { - pendingRequest.onDone({ - begin: 0, - chunk - }); - } else { - var _pendingRequest$onErr3; - (_pendingRequest$onErr3 = pendingRequest.onError) === null || _pendingRequest$onErr3 === void 0 ? void 0 : _pendingRequest$onErr3.call(pendingRequest, xhr.status); - } - } - getRequestXhr(xhrId) { - return this.pendingRequests[xhrId].xhr; - } - isPendingRequest(xhrId) { - return xhrId in this.pendingRequests; - } - abortRequest(xhrId) { - const xhr = this.pendingRequests[xhrId].xhr; - delete this.pendingRequests[xhrId]; - xhr.abort(); - } -} -class PDFNetworkStream { - constructor(source) { - this._source = source; - this._manager = new NetworkManager(source.url, { - httpHeaders: source.httpHeaders, - withCredentials: source.withCredentials - }); - this._rangeChunkSize = source.rangeChunkSize; - this._fullRequestReader = null; - this._rangeRequestReaders = []; - } - _onRangeRequestReaderClosed(reader) { - const i = this._rangeRequestReaders.indexOf(reader); - if (i >= 0) { - this._rangeRequestReaders.splice(i, 1); - } - } - getFullReader() { - (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once."); - this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source); - return this._fullRequestReader; - } - getRangeReader(begin, end) { - const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end); - reader.onClosed = this._onRangeRequestReaderClosed.bind(this); - this._rangeRequestReaders.push(reader); - return reader; - } - cancelAllRequests(reason) { - var _this$_fullRequestRea; - (_this$_fullRequestRea = this._fullRequestReader) === null || _this$_fullRequestRea === void 0 ? void 0 : _this$_fullRequestRea.cancel(reason); - for (const reader of this._rangeRequestReaders.slice(0)) { - reader.cancel(reason); - } - } -} -exports.PDFNetworkStream = PDFNetworkStream; -class PDFNetworkStreamFullRequestReader { - constructor(manager, source) { - this._manager = manager; - const args = { - onHeadersReceived: this._onHeadersReceived.bind(this), - onDone: this._onDone.bind(this), - onError: this._onError.bind(this), - onProgress: this._onProgress.bind(this) - }; - this._url = source.url; - this._fullRequestId = manager.requestFull(args); - this._headersReceivedCapability = (0, _util.createPromiseCapability)(); - this._disableRange = source.disableRange || false; - this._contentLength = source.length; - this._rangeChunkSize = source.rangeChunkSize; - if (!this._rangeChunkSize && !this._disableRange) { - this._disableRange = true; - } - this._isStreamingSupported = false; - this._isRangeSupported = false; - this._cachedChunks = []; - this._requests = []; - this._done = false; - this._storedError = undefined; - this._filename = null; - this.onProgress = null; - } - _onHeadersReceived() { - const fullRequestXhrId = this._fullRequestId; - const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId); - const getResponseHeader = name => { - return fullRequestXhr.getResponseHeader(name); - }; - const { - allowRangeRequests, - suggestedLength - } = (0, _network_utils.validateRangeRequestCapabilities)({ - getResponseHeader, - isHttp: this._manager.isHttp, - rangeChunkSize: this._rangeChunkSize, - disableRange: this._disableRange - }); - if (allowRangeRequests) { - this._isRangeSupported = true; - } - this._contentLength = suggestedLength || this._contentLength; - this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); - if (this._isRangeSupported) { - this._manager.abortRequest(fullRequestXhrId); - } - this._headersReceivedCapability.resolve(); - } - _onDone(data) { - if (data) { - if (this._requests.length > 0) { - const requestCapability = this._requests.shift(); - requestCapability.resolve({ - value: data.chunk, - done: false - }); - } else { - this._cachedChunks.push(data.chunk); - } - } - this._done = true; - if (this._cachedChunks.length > 0) { - return; - } - for (const requestCapability of this._requests) { - requestCapability.resolve({ - value: undefined, - done: true - }); - } - this._requests.length = 0; - } - _onError(status) { - this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); - this._headersReceivedCapability.reject(this._storedError); - for (const requestCapability of this._requests) { - requestCapability.reject(this._storedError); - } - this._requests.length = 0; - this._cachedChunks.length = 0; - } - _onProgress(evt) { - var _this$onProgress; - (_this$onProgress = this.onProgress) === null || _this$onProgress === void 0 ? void 0 : _this$onProgress.call(this, { - loaded: evt.loaded, - total: evt.lengthComputable ? evt.total : this._contentLength - }); - } - get filename() { - return this._filename; - } - get isRangeSupported() { - return this._isRangeSupported; - } - get isStreamingSupported() { - return this._isStreamingSupported; - } - get contentLength() { - return this._contentLength; - } - get headersReady() { - return this._headersReceivedCapability.promise; - } - async read() { - if (this._storedError) { - throw this._storedError; - } - if (this._cachedChunks.length > 0) { - const chunk = this._cachedChunks.shift(); - return { - value: chunk, - done: false - }; - } - if (this._done) { - return { - value: undefined, - done: true - }; - } - const requestCapability = (0, _util.createPromiseCapability)(); - this._requests.push(requestCapability); - return requestCapability.promise; - } - cancel(reason) { - this._done = true; - this._headersReceivedCapability.reject(reason); - for (const requestCapability of this._requests) { - requestCapability.resolve({ - value: undefined, - done: true - }); - } - this._requests.length = 0; - if (this._manager.isPendingRequest(this._fullRequestId)) { - this._manager.abortRequest(this._fullRequestId); - } - this._fullRequestReader = null; - } -} -class PDFNetworkStreamRangeRequestReader { - constructor(manager, begin, end) { - this._manager = manager; - const args = { - onDone: this._onDone.bind(this), - onError: this._onError.bind(this), - onProgress: this._onProgress.bind(this) - }; - this._url = manager.url; - this._requestId = manager.requestRange(begin, end, args); - this._requests = []; - this._queuedChunk = null; - this._done = false; - this._storedError = undefined; - this.onProgress = null; - this.onClosed = null; - } - _close() { - var _this$onClosed; - (_this$onClosed = this.onClosed) === null || _this$onClosed === void 0 ? void 0 : _this$onClosed.call(this, this); - } - _onDone(data) { - const chunk = data.chunk; - if (this._requests.length > 0) { - const requestCapability = this._requests.shift(); - requestCapability.resolve({ - value: chunk, - done: false - }); - } else { - this._queuedChunk = chunk; - } - this._done = true; - for (const requestCapability of this._requests) { - requestCapability.resolve({ - value: undefined, - done: true - }); - } - this._requests.length = 0; - this._close(); - } - _onError(status) { - this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); - for (const requestCapability of this._requests) { - requestCapability.reject(this._storedError); - } - this._requests.length = 0; - this._queuedChunk = null; - } - _onProgress(evt) { - if (!this.isStreamingSupported) { - var _this$onProgress2; - (_this$onProgress2 = this.onProgress) === null || _this$onProgress2 === void 0 ? void 0 : _this$onProgress2.call(this, { - loaded: evt.loaded - }); - } - } - get isStreamingSupported() { - return false; - } - async read() { - if (this._storedError) { - throw this._storedError; - } - if (this._queuedChunk !== null) { - const chunk = this._queuedChunk; - this._queuedChunk = null; - return { - value: chunk, - done: false - }; - } - if (this._done) { - return { - value: undefined, - done: true - }; - } - const requestCapability = (0, _util.createPromiseCapability)(); - this._requests.push(requestCapability); - return requestCapability.promise; - } - cancel(reason) { - this._done = true; - for (const requestCapability of this._requests) { - requestCapability.resolve({ - value: undefined, - done: true - }); - } - this._requests.length = 0; - if (this._manager.isPendingRequest(this._requestId)) { - this._manager.abortRequest(this._requestId); - } - this._close(); - } -} - -/***/ }), -/* 165 */ -/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.PDFFetchStream = void 0; -var _util = __w_pdfjs_require__(1); -var _network_utils = __w_pdfjs_require__(162); -; -function createFetchOptions(headers, withCredentials, abortController) { - return { - method: "GET", - headers, - signal: abortController.signal, - mode: "cors", - credentials: withCredentials ? "include" : "same-origin", - redirect: "follow" - }; -} -function createHeaders(httpHeaders) { - const headers = new Headers(); - for (const property in httpHeaders) { - const value = httpHeaders[property]; - if (typeof value === "undefined") { - continue; - } - headers.append(property, value); - } - return headers; -} -class PDFFetchStream { - constructor(source) { - this.source = source; - this.isHttp = /^https?:/i.test(source.url); - this.httpHeaders = this.isHttp && source.httpHeaders || {}; - this._fullRequestReader = null; - this._rangeRequestReaders = []; - } - get _progressiveDataLength() { - var _this$_fullRequestRea; - return ((_this$_fullRequestRea = this._fullRequestReader) === null || _this$_fullRequestRea === void 0 ? void 0 : _this$_fullRequestRea._loaded) ?? 0; - } - getFullReader() { - (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once."); - this._fullRequestReader = new PDFFetchStreamReader(this); - return this._fullRequestReader; - } - getRangeReader(begin, end) { - if (end <= this._progressiveDataLength) { - return null; - } - const reader = new PDFFetchStreamRangeReader(this, begin, end); - this._rangeRequestReaders.push(reader); - return reader; - } - cancelAllRequests(reason) { - var _this$_fullRequestRea2; - (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2.cancel(reason); - for (const reader of this._rangeRequestReaders.slice(0)) { - reader.cancel(reason); - } - } -} -exports.PDFFetchStream = PDFFetchStream; -class PDFFetchStreamReader { - constructor(stream) { - this._stream = stream; - this._reader = null; - this._loaded = 0; - this._filename = null; - const source = stream.source; - this._withCredentials = source.withCredentials || false; - this._contentLength = source.length; - this._headersCapability = (0, _util.createPromiseCapability)(); - this._disableRange = source.disableRange || false; - this._rangeChunkSize = source.rangeChunkSize; - if (!this._rangeChunkSize && !this._disableRange) { - this._disableRange = true; - } - this._abortController = new AbortController(); - this._isStreamingSupported = !source.disableStream; - this._isRangeSupported = !source.disableRange; - this._headers = createHeaders(this._stream.httpHeaders); - const url = source.url; - fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => { - if (!(0, _network_utils.validateResponseStatus)(response.status)) { - throw (0, _network_utils.createResponseStatusError)(response.status, url); - } - this._reader = response.body.getReader(); - this._headersCapability.resolve(); - const getResponseHeader = name => { - return response.headers.get(name); - }; - const { - allowRangeRequests, - suggestedLength - } = (0, _network_utils.validateRangeRequestCapabilities)({ - getResponseHeader, - isHttp: this._stream.isHttp, - rangeChunkSize: this._rangeChunkSize, - disableRange: this._disableRange - }); - this._isRangeSupported = allowRangeRequests; - this._contentLength = suggestedLength || this._contentLength; - this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); - if (!this._isStreamingSupported && this._isRangeSupported) { - this.cancel(new _util.AbortException("Streaming is disabled.")); - } - }).catch(this._headersCapability.reject); - this.onProgress = null; - } - get headersReady() { - return this._headersCapability.promise; - } - get filename() { - return this._filename; - } - get contentLength() { - return this._contentLength; - } - get isRangeSupported() { - return this._isRangeSupported; - } - get isStreamingSupported() { - return this._isStreamingSupported; - } - async read() { - var _this$onProgress; - await this._headersCapability.promise; - const { - value, - done - } = await this._reader.read(); - if (done) { - return { - value, - done - }; - } - this._loaded += value.byteLength; - (_this$onProgress = this.onProgress) === null || _this$onProgress === void 0 ? void 0 : _this$onProgress.call(this, { - loaded: this._loaded, - total: this._contentLength - }); - const buffer = new Uint8Array(value).buffer; - return { - value: buffer, - done: false - }; - } - cancel(reason) { - var _this$_reader; - (_this$_reader = this._reader) === null || _this$_reader === void 0 ? void 0 : _this$_reader.cancel(reason); - this._abortController.abort(); - } -} -class PDFFetchStreamRangeReader { - constructor(stream, begin, end) { - this._stream = stream; - this._reader = null; - this._loaded = 0; - const source = stream.source; - this._withCredentials = source.withCredentials || false; - this._readCapability = (0, _util.createPromiseCapability)(); - this._isStreamingSupported = !source.disableStream; - this._abortController = new AbortController(); - this._headers = createHeaders(this._stream.httpHeaders); - this._headers.append("Range", `bytes=${begin}-${end - 1}`); - const url = source.url; - fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => { - if (!(0, _network_utils.validateResponseStatus)(response.status)) { - throw (0, _network_utils.createResponseStatusError)(response.status, url); - } - this._readCapability.resolve(); - this._reader = response.body.getReader(); - }).catch(this._readCapability.reject); - this.onProgress = null; - } - get isStreamingSupported() { - return this._isStreamingSupported; - } - async read() { - var _this$onProgress2; - await this._readCapability.promise; - const { - value, - done - } = await this._reader.read(); - if (done) { - return { - value, - done - }; - } - this._loaded += value.byteLength; - (_this$onProgress2 = this.onProgress) === null || _this$onProgress2 === void 0 ? void 0 : _this$onProgress2.call(this, { - loaded: this._loaded - }); - const buffer = new Uint8Array(value).buffer; - return { - value: buffer, - done: false - }; - } - cancel(reason) { - var _this$_reader2; - (_this$_reader2 = this._reader) === null || _this$_reader2 === void 0 ? void 0 : _this$_reader2.cancel(reason); - this._abortController.abort(); - } -} - -/***/ }) -/******/ ]); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __w_pdfjs_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -(() => { -"use strict"; -var exports = __webpack_exports__; - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -Object.defineProperty(exports, "AnnotationEditorLayer", ({ - enumerable: true, - get: function () { - return _annotation_editor_layer.AnnotationEditorLayer; - } -})); -Object.defineProperty(exports, "AnnotationEditorParamsType", ({ - enumerable: true, - get: function () { - return _util.AnnotationEditorParamsType; - } -})); -Object.defineProperty(exports, "AnnotationEditorType", ({ - enumerable: true, - get: function () { - return _util.AnnotationEditorType; - } -})); -Object.defineProperty(exports, "AnnotationEditorUIManager", ({ - enumerable: true, - get: function () { - return _tools.AnnotationEditorUIManager; - } -})); -Object.defineProperty(exports, "AnnotationLayer", ({ - enumerable: true, - get: function () { - return _annotation_layer.AnnotationLayer; - } -})); -Object.defineProperty(exports, "AnnotationMode", ({ - enumerable: true, - get: function () { - return _util.AnnotationMode; - } -})); -Object.defineProperty(exports, "CMapCompressionType", ({ - enumerable: true, - get: function () { - return _util.CMapCompressionType; - } -})); -Object.defineProperty(exports, "GlobalWorkerOptions", ({ - enumerable: true, - get: function () { - return _worker_options.GlobalWorkerOptions; - } -})); -Object.defineProperty(exports, "InvalidPDFException", ({ - enumerable: true, - get: function () { - return _util.InvalidPDFException; - } -})); -Object.defineProperty(exports, "MissingPDFException", ({ - enumerable: true, - get: function () { - return _util.MissingPDFException; - } -})); -Object.defineProperty(exports, "OPS", ({ - enumerable: true, - get: function () { - return _util.OPS; - } -})); -Object.defineProperty(exports, "PDFDataRangeTransport", ({ - enumerable: true, - get: function () { - return _api.PDFDataRangeTransport; - } -})); -Object.defineProperty(exports, "PDFDateString", ({ - enumerable: true, - get: function () { - return _display_utils.PDFDateString; - } -})); -Object.defineProperty(exports, "PDFWorker", ({ - enumerable: true, - get: function () { - return _api.PDFWorker; - } -})); -Object.defineProperty(exports, "PasswordResponses", ({ - enumerable: true, - get: function () { - return _util.PasswordResponses; - } -})); -Object.defineProperty(exports, "PermissionFlag", ({ - enumerable: true, - get: function () { - return _util.PermissionFlag; - } -})); -Object.defineProperty(exports, "PixelsPerInch", ({ - enumerable: true, - get: function () { - return _display_utils.PixelsPerInch; - } -})); -Object.defineProperty(exports, "RenderingCancelledException", ({ - enumerable: true, - get: function () { - return _display_utils.RenderingCancelledException; - } -})); -Object.defineProperty(exports, "SVGGraphics", ({ - enumerable: true, - get: function () { - return _svg.SVGGraphics; - } -})); -Object.defineProperty(exports, "UNSUPPORTED_FEATURES", ({ - enumerable: true, - get: function () { - return _util.UNSUPPORTED_FEATURES; - } -})); -Object.defineProperty(exports, "UnexpectedResponseException", ({ - enumerable: true, - get: function () { - return _util.UnexpectedResponseException; - } -})); -Object.defineProperty(exports, "Util", ({ - enumerable: true, - get: function () { - return _util.Util; - } -})); -Object.defineProperty(exports, "VerbosityLevel", ({ - enumerable: true, - get: function () { - return _util.VerbosityLevel; - } -})); -Object.defineProperty(exports, "XfaLayer", ({ - enumerable: true, - get: function () { - return _xfa_layer.XfaLayer; - } -})); -Object.defineProperty(exports, "build", ({ - enumerable: true, - get: function () { - return _api.build; - } -})); -Object.defineProperty(exports, "createPromiseCapability", ({ - enumerable: true, - get: function () { - return _util.createPromiseCapability; - } -})); -Object.defineProperty(exports, "createValidAbsoluteUrl", ({ - enumerable: true, - get: function () { - return _util.createValidAbsoluteUrl; - } -})); -Object.defineProperty(exports, "getDocument", ({ - enumerable: true, - get: function () { - return _api.getDocument; - } -})); -Object.defineProperty(exports, "getFilenameFromUrl", ({ - enumerable: true, - get: function () { - return _display_utils.getFilenameFromUrl; - } -})); -Object.defineProperty(exports, "getPdfFilenameFromUrl", ({ - enumerable: true, - get: function () { - return _display_utils.getPdfFilenameFromUrl; - } -})); -Object.defineProperty(exports, "getXfaPageViewport", ({ - enumerable: true, - get: function () { - return _display_utils.getXfaPageViewport; - } -})); -Object.defineProperty(exports, "isPdfFile", ({ - enumerable: true, - get: function () { - return _display_utils.isPdfFile; - } -})); -Object.defineProperty(exports, "loadScript", ({ - enumerable: true, - get: function () { - return _display_utils.loadScript; - } -})); -Object.defineProperty(exports, "renderTextLayer", ({ - enumerable: true, - get: function () { - return _text_layer.renderTextLayer; - } -})); -Object.defineProperty(exports, "shadow", ({ - enumerable: true, - get: function () { - return _util.shadow; - } -})); -Object.defineProperty(exports, "version", ({ - enumerable: true, - get: function () { - return _api.version; - } -})); -var _util = __w_pdfjs_require__(1); -var _api = __w_pdfjs_require__(133); -var _display_utils = __w_pdfjs_require__(137); -var _annotation_editor_layer = __w_pdfjs_require__(151); -var _tools = __w_pdfjs_require__(136); -var _annotation_layer = __w_pdfjs_require__(156); -var _worker_options = __w_pdfjs_require__(144); -var _is_node = __w_pdfjs_require__(3); -var _text_layer = __w_pdfjs_require__(159); -var _svg = __w_pdfjs_require__(160); -var _xfa_layer = __w_pdfjs_require__(158); -const pdfjsVersion = '3.0.279'; -const pdfjsBuild = 'd0823066c'; -{ - if (_is_node.isNodeJS) { - const { - PDFNodeStream - } = __w_pdfjs_require__(161); - (0, _api.setPDFNetworkStreamFactory)(params => { - return new PDFNodeStream(params); - }); - } else { - const { - PDFNetworkStream - } = __w_pdfjs_require__(164); - const { - PDFFetchStream - } = __w_pdfjs_require__(165); - (0, _api.setPDFNetworkStreamFactory)(params => { - if ((0, _display_utils.isValidFetchUrl)(params.url)) { - return new PDFFetchStream(params); - } - return new PDFNetworkStream(params); - }); - } -} -})(); - -/******/ return __webpack_exports__; -/******/ })() -; -}); -//# sourceMappingURL=pdf.js.map \ No newline at end of file +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("pdfjs-dist/build/pdf",[],e):"object"==typeof exports?exports["pdfjs-dist/build/pdf"]=e():t["pdfjs-dist/build/pdf"]=t.pdfjsLib=e()}(globalThis,()=>(()=>{var __webpack_modules__=[,(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VerbosityLevel=e.Util=e.UnknownErrorException=e.UnexpectedResponseException=e.UNSUPPORTED_FEATURES=e.TextRenderingMode=e.StreamType=e.RenderingIntentFlag=e.PermissionFlag=e.PasswordResponses=e.PasswordException=e.PageActionEventType=e.OPS=e.MissingPDFException=e.LINE_FACTOR=e.LINE_DESCENT_FACTOR=e.InvalidPDFException=e.ImageKind=e.IDENTITY_MATRIX=e.FormatError=e.FontType=e.FeatureTest=e.FONT_IDENTITY_MATRIX=e.DocumentActionEventType=e.CMapCompressionType=e.BaseException=e.AnnotationType=e.AnnotationStateModelType=e.AnnotationReviewState=e.AnnotationReplyType=e.AnnotationMode=e.AnnotationMarkedState=e.AnnotationFlag=e.AnnotationFieldFlag=e.AnnotationEditorType=e.AnnotationEditorPrefix=e.AnnotationEditorParamsType=e.AnnotationBorderStyleType=e.AnnotationActionEventType=e.AbortException=void 0,e.arrayByteLength=v,e.arraysToBytes=function(r){var a=r.length;if(1===a&&r[0]instanceof Uint8Array)return r[0];let e=0;for(let t=0;t"\n"===t?"\\n":"\r"===t?"\\r":"\\"+t)},e.getModificationDate=function(){var t=0=a.INFOS&&console.log("Info: "+t)},e.isArrayBuffer=function(t){return"object"==typeof t&&null!==t&&void 0!==t.byteLength},e.isArrayEqual=function(r,a){if(r.length!==a.length)return!1;for(let t=0,e=r.length;t>24&255,t>>16&255,t>>8&255,255&t)},e.stringToBytes=m,e.stringToPDFString=function(r){if("ï"<=r[0]){let t;if("þ"===r[0]&&"ÿ"===r[1]?t="utf-16be":"ÿ"===r[0]&&"þ"===r[1]?t="utf-16le":"ï"===r[0]&&"»"===r[1]&&"¿"===r[2]&&(t="utf-8"),t)try{var e=new TextDecoder(t,{fatal:!0}),a=m(r);return e.decode(a)}catch(t){n(`stringToPDFString: "${t}".`)}}var i=[];for(let t=0,e=r.length;t>8&255),String.fromCharCode(255&i))}return a.join("")},e.stringToUTF8String=A,e.unreachable=s,e.utf8StringToString=function(t){return unescape(encodeURIComponent(t))},e.warn=n,globalThis._pdfjsCompatibilityChecked||(globalThis._pdfjsCompatibilityChecked=!0,r(2));e.IDENTITY_MATRIX=[1,0,0,1,0,0],e.FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0],e.LINE_FACTOR=1.35,e.LINE_DESCENT_FACTOR=.35,e.RenderingIntentFlag={ANY:1,DISPLAY:2,PRINT:4,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,OPLIST:256},e.AnnotationMode={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},e.AnnotationEditorPrefix="pdfjs_internal_editor_",e.AnnotationEditorType={DISABLE:-1,NONE:0,FREETEXT:3,INK:15},e.AnnotationEditorParamsType={FREETEXT_SIZE:1,FREETEXT_COLOR:2,FREETEXT_OPACITY:3,INK_COLOR:11,INK_THICKNESS:12,INK_OPACITY:13},e.PermissionFlag={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},e.TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},e.ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},e.AnnotationType={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26},e.AnnotationStateModelType={MARKED:"Marked",REVIEW:"Review"},e.AnnotationMarkedState={MARKED:"Marked",UNMARKED:"Unmarked"},e.AnnotationReviewState={ACCEPTED:"Accepted",REJECTED:"Rejected",CANCELLED:"Cancelled",COMPLETED:"Completed",NONE:"None"},e.AnnotationReplyType={GROUP:"Group",REPLY:"R"},e.AnnotationFlag={INVISIBLE:1,HIDDEN:2,PRINT:4,NOZOOM:8,NOROTATE:16,NOVIEW:32,READONLY:64,LOCKED:128,TOGGLENOVIEW:256,LOCKEDCONTENTS:512},e.AnnotationFieldFlag={READONLY:1,REQUIRED:2,NOEXPORT:4,MULTILINE:4096,PASSWORD:8192,NOTOGGLETOOFF:16384,RADIO:32768,PUSHBUTTON:65536,COMBO:131072,EDIT:262144,SORT:524288,FILESELECT:1048576,MULTISELECT:2097152,DONOTSPELLCHECK:4194304,DONOTSCROLL:8388608,COMB:16777216,RICHTEXT:33554432,RADIOSINUNISON:33554432,COMMITONSELCHANGE:67108864},e.AnnotationBorderStyleType={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},e.AnnotationActionEventType={E:"Mouse Enter",X:"Mouse Exit",D:"Mouse Down",U:"Mouse Up",Fo:"Focus",Bl:"Blur",PO:"PageOpen",PC:"PageClose",PV:"PageVisible",PI:"PageInvisible",K:"Keystroke",F:"Format",V:"Validate",C:"Calculate"},e.DocumentActionEventType={WC:"WillClose",WS:"WillSave",DS:"DidSave",WP:"WillPrint",DP:"DidPrint"},e.PageActionEventType={O:"PageOpen",C:"PageClose"},e.StreamType={UNKNOWN:"UNKNOWN",FLATE:"FLATE",LZW:"LZW",DCT:"DCT",JPX:"JPX",JBIG:"JBIG",A85:"A85",AHX:"AHX",CCF:"CCF",RLX:"RLX"};e.FontType={UNKNOWN:"UNKNOWN",TYPE1:"TYPE1",TYPE1STANDARD:"TYPE1STANDARD",TYPE1C:"TYPE1C",CIDFONTTYPE0:"CIDFONTTYPE0",CIDFONTTYPE0C:"CIDFONTTYPE0C",TRUETYPE:"TRUETYPE",CIDFONTTYPE2:"CIDFONTTYPE2",TYPE3:"TYPE3",OPENTYPE:"OPENTYPE",TYPE0:"TYPE0",MMTYPE1:"MMTYPE1"};const a={ERRORS:0,WARNINGS:1,INFOS:5};e.VerbosityLevel=a;e.CMapCompressionType={NONE:0,BINARY:1},e.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},e.UNSUPPORTED_FEATURES={forms:"forms",javaScript:"javaScript",signatures:"signatures",smask:"smask",shadingPattern:"shadingPattern",errorTilingPattern:"errorTilingPattern",errorExtGState:"errorExtGState",errorXObject:"errorXObject",errorFontLoadType3:"errorFontLoadType3",errorFontState:"errorFontState",errorFontMissing:"errorFontMissing",errorFontTranslate:"errorFontTranslate",errorColorSpace:"errorColorSpace",errorOperatorList:"errorOperatorList",errorFontToUnicode:"errorFontToUnicode",errorFontLoadNative:"errorFontLoadNative",errorFontBuildPath:"errorFontBuildPath",errorFontGetPath:"errorFontGetPath",errorMarkedContent:"errorMarkedContent",errorContentSubStream:"errorContentSubStream"};e.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let i=a.WARNINGS;function n(t){i>=a.WARNINGS&&console.log("Warning: "+t)}function s(t){throw new Error(t)}function o(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!1}),r}l.prototype=new Error;r=l.constructor=l;function l(t,e){this.constructor===l&&s("Cannot initialize BaseException."),this.message=t,this.name=e}class h extends(e.BaseException=r){constructor(t,e){super(t,"PasswordException"),this.code=e}}e.PasswordException=h;class c extends r{constructor(t,e){super(t,"UnknownErrorException"),this.details=e}}e.UnknownErrorException=c;class d extends r{constructor(t){super(t,"InvalidPDFException")}}e.InvalidPDFException=d;class u extends r{constructor(t){super(t,"MissingPDFException")}}e.MissingPDFException=u;class p extends r{constructor(t,e){super(t,"UnexpectedResponseException"),this.status=e}}e.UnexpectedResponseException=p;class f extends r{constructor(t){super(t,"FormatError")}}e.FormatError=f;class g extends r{constructor(t){super(t,"AbortException")}}function m(e){"string"!=typeof e&&s("Invalid argument for stringToBytes");var r=e.length,a=new Uint8Array(r);for(let t=0;tt.toString(16).padStart(2,"0"));class _{static makeHexColor(t,e,r){return"#"+b[t]+b[e]+b[r]}static scaleMinMax(t,e){let r;t[0]?(t[0]<0&&(r=e[0],e[0]=e[1],e[1]=r),e[0]*=t[0],e[1]*=t[0],t[3]<0&&(r=e[2],e[2]=e[3],e[3]=r),e[2]*=t[3],e[3]*=t[3]):(r=e[0],e[0]=e[2],e[2]=r,r=e[1],e[1]=e[3],e[3]=r,t[1]<0&&(r=e[2],e[2]=e[3],e[3]=r),e[2]*=t[1],e[3]*=t[1],t[2]<0&&(r=e[0],e[0]=e[1],e[1]=r),e[0]*=t[2],e[1]*=t[2]),e[0]+=t[4],e[1]+=t[4],e[2]+=t[5],e[3]+=t[5]}static transform(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}static applyTransform(t,e){return[t[0]*e[0]+t[1]*e[2]+e[4],t[0]*e[1]+t[1]*e[3]+e[5]]}static applyInverseTransform(t,e){var r=e[0]*e[3]-e[1]*e[2];return[(t[0]*e[3]-t[1]*e[2]+e[2]*e[5]-e[4]*e[3])/r,(-t[0]*e[1]+t[1]*e[0]+e[4]*e[1]-e[5]*e[0])/r]}static getAxialAlignedBoundingBox(t,e){var r=_.applyTransform(t,e),a=_.applyTransform(t.slice(2,4),e),i=_.applyTransform([t[0],t[3]],e),t=_.applyTransform([t[2],t[1]],e);return[Math.min(r[0],a[0],i[0],t[0]),Math.min(r[1],a[1],i[1],t[1]),Math.max(r[0],a[0],i[0],t[0]),Math.max(r[1],a[1],i[1],t[1])]}static inverseTransform(t){var e=t[0]*t[3]-t[1]*t[2];return[t[3]/e,-t[1]/e,-t[2]/e,t[0]/e,(t[2]*t[5]-t[4]*t[3])/e,(t[4]*t[1]-t[5]*t[0])/e]}static singularValueDecompose2dScale(t){var e=[t[0],t[2],t[1],t[3]],r=t[0]*e[0]+t[1]*e[2],a=t[0]*e[1]+t[1]*e[3],i=t[2]*e[0]+t[3]*e[2],t=t[2]*e[1]+t[3]*e[3],e=(r+t)/2,r=Math.sqrt((r+t)**2-4*(r*t-i*a))/2,t=e-r||1;return[Math.sqrt(e+r||1),Math.sqrt(t)]}static normalizeRect(t){var e=t.slice(0);return t[0]>t[2]&&(e[0]=t[2],e[2]=t[0]),t[1]>t[3]&&(e[1]=t[3],e[3]=t[1]),e}static intersect(t,e){var r,a=Math.max(Math.min(t[0],t[2]),Math.min(e[0],e[2])),i=Math.min(Math.max(t[0],t[2]),Math.max(e[0],e[2]));return i{"use strict";var a=r(3);!globalThis.btoa&&a.isNodeJS&&(globalThis.btoa=function(t){return Buffer.from(t,"binary").toString("base64")}),!globalThis.atob&&a.isNodeJS&&(globalThis.atob=function(t){return Buffer.from(t,"base64").toString("binary")}),!globalThis.DOMMatrix&&a.isNodeJS&&(globalThis.DOMMatrix=require("canvas").DOMMatrix),!globalThis.ReadableStream&&a.isNodeJS&&(globalThis.ReadableStream=require("web-streams-polyfill/dist/ponyfill.js").ReadableStream),Array.prototype.at||r(4),Uint8Array.prototype.at||r(79),globalThis.structuredClone||r(89)},(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isNodeJS=void 0;var r=!("object"!=typeof process||process+""!="[object process]"||process.versions.nw||process.versions.electron&&process.type&&"browser"!==process.type);e.isNodeJS=r},(t,e,r)=>{r(5);r=r(78);t.exports=r("Array","at")},(t,e,r)=>{"use strict";var a=r(6),i=r(44),s=r(68),n=r(66),r=r(73);a({target:"Array",proto:!0},{at:function(t){var e=i(this),r=s(e),t=n(t),t=0<=t?t:r+t;return t<0||r<=t?void 0:e[t]}}),r("at")},(t,e,r)=>{var h=r(7),c=r(8).f,d=r(48),u=r(52),p=r(42),f=r(60),g=r(72);t.exports=function(t,e){var r,a,i,s=t.target,n=t.global,o=t.stat,l=n?h:o?h[s]||p(s,{}):(h[s]||{}).prototype;if(l)for(r in e){if(a=e[r],i=t.dontCallGetSet?(i=c(l,r))&&i.value:l[r],!g(n?r:s+(o?".":"#")+r,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;f(a,i)}(t.sham||i&&i.sham)&&d(a,"sham",!0),u(l,r,a,t)}}},t=>{function e(t){return t&&t.Math==Math&&t}t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof global&&global)||function(){return this}()||Function("return this")()},(t,e,r)=>{var a=r(9),i=r(11),s=r(13),n=r(14),o=r(15),l=r(22),h=r(43),c=r(46),d=Object.getOwnPropertyDescriptor;e.f=a?d:function(t,e){if(t=o(t),e=l(e),c)try{return d(t,e)}catch(t){}if(h(t,e))return n(!i(s.f,t,e),t[e])}},(t,e,r)=>{r=r(10);t.exports=!r(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})},t=>{t.exports=function(t){try{return!!t()}catch(t){return!0}}},(t,e,r)=>{var r=r(12),a=Function.prototype.call;t.exports=r?a.bind(a):function(){return a.apply(a,arguments)}},(t,e,r)=>{r=r(10);t.exports=!r(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})},(t,e)=>{"use strict";var r={}.propertyIsEnumerable,a=Object.getOwnPropertyDescriptor,i=a&&!r.call({1:2},1);e.f=i?function(t){t=a(this,t);return!!t&&t.enumerable}:r},t=>{t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},(t,e,r)=>{var a=r(16),i=r(20);t.exports=function(t){return a(i(t))}},(t,e,r)=>{var a=r(17),i=r(10),s=r(18),n=Object,o=a("".split);t.exports=i(function(){return!n("z").propertyIsEnumerable(0)})?function(t){return"String"==s(t)?o(t,""):n(t)}:n},(t,e,r)=>{var a=r(18),i=r(19);t.exports=function(t){if("Function"===a(t))return i(t)}},(t,e,r)=>{var r=r(19),a=r({}.toString),i=r("".slice);t.exports=function(t){return i(a(t),8,-1)}},(t,e,r)=>{var r=r(12),a=Function.prototype,i=a.call,a=r&&a.bind.bind(i,i);t.exports=r?a:function(t){return function(){return i.apply(t,arguments)}}},(t,e,r)=>{var a=r(21),i=TypeError;t.exports=function(t){if(a(t))throw i("Can't call method on "+t);return t}},t=>{t.exports=function(t){return null==t}},(t,e,r)=>{var a=r(23),i=r(27);t.exports=function(t){t=a(t,"string");return i(t)?t:t+""}},(t,e,r)=>{var a=r(11),i=r(24),s=r(27),n=r(34),o=r(37),r=r(38),l=TypeError,h=r("toPrimitive");t.exports=function(t,e){if(!i(t)||s(t))return t;var r=n(t,h);if(r){if(r=a(r,t,e=void 0===e?"default":e),!i(r)||s(r))return r;throw l("Can't convert object to primitive value")}return o(t,e=void 0===e?"number":e)}},(t,e,r)=>{var a=r(25),r=r(26),i=r.all;t.exports=r.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:a(t)||t===i}:function(t){return"object"==typeof t?null!==t:a(t)}},(t,e,r)=>{var r=r(26),a=r.all;t.exports=r.IS_HTMLDDA?function(t){return"function"==typeof t||t===a}:function(t){return"function"==typeof t}},t=>{var e="object"==typeof document&&document.all;t.exports={all:e,IS_HTMLDDA:void 0===e&&void 0!==e}},(t,e,r)=>{var a=r(28),i=r(25),s=r(29),r=r(30),n=Object;t.exports=r?function(t){return"symbol"==typeof t}:function(t){var e=a("Symbol");return i(e)&&s(e.prototype,n(t))}},(t,e,r)=>{var a=r(7),i=r(25);t.exports=function(t,e){return arguments.length<2?(r=a[t],i(r)?r:void 0):a[t]&&a[t][e];var r}},(t,e,r)=>{r=r(17);t.exports=r({}.isPrototypeOf)},(t,e,r)=>{r=r(31);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},(t,e,r)=>{var a=r(32),r=r(10);t.exports=!!Object.getOwnPropertySymbols&&!r(function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&a&&a<41})},(t,e,r)=>{var a,i,s=r(7),r=r(33),n=s.process,s=s.Deno,n=n&&n.versions||s&&s.version,s=n&&n.v8;!(i=s?0<(a=s.split("."))[0]&&a[0]<4?1:+(a[0]+a[1]):i)&&r&&(!(a=r.match(/Edge\/(\d+)/))||74<=a[1])&&(a=r.match(/Chrome\/(\d+)/))&&(i=+a[1]),t.exports=i},(t,e,r)=>{r=r(28);t.exports=r("navigator","userAgent")||""},(t,e,r)=>{var a=r(35),i=r(21);t.exports=function(t,e){t=t[e];return i(t)?void 0:a(t)}},(t,e,r)=>{var a=r(25),i=r(36),s=TypeError;t.exports=function(t){if(a(t))return t;throw s(i(t)+" is not a function")}},t=>{var e=String;t.exports=function(t){try{return e(t)}catch(t){return"Object"}}},(t,e,r)=>{var i=r(11),s=r(25),n=r(24),o=TypeError;t.exports=function(t,e){var r,a;if("string"===e&&s(r=t.toString)&&!n(a=i(r,t)))return a;if(s(r=t.valueOf)&&!n(a=i(r,t)))return a;if("string"!==e&&s(r=t.toString)&&!n(a=i(r,t)))return a;throw o("Can't convert object to primitive value")}},(t,e,r)=>{var a=r(7),i=r(39),s=r(43),n=r(45),o=r(31),l=r(30),h=i("wks"),c=a.Symbol,d=c&&c.for,u=l?c:c&&c.withoutSetter||n;t.exports=function(t){var e;return s(h,t)&&(o||"string"==typeof h[t])||(e="Symbol."+t,o&&s(c,t)?h[t]=c[t]:h[t]=(l&&d?d:u)(e)),h[t]}},(t,e,r)=>{var a=r(40),i=r(41);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.26.0",mode:a?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.26.0/LICENSE",source:"https://github.com/zloirock/core-js"})},t=>{t.exports=!1},(t,e,r)=>{var a=r(7),r=r(42),i="__core-js_shared__",a=a[i]||r(i,{});t.exports=a},(t,e,r)=>{var a=r(7),i=Object.defineProperty;t.exports=function(e,r){try{i(a,e,{value:r,configurable:!0,writable:!0})}catch(t){a[e]=r}return r}},(t,e,r)=>{var a=r(17),i=r(44),s=a({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return s(i(t),e)}},(t,e,r)=>{var a=r(20),i=Object;t.exports=function(t){return i(a(t))}},(t,e,r)=>{var r=r(17),a=0,i=Math.random(),s=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+s(++a+i,36)}},(t,e,r)=>{var a=r(9),i=r(10),s=r(47);t.exports=!a&&!i(function(){return 7!=Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a})},(t,e,r)=>{var a=r(7),r=r(24),i=a.document,s=r(i)&&r(i.createElement);t.exports=function(t){return s?i.createElement(t):{}}},(t,e,r)=>{var a=r(9),i=r(49),s=r(14);t.exports=a?function(t,e,r){return i.f(t,e,s(1,r))}:function(t,e,r){return t[e]=r,t}},(t,e,r)=>{var a=r(9),i=r(46),s=r(50),n=r(51),o=r(22),l=TypeError,h=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d="enumerable",u="configurable",p="writable";e.f=a?s?function(t,e,r){var a;return n(t),e=o(e),n(r),"function"==typeof t&&"prototype"===e&&"value"in r&&p in r&&!r[p]&&(a=c(t,e))&&a[p]&&(t[e]=r.value,r={configurable:(u in r?r:a)[u],enumerable:(d in r?r:a)[d],writable:!1}),h(t,e,r)}:h:function(t,e,r){if(n(t),e=o(e),n(r),i)try{return h(t,e,r)}catch(t){}if("get"in r||"set"in r)throw l("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},(t,e,r)=>{var a=r(9),r=r(10);t.exports=a&&r(function(){return 42!=Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},(t,e,r)=>{var a=r(24),i=String,s=TypeError;t.exports=function(t){if(a(t))return t;throw s(i(t)+" is not an object")}},(t,e,r)=>{var n=r(25),o=r(49),l=r(53),h=r(42);t.exports=function(t,e,r,a){var i=(a=a||{}).enumerable,s=void 0!==a.name?a.name:e;if(n(r)&&l(r,s,a),a.global)i?t[e]=r:h(e,r);else{try{a.unsafe?t[e]&&(i=!0):delete t[e]}catch(t){}i?t[e]=r:o.f(t,e,{value:r,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return t}},(t,e,r)=>{var a=r(10),i=r(25),s=r(43),n=r(9),o=r(54).CONFIGURABLE,l=r(55),r=r(56),h=r.enforce,c=r.get,d=Object.defineProperty,u=n&&!a(function(){return 8!==d(function(){},"length",{value:8}).length}),p=String(String).split("String"),r=t.exports=function(t,e,r){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!s(t,"name")||o&&t.name!==e)&&(n?d(t,"name",{value:e,configurable:!0}):t.name=e),u&&r&&s(r,"arity")&&t.length!==r.arity&&d(t,"length",{value:r.arity});try{r&&s(r,"constructor")&&r.constructor?n&&d(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}r=h(t);return s(r,"source")||(r.source=p.join("string"==typeof e?e:"")),t};Function.prototype.toString=r(function(){return i(this)&&c(this).source||l(this)},"toString")},(t,e,r)=>{var a=r(9),r=r(43),i=Function.prototype,s=a&&Object.getOwnPropertyDescriptor,r=r(i,"name"),n=r&&"something"===function(){}.name,a=r&&(!a||s(i,"name").configurable);t.exports={EXISTS:r,PROPER:n,CONFIGURABLE:a}},(t,e,r)=>{var a=r(17),i=r(25),r=r(41),s=a(Function.toString);i(r.inspectSource)||(r.inspectSource=function(t){return s(t)}),t.exports=r.inspectSource},(t,e,r)=>{var a,i,s,n,o=r(57),l=r(7),h=r(24),c=r(48),d=r(43),u=r(41),p=r(58),r=r(59),f="Object already initialized",g=l.TypeError,l=l.WeakMap,m=o||u.state?((s=u.state||(u.state=new l)).get=s.get,s.has=s.has,s.set=s.set,a=function(t,e){if(s.has(t))throw g(f);return e.facade=t,s.set(t,e),e},i=function(t){return s.get(t)||{}},function(t){return s.has(t)}):(r[n=p("state")]=!0,a=function(t,e){if(d(t,n))throw g(f);return e.facade=t,c(t,n,e),e},i=function(t){return d(t,n)?t[n]:{}},function(t){return d(t,n)});t.exports={set:a,get:i,has:m,enforce:function(t){return m(t)?i(t):a(t,{})},getterFor:function(e){return function(t){if(h(t)&&(t=i(t)).type===e)return t;throw g("Incompatible receiver, "+e+" required")}}}},(t,e,r)=>{var a=r(7),r=r(25),a=a.WeakMap;t.exports=r(a)&&/native code/.test(String(a))},(t,e,r)=>{var a=r(39),i=r(45),s=a("keys");t.exports=function(t){return s[t]||(s[t]=i(t))}},t=>{t.exports={}},(t,e,r)=>{var l=r(43),h=r(61),c=r(8),d=r(49);t.exports=function(t,e,r){for(var a=h(e),i=d.f,s=c.f,n=0;n{var a=r(28),i=r(17),s=r(62),n=r(71),o=r(51),l=i([].concat);t.exports=a("Reflect","ownKeys")||function(t){var e=s.f(o(t)),r=n.f;return r?l(e,r(t)):e}},(t,e,r)=>{var a=r(63),i=r(70).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return a(t,i)}},(t,e,r)=>{var a=r(17),n=r(43),o=r(15),l=r(64).indexOf,h=r(59),c=a([].push);t.exports=function(t,e){var r,a=o(t),i=0,s=[];for(r in a)!n(h,r)&&n(a,r)&&c(s,r);for(;e.length>i;)!n(a,r=e[i++])||~l(s,r)||c(s,r);return s}},(t,e,r)=>{function a(o){return function(t,e,r){var a,i=l(t),s=c(i),n=h(r,s);if(o&&e!=e){for(;n{var a=r(66),i=Math.max,s=Math.min;t.exports=function(t,e){t=a(t);return t<0?i(t+e,0):s(t,e)}},(t,e,r)=>{var a=r(67);t.exports=function(t){t=+t;return t!=t||0==t?0:a(t)}},t=>{var e=Math.ceil,r=Math.floor;t.exports=Math.trunc||function(t){t=+t;return(0{var a=r(69);t.exports=function(t){return a(t.length)}},(t,e,r)=>{var a=r(66),i=Math.min;t.exports=function(t){return 0{t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},(t,e)=>{e.f=Object.getOwnPropertySymbols},(t,e,r)=>{function a(t,e){return(t=l[o(t)])==c||t!=h&&(s(e)?i(e):!!e)}var i=r(10),s=r(25),n=/#|\.prototype\./,o=a.normalize=function(t){return String(t).replace(n,".").toLowerCase()},l=a.data={},h=a.NATIVE="N",c=a.POLYFILL="P";t.exports=a},(t,e,r)=>{var a=r(38),i=r(74),r=r(49).f,s=a("unscopables"),n=Array.prototype;null==n[s]&&r(n,s,{configurable:!0,value:i(null)}),t.exports=function(t){n[s][t]=!0}},(t,e,r)=>{function a(){}function i(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e}var s,n=r(51),o=r(75),l=r(70),h=r(59),c=r(77),d=r(47),r=r(58),u="prototype",p="script",f=r("IE_PROTO"),g=function(t){return"<"+p+">"+t+""},m=function(){try{s=new ActiveXObject("htmlfile")}catch(t){}m="undefined"==typeof document||document.domain&&s?i(s):(t=d("iframe"),e="java"+p+":",t.style.display="none",c.appendChild(t),t.src=String(e),(e=t.contentWindow.document).open(),e.write(g("document.F=Object")),e.close(),e.F);for(var t,e,r=l.length;r--;)delete m[u][l[r]];return m()};h[f]=!0,t.exports=Object.create||function(t,e){var r;return null!==t?(a[u]=n(t),r=new a,a[u]=null,r[f]=t):r=m(),void 0===e?r:o.f(r,e)}},(t,e,r)=>{var a=r(9),i=r(50),o=r(49),l=r(51),h=r(15),c=r(76);e.f=a&&!i?Object.defineProperties:function(t,e){l(t);for(var r,a=h(e),i=c(e),s=i.length,n=0;n{var a=r(63),i=r(70);t.exports=Object.keys||function(t){return a(t,i)}},(t,e,r)=>{r=r(28);t.exports=r("document","documentElement")},(t,e,r)=>{var a=r(7),i=r(17);t.exports=function(t,e){return i(a[t].prototype[e])}},(t,e,r)=>{r(80)},(t,e,r)=>{"use strict";var a=r(81),i=r(68),s=r(66),n=a.aTypedArray;(0,a.exportTypedArrayMethod)("at",function(t){var e=n(this),r=i(e),t=s(t),t=0<=t?t:r+t;return t<0||r<=t?void 0:e[t]})},(t,e,r)=>{"use strict";function a(t){var e,t=y(t);if(u(t))return(e=E(t))&&p(e,R)?e[R]:a(t)}function i(t){return!!u(t)&&(t=f(t),p(D,t)||p(I,t))}var s,n,o,l=r(82),h=r(9),c=r(7),d=r(25),u=r(24),p=r(43),f=r(83),g=r(36),m=r(48),v=r(52),b=r(49).f,_=r(29),y=r(85),A=r(87),S=r(38),w=r(45),r=r(56),x=r.enforce,E=r.get,r=c.Int8Array,C=r&&r.prototype,k=c.Uint8ClampedArray,k=k&&k.prototype,P=r&&y(r),T=C&&y(C),r=Object.prototype,M=c.TypeError,S=S("toStringTag"),F=w("TYPED_ARRAY_TAG"),R="TypedArrayConstructor",O=l&&!!A&&"Opera"!==f(c.opera),w=!1,D={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},I={BigInt64Array:8,BigUint64Array:8};for(s in D)(o=(n=c[s])&&n.prototype)?x(o)[R]=n:O=!1;for(s in I)(o=(n=c[s])&&n.prototype)&&(x(o)[R]=n);if((!O||!d(P)||P===Function.prototype)&&(P=function(){throw M("Incorrect invocation")},O))for(s in D)c[s]&&A(c[s],P);if((!O||!T||T===r)&&(T=P.prototype,O))for(s in D)c[s]&&A(c[s].prototype,T);if(O&&y(k)!==T&&A(k,T),h&&!p(T,S))for(s in w=!0,b(T,S,{get:function(){return u(this)?this[F]:void 0}}),D)c[s]&&m(c[s],F,s);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:O,TYPED_ARRAY_TAG:w&&F,aTypedArray:function(t){if(i(t))return t;throw M("Target is not a typed array")},aTypedArrayConstructor:function(t){if(!d(t)||A&&!_(P,t))throw M(g(t)+" is not a typed array constructor");return t},exportTypedArrayMethod:function(e,r,t,a){if(h){if(t)for(var i in D){i=c[i];if(i&&p(i.prototype,e))try{delete i.prototype[e]}catch(t){try{i.prototype[e]=r}catch(t){}}}T[e]&&!t||v(T,e,!t&&O&&C[e]||r,a)}},exportTypedArrayStaticMethod:function(t,e,r){var a,i;if(h){if(A){if(r)for(a in D)if((i=c[a])&&p(i,t))try{delete i[t]}catch(t){}if(P[t]&&!r)return;try{return v(P,t,!r&&O&&P[t]||e)}catch(t){}}for(a in D)!(i=c[a])||i[t]&&!r||v(i,t,e)}},getTypedArrayConstructor:a,isView:function(t){return!!u(t)&&("DataView"===(t=f(t))||p(D,t)||p(I,t))},isTypedArray:i,TypedArray:P,TypedArrayPrototype:T}},t=>{t.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},(t,e,r)=>{var a=r(84),i=r(25),s=r(18),n=r(38)("toStringTag"),o=Object,l="Arguments"==s(function(){return arguments}());t.exports=a?s:function(t){var e;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,e){try{return t[e]}catch(t){}}(t=o(t),n))?e:l?s(t):"Object"==(e=s(t))&&i(t.callee)?"Arguments":e}},(t,e,r)=>{var a={};a[r(38)("toStringTag")]="z",t.exports="[object z]"===String(a)},(t,e,r)=>{var a=r(43),i=r(25),s=r(44),n=r(58),r=r(86),o=n("IE_PROTO"),l=Object,h=l.prototype;t.exports=r?l.getPrototypeOf:function(t){var e,t=s(t);return a(t,o)?t[o]:(e=t.constructor,i(e)&&t instanceof e?e.prototype:t instanceof l?h:null)}},(t,e,r)=>{r=r(10);t.exports=!r(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})},(t,e,r)=>{var i=r(17),s=r(51),n=r(88);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r,a=!1,t={};try{(r=i(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(t,[]),a=t instanceof Array}catch(t){}return function(t,e){return s(t),n(e),a?r(t,e):t.__proto__=e,t}}():void 0)},(t,e,r)=>{var a=r(25),i=String,s=TypeError;t.exports=function(t){if("object"==typeof t||a(t))return t;throw s("Can't set "+i(t)+" as a prototype")}},(t,e,r)=>{r(90),r(97),r(99),r(121),r(123);r=r(132);t.exports=r.structuredClone},(t,e,r)=>{"use strict";var a=r(15),i=r(73),s=r(91),n=r(56),o=r(49).f,l=r(92),h=r(96),c=r(40),r=r(9),d="Array Iterator",u=n.set,p=n.getterFor(d),n=(t.exports=l(Array,"Array",function(t,e){u(this,{type:d,target:a(t),index:0,kind:e})},function(){var t=p(this),e=t.target,r=t.kind,a=t.index++;return!e||a>=e.length?(t.target=void 0,h(void 0,!0)):h("keys"==r?a:"values"==r?e[a]:[a,e[a]],!1)},"values"),s.Arguments=s.Array);if(i("keys"),i("values"),i("entries"),!c&&r&&"values"!==n.name)try{o(n,"name",{value:"values"})}catch(t){}},t=>{t.exports={}},(t,e,r)=>{"use strict";function g(){return this}var m=r(6),v=r(11),b=r(40),a=r(54),_=r(25),y=r(93),A=r(85),S=r(87),w=r(95),x=r(48),E=r(52),i=r(38),C=r(91),r=r(94),k=a.PROPER,P=a.CONFIGURABLE,T=r.IteratorPrototype,M=r.BUGGY_SAFARI_ITERATORS,F=i("iterator"),R="values",O="entries";t.exports=function(t,e,r,a,i,s,n){y(r,e,a);function o(t){if(t===i&&p)return p;if(!M&&t in d)return d[t];switch(t){case"keys":case R:case O:return function(){return new r(this,t)}}return function(){return new r(this)}}var l,h,a=e+" Iterator",c=!1,d=t.prototype,u=d[F]||d["@@iterator"]||i&&d[i],p=!M&&u||o(i),f="Array"==e&&d.entries||u;if(f&&(f=A(f.call(new t)))!==Object.prototype&&f.next&&(b||A(f)===T||(S?S(f,T):_(f[F])||E(f,F,g)),w(f,a,!0,!0),b)&&(C[a]=g),k&&i==R&&u&&u.name!==R&&(!b&&P?x(d,"name",R):(c=!0,p=function(){return v(u,this)})),i)if(l={values:o(R),keys:s?p:o("keys"),entries:o(O)},n)for(h in l)!M&&!c&&h in d||E(d,h,l[h]);else m({target:e,proto:!0,forced:M||c},l);return b&&!n||d[F]===p||E(d,F,p,{name:i}),C[e]=p,l}},(t,e,r)=>{"use strict";function i(){return this}var s=r(94).IteratorPrototype,n=r(74),o=r(14),l=r(95),h=r(91);t.exports=function(t,e,r,a){e+=" Iterator";return t.prototype=n(s,{next:o(+!a,r)}),l(t,e,!1,!0),h[e]=i,t}},(t,e,r)=>{"use strict";var a,i,s=r(10),n=r(25),o=r(24),l=r(74),h=r(85),c=r(52),d=r(38),r=r(40),u=d("iterator"),d=!1;[].keys&&("next"in(i=[].keys())?(h=h(h(i)))!==Object.prototype&&(a=h):d=!0),!o(a)||s(function(){var t={};return a[u].call(t)!==t})?a={}:r&&(a=l(a)),n(a[u])||c(a,u,function(){return this}),t.exports={IteratorPrototype:a,BUGGY_SAFARI_ITERATORS:d}},(t,e,r)=>{var a=r(49).f,i=r(43),s=r(38)("toStringTag");t.exports=function(t,e,r){(t=t&&!r?t.prototype:t)&&!i(t,s)&&a(t,s,{configurable:!0,value:e})}},t=>{t.exports=function(t,e){return{value:t,done:e}}},(t,e,r)=>{var a=r(84),i=r(52),r=r(98);a||i(Object.prototype,"toString",r,{unsafe:!0})},(t,e,r)=>{"use strict";var a=r(84),i=r(83);t.exports=a?{}.toString:function(){return"[object "+i(this)+"]"}},(t,e,r)=>{r(100)},(t,e,r)=>{"use strict";r(101)("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},r(118))},(t,e,r)=>{"use strict";var m=r(6),v=r(7),b=r(17),_=r(72),y=r(52),A=r(102),S=r(109),w=r(115),x=r(25),E=r(21),C=r(24),k=r(10),P=r(116),T=r(95),M=r(117);t.exports=function(t,e,r){function a(t){var r=b(p[t]);y(p,t,"add"==t?function(t){return r(this,0===t?0:t),this}:"delete"==t?function(t){return!(c&&!C(t))&&r(this,0===t?0:t)}:"get"==t?function(t){return c&&!C(t)?void 0:r(this,0===t?0:t)}:"has"==t?function(t){return!(c&&!C(t))&&r(this,0===t?0:t)}:function(t,e){return r(this,0===t?0:t,e),this})}var i,s,n,o,l,h=-1!==t.indexOf("Map"),c=-1!==t.indexOf("Weak"),d=h?"set":"add",u=v[t],p=u&&u.prototype,f=u,g={};return _(t,!x(u)||!(c||p.forEach&&!k(function(){(new u).entries().next()})))?(f=r.getConstructor(e,t,h,d),A.enable()):_(t,!0)&&(s=(i=new f)[d](c?{}:-0,1)!=i,n=k(function(){i.has(1)}),o=P(function(t){new u(t)}),l=!c&&k(function(){for(var t=new u,e=5;e--;)t[d](e,e);return!t.has(-0)}),o||(((f=e(function(t,e){w(t,p);t=M(new u,t,f);return E(e)||S(e,t[d],{that:t,AS_ENTRIES:h}),t})).prototype=p).constructor=f),(n||l)&&(a("delete"),a("has"),h)&&a("get"),(l||s)&&a(d),c)&&p.clear&&delete p.clear,m({global:!0,constructor:!0,forced:(g[t]=f)!=u},g),T(f,t),c||r.setStrong(f,t,h),f}},(t,e,r)=>{function a(t){h(t,m,{value:{objectID:"O"+v++,weakData:{}}})}var n=r(6),o=r(17),i=r(59),s=r(24),l=r(43),h=r(49).f,c=r(62),d=r(103),u=r(106),p=r(45),f=r(108),g=!1,m=p("meta"),v=0,b=t.exports={enable:function(){b.enable=function(){},g=!0;var i=c.f,s=o([].splice),t={};t[m]=1,i(t).length&&(c.f=function(t){for(var e=i(t),r=0,a=e.length;r{var a=r(18),i=r(15),s=r(62).f,n=r(104),o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){if(!o||"Window"!=a(t))return s(i(t));try{return s(t)}catch(t){return n(o)}}},(t,e,r)=>{var l=r(65),h=r(68),c=r(105),d=Array,u=Math.max;t.exports=function(t,e,r){for(var a=h(t),i=l(e,a),s=l(void 0===r?a:r,a),n=d(u(s-i,0)),o=0;i{"use strict";var a=r(22),i=r(49),s=r(14);t.exports=function(t,e,r){e=a(e);e in t?i.f(t,e,s(0,r)):t[e]=r}},(t,e,r)=>{var a=r(10),i=r(24),s=r(18),n=r(107),o=Object.isExtensible,r=a(function(){o(1)});t.exports=r||n?function(t){return!(!i(t)||n&&"ArrayBuffer"==s(t))&&(!o||o(t))}:o},(t,e,r)=>{r=r(10);t.exports=r(function(){var t;"function"==typeof ArrayBuffer&&(t=new ArrayBuffer(8),Object.isExtensible(t))&&Object.defineProperty(t,"a",{value:8})})},(t,e,r)=>{r=r(10);t.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},(t,e,r)=>{function v(t,e){this.stopped=t,this.result=e}var b=r(110),_=r(11),y=r(51),A=r(36),S=r(111),w=r(68),x=r(29),E=r(112),C=r(113),k=r(114),P=TypeError,T=v.prototype;t.exports=function(t,e,r){function a(t){return s&&k(s,"normal",t),new v(!0,t)}function i(t){return u?(y(t),g?m(t[0],t[1],a):m(t[0],t[1])):g?m(t,a):m(t)}var s,n,o,l,h,c,d=r&&r.that,u=!(!r||!r.AS_ENTRIES),p=!(!r||!r.IS_RECORD),f=!(!r||!r.IS_ITERATOR),g=!(!r||!r.INTERRUPTED),m=b(e,d);if(p)s=t.iterator;else if(f)s=t;else{if(!(r=C(t)))throw P(A(t)+" is not iterable");if(S(r)){for(n=0,o=w(t);n{var a=r(17),i=r(35),s=r(12),n=a(a.bind);t.exports=function(t,e){return i(t),void 0===e?t:s?n(t,e):function(){return t.apply(e,arguments)}}},(t,e,r)=>{var a=r(38),i=r(91),s=a("iterator"),n=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||n[s]===t)}},(t,e,r)=>{var a=r(11),i=r(35),s=r(51),n=r(36),o=r(113),l=TypeError;t.exports=function(t,e){var r=arguments.length<2?o(t):e;if(i(r))return s(a(r,t));throw l(n(t)+" is not iterable")}},(t,e,r)=>{var a=r(83),i=r(34),s=r(21),n=r(91),o=r(38)("iterator");t.exports=function(t){if(!s(t))return i(t,o)||i(t,"@@iterator")||n[a(t)]}},(t,e,r)=>{var s=r(11),n=r(51),o=r(34);t.exports=function(t,e,r){var a,i;n(t);try{if(!(a=o(t,"return"))){if("throw"===e)throw r;return r}a=s(a,t)}catch(t){i=!0,a=t}if("throw"===e)throw r;if(i)throw a;return n(a),r}},(t,e,r)=>{var a=r(29),i=TypeError;t.exports=function(t,e){if(a(e,t))return t;throw i("Incorrect invocation")}},(t,e,r)=>{var i=r(38)("iterator"),s=!1;try{var a=0,n={next:function(){return{done:!!a++}},return:function(){s=!0}};n[i]=function(){return this},Array.from(n,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!s)return!1;var r=!1;try{var a={};a[i]=function(){return{next:function(){return{done:r=!0}}}},t(a)}catch(t){}return r}},(t,e,r)=>{var a=r(25),i=r(24),s=r(87);t.exports=function(t,e,r){return s&&a(e=e.constructor)&&e!==r&&i(e=e.prototype)&&e!==r.prototype&&s(t,e),t}},(t,e,r)=>{"use strict";var h=r(49).f,c=r(74),d=r(119),u=r(110),p=r(115),f=r(21),g=r(109),n=r(92),o=r(96),l=r(120),m=r(9),v=r(102).fastKey,r=r(56),b=r.set,_=r.getterFor;t.exports={getConstructor:function(t,r,a,i){function s(t,e,r){var a,i=l(t),s=n(t,e);return s?s.value=r:(i.last=s={index:a=v(e,!0),key:e,value:r,previous:e=i.last,next:void 0,removed:!1},i.first||(i.first=s),e&&(e.next=s),m?i.size++:t.size++,"F"!==a&&(i.index[a]=s)),t}function n(t,e){var r,t=l(t),a=v(e);if("F"!==a)return t.index[a];for(r=t.first;r;r=r.next)if(r.key==e)return r}var t=t(function(t,e){p(t,o),b(t,{type:r,index:c(null),first:void 0,last:void 0,size:0}),m||(t.size=0),f(e)||g(e,t[i],{that:t,AS_ENTRIES:a})}),o=t.prototype,l=_(r);return d(o,{clear:function(){for(var t=l(this),e=t.index,r=t.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete e[r.index],r=r.next;t.first=t.last=void 0,m?t.size=0:this.size=0},delete:function(t){var e,r,a=l(this),t=n(this,t);return t&&(e=t.next,r=t.previous,delete a.index[t.index],t.removed=!0,r&&(r.next=e),e&&(e.previous=r),a.first==t&&(a.first=e),a.last==t&&(a.last=r),m?a.size--:this.size--),!!t},forEach:function(t){for(var e,r=l(this),a=u(t,1{var i=r(52);t.exports=function(t,e,r){for(var a in e)i(t,a,e[a],r);return t}},(t,e,r)=>{"use strict";var a=r(28),i=r(49),s=r(38),n=r(9),o=s("species");t.exports=function(t){var t=a(t),e=i.f;n&&t&&!t[o]&&e(t,o,{configurable:!0,get:function(){return this}})}},(t,e,r)=>{r(122)},(t,e,r)=>{"use strict";r(101)("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},r(118))},(d,u,t)=>{function e(a){return!o(function(){var t=new v.Set([7]),e=a(t),r=a(x(7));return e==t||!e.has(7)||"object"!=typeof r||7!=r})&&a}function r(r,a){return!o(function(){var t=new a,e=r({a:t,b:t});return!(e&&e.a===e.b&&e.a instanceof a&&e.a.stack===t.stack)})}function f(t){throw new P("Uncloneable type: "+t,O)}function g(t,e){throw new P((e||"Cloning")+" of "+t+" cannot be properly polyfilled in this engine",O)}function m(e,r){if(W(e)&&f("Symbol"),!y(e))return e;if(r){if(F(r,e))return st(r,e)}else r=new M;var t,a,i,s,n,o,l,h,c,d,u=A(e),p=!1;switch(u){case"Array":i=[],p=!0;break;case"Object":i={},p=!0;break;case"Map":i=new M,p=!0;break;case"Set":i=new T,p=!0;break;case"RegExp":i=new RegExp(e.source,z(e));break;case"Error":switch(a=e.name){case"AggregateError":i=b("AggregateError")([]);break;case"EvalError":i=J();break;case"RangeError":i=$();break;case"ReferenceError":i=Q();break;case"SyntaxError":i=Z();break;case"TypeError":i=k();break;case"URIError":i=tt();break;case"CompileError":i=rt();break;case"LinkError":i=at();break;case"RuntimeError":i=it();break;default:i=C()}p=!0;break;case"DOMException":i=new P(e.message,e.name),p=!0;break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":t=v[u],y(t)||g(u),i=new t(m(e.buffer,r),e.byteOffset,"DataView"===u?e.byteLength:e.length);break;case"DOMQuad":try{i=new DOMQuad(m(e.p1,r),m(e.p2,r),m(e.p3,r),m(e.p4,r))}catch(t){L?i=L(e):g(u)}break;case"FileList":if(s=function(){var e;try{e=new v.DataTransfer}catch(t){try{e=new v.ClipboardEvent("").clipboardData}catch(t){}}return e&&e.items&&e.files?e:null}()){for(n=0,o=w(e);n{function a(){}function i(t){if(!l(t))return!1;try{return p(a,u,t),!0}catch(t){return!1}}function s(t){if(!l(t))return!1;switch(h(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return m||!!g(f,d(t))}catch(t){return!0}}var n=r(17),o=r(10),l=r(25),h=r(83),c=r(28),d=r(55),u=[],p=c("Reflect","construct"),f=/^\s*(?:class|function)\b/,g=n(f.exec),m=!f.exec(a);s.sham=!0,t.exports=!p||o(function(){var t;return i(i.call)||!i(Object)||!i(function(){t=!0})||t})?s:i},t=>{var r=TypeError;t.exports=function(t,e){if(t{var a=r(11),i=r(43),s=r(29),n=r(127),o=RegExp.prototype;t.exports=function(t){var e=t.flags;return void 0!==e||"flags"in o||i(t,"flags")||!s(o,t)?e:a(n,t)}},(t,e,r)=>{"use strict";var a=r(51);t.exports=function(){var t=a(this),e="";return t.hasIndices&&(e+="d"),t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.unicodeSets&&(e+="v"),t.sticky&&(e+="y"),e}},(t,e,r)=>{var a=r(10),i=r(14);t.exports=!a(function(){var t=Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",i(1,7)),7!==t.stack)})},(t,e,r)=>{var a=r(130),r=r(131);t.exports=!a&&!r&&"object"==typeof window&&"object"==typeof document},t=>{t.exports="object"==typeof Deno&&Deno&&"object"==typeof Deno.version},(t,e,r)=>{var a=r(18),r=r(7);t.exports="process"==a(r.process)},(t,e,r)=>{r=r(7);t.exports=r},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.build=exports.RenderTask=exports.PDFWorkerUtil=exports.PDFWorker=exports.PDFPageProxy=exports.PDFDocumentProxy=exports.PDFDocumentLoadingTask=exports.PDFDataRangeTransport=exports.LoopbackPort=exports.DefaultStandardFontDataFactory=exports.DefaultCanvasFactory=exports.DefaultCMapReaderFactory=void 0,exports.getDocument=getDocument,exports.setPDFNetworkStreamFactory=setPDFNetworkStreamFactory,exports.version=void 0;var _util=__w_pdfjs_require__(1),_annotation_storage=__w_pdfjs_require__(134),_display_utils=__w_pdfjs_require__(137),_font_loader=__w_pdfjs_require__(140),_canvas=__w_pdfjs_require__(141),_worker_options=__w_pdfjs_require__(144),_is_node=__w_pdfjs_require__(3),_message_handler=__w_pdfjs_require__(145),_metadata=__w_pdfjs_require__(146),_optional_content_config=__w_pdfjs_require__(147),_transport_stream=__w_pdfjs_require__(148),_xfa_text=__w_pdfjs_require__(149);function _classPrivateMethodInitSpec(t,e){_checkPrivateRedeclaration(t,e),e.add(t)}function _classPrivateMethodGet(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}function _classPrivateFieldSet(t,e,r){return _classApplyDescriptorSet(t,_classExtractFieldDescriptor(t,e,"set"),r),r}function _classPrivateFieldInitSpec(t,e,r){_checkPrivateRedeclaration(t,e),e.set(t,r)}function _checkPrivateRedeclaration(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateFieldGet(t,e){return _classApplyDescriptorGet(t,_classExtractFieldDescriptor(t,e,"get"))}function _classExtractFieldDescriptor(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}function _classStaticPrivateFieldSpecSet(t,e,r,a){_classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,"set"),_classApplyDescriptorSet(t,r,a)}function _classApplyDescriptorSet(t,e,r){if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function _classStaticPrivateFieldSpecGet(t,e,r){return _classCheckPrivateStaticAccess(t,e),_classCheckPrivateStaticFieldDescriptor(r,"get"),_classApplyDescriptorGet(t,r)}function _classCheckPrivateStaticFieldDescriptor(t,e){if(void 0===t)throw new TypeError("attempted to "+e+" private static field before its declaration")}function _classCheckPrivateStaticAccess(t,e){if(t!==e)throw new TypeError("Private static access of wrong provenance")}function _classApplyDescriptorGet(t,e){return e.get?e.get.call(t):e.value}const DEFAULT_RANGE_CHUNK_SIZE=65536,RENDERING_CANCELLED_TIMEOUT=100;let DefaultCanvasFactory=_display_utils.DOMCanvasFactory,DefaultCMapReaderFactory=(exports.DefaultCanvasFactory=DefaultCanvasFactory,_display_utils.DOMCMapReaderFactory),DefaultStandardFontDataFactory=(exports.DefaultCMapReaderFactory=DefaultCMapReaderFactory,_display_utils.DOMStandardFontDataFactory);if(exports.DefaultStandardFontDataFactory=DefaultStandardFontDataFactory,_is_node.isNodeJS){const{NodeCanvasFactory,NodeCMapReaderFactory,NodeStandardFontDataFactory}=__w_pdfjs_require__(150);exports.DefaultCanvasFactory=DefaultCanvasFactory=NodeCanvasFactory,exports.DefaultCMapReaderFactory=DefaultCMapReaderFactory=NodeCMapReaderFactory,exports.DefaultStandardFontDataFactory=DefaultStandardFontDataFactory=NodeStandardFontDataFactory}let createPDFNetworkStream;function setPDFNetworkStreamFactory(t){createPDFNetworkStream=t}function getDocument(t){const r=new PDFDocumentLoadingTask;let e;if("string"==typeof t||t instanceof URL)e={url:t};else if((0,_util.isArrayBuffer)(t))e={data:t};else if(t instanceof PDFDataRangeTransport)e={range:t};else{if("object"!=typeof t)throw new Error("Invalid parameter in getDocument, need either string, URL, TypedArray, or parameter object.");if(!t.url&&!t.data&&!t.range)throw new Error("Invalid parameter object: need either .data, .range or .url");e=t}const a=Object.create(null);let i=null,s=null;for(const l in e){var n=e[l];switch(l){case"url":if("undefined"!=typeof window)try{a[l]=new URL(n,window.location).href;continue}catch(t){(0,_util.warn)(`Cannot create valid URL: "${t}".`)}else if("string"==typeof n||n instanceof URL){a[l]=n.toString();continue}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.");case"range":i=n;continue;case"worker":s=n;continue;case"data":if(_is_node.isNodeJS&&"undefined"!=typeof Buffer&&n instanceof Buffer)a[l]=new Uint8Array(n);else{if(n instanceof Uint8Array)break;if("string"==typeof n)a[l]=(0,_util.stringToBytes)(n);else{if(("object"!=typeof n||null===n||isNaN(n.length))&&!(0,_util.isArrayBuffer)(n))throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.");a[l]=new Uint8Array(n)}}continue}a[l]=n}a.CMapReaderFactory=a.CMapReaderFactory||DefaultCMapReaderFactory,a.StandardFontDataFactory=a.StandardFontDataFactory||DefaultStandardFontDataFactory,a.ignoreErrors=!0!==a.stopAtErrors,a.fontExtraProperties=!0===a.fontExtraProperties,a.pdfBug=!0===a.pdfBug,a.enableXfa=!0===a.enableXfa,(!Number.isInteger(a.rangeChunkSize)||a.rangeChunkSize<1)&&(a.rangeChunkSize=DEFAULT_RANGE_CHUNK_SIZE),"string"==typeof a.docBaseUrl&&!(0,_display_utils.isDataScheme)(a.docBaseUrl)||(a.docBaseUrl=null),(!Number.isInteger(a.maxImageSize)||a.maxImageSize<-1)&&(a.maxImageSize=-1),"string"!=typeof a.cMapUrl&&(a.cMapUrl=null),"string"!=typeof a.standardFontDataUrl&&(a.standardFontDataUrl=null),"boolean"!=typeof a.useWorkerFetch&&(a.useWorkerFetch=a.CMapReaderFactory===_display_utils.DOMCMapReaderFactory&&a.StandardFontDataFactory===_display_utils.DOMStandardFontDataFactory),"boolean"!=typeof a.isEvalSupported&&(a.isEvalSupported=!0),"boolean"!=typeof a.isOffscreenCanvasSupported&&(a.isOffscreenCanvasSupported=!_is_node.isNodeJS),"boolean"!=typeof a.disableFontFace&&(a.disableFontFace=_is_node.isNodeJS),"boolean"!=typeof a.useSystemFonts&&(a.useSystemFonts=!_is_node.isNodeJS&&!a.disableFontFace),"object"==typeof a.ownerDocument&&null!==a.ownerDocument||(a.ownerDocument=globalThis.document),"boolean"!=typeof a.disableRange&&(a.disableRange=!1),"boolean"!=typeof a.disableStream&&(a.disableStream=!1),"boolean"!=typeof a.disableAutoFetch&&(a.disableAutoFetch=!1),(0,_util.setVerbosityLevel)(a.verbosity),s||(t={verbosity:a.verbosity,port:_worker_options.GlobalWorkerOptions.workerPort},s=t.port?PDFWorker.fromPort(t):new PDFWorker(t),r._worker=s);const o=r.docId;return s.promise.then(function(){if(r.destroyed)throw new Error("Loading aborted");var t=_fetchDocument(s,a,i,o),e=new Promise(function(t){let e;i?e=new _transport_stream.PDFDataTransportStream({length:a.length,initialData:a.initialData,progressiveDone:a.progressiveDone,contentDispositionFilename:a.contentDispositionFilename,disableRange:a.disableRange,disableStream:a.disableStream},i):a.data||(e=createPDFNetworkStream({url:a.url,length:a.length,httpHeaders:a.httpHeaders,withCredentials:a.withCredentials,rangeChunkSize:a.rangeChunkSize,disableRange:a.disableRange,disableStream:a.disableStream})),t(e)});return Promise.all([t,e]).then(function(t){var[t,e]=t;if(r.destroyed)throw new Error("Loading aborted");t=new _message_handler.MessageHandler(o,t,s.port),e=new WorkerTransport(t,r,e,a);r._transport=e,t.send("Ready",null)})}).catch(r._capability.reject),r}async function _fetchDocument(t,e,r,a){if(t.destroyed)throw new Error("Worker was destroyed");r&&(e.length=r.length,e.initialData=r.initialData,e.progressiveDone=r.progressiveDone,e.contentDispositionFilename=r.contentDispositionFilename);r=await t.messageHandler.sendWithPromise("GetDocRequest",{docId:a,apiVersion:"3.0.279",data:e.data,password:e.password,disableAutoFetch:e.disableAutoFetch,rangeChunkSize:e.rangeChunkSize,length:e.length,docBaseUrl:e.docBaseUrl,enableXfa:e.enableXfa,evaluatorOptions:{maxImageSize:e.maxImageSize,disableFontFace:e.disableFontFace,ignoreErrors:e.ignoreErrors,isEvalSupported:e.isEvalSupported,isOffscreenCanvasSupported:e.isOffscreenCanvasSupported,fontExtraProperties:e.fontExtraProperties,useSystemFonts:e.useSystemFonts,cMapUrl:e.useWorkerFetch?e.cMapUrl:null,standardFontDataUrl:e.useWorkerFetch?e.standardFontDataUrl:null}});if(e.data&&(e.data=null),t.destroyed)throw new Error("Worker was destroyed");return r}class PDFDocumentLoadingTask{constructor(){var t,e;this._capability=(0,_util.createPromiseCapability)(),this._transport=null,this._worker=null,this.docId="d"+(_classStaticPrivateFieldSpecSet(PDFDocumentLoadingTask,PDFDocumentLoadingTask,_docId,(t=_classStaticPrivateFieldSpecGet(PDFDocumentLoadingTask,PDFDocumentLoadingTask,_docId),e=t++,t)),e),this.destroyed=!1,this.onPassword=null,this.onProgress=null,this.onUnsupportedFeature=null}get promise(){return this._capability.promise}async destroy(){var t;this.destroyed=!0,await(null==(t=this._transport)?void 0:t.destroy()),this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}}exports.PDFDocumentLoadingTask=PDFDocumentLoadingTask;var _docId={writable:!0,value:0};class PDFDataRangeTransport{constructor(t,e){var r=2{for(const t of this._progressListeners)t(e,r)})}onDataProgressiveRead(e){this._readyCapability.promise.then(()=>{for(const t of this._progressiveReadListeners)t(e)})}onDataProgressiveDone(){this._readyCapability.promise.then(()=>{for(const t of this._progressiveDoneListeners)t()})}transportReady(){this._readyCapability.resolve()}requestDataRange(t,e){(0,_util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}exports.PDFDataRangeTransport=PDFDataRangeTransport;class PDFDocumentProxy{constructor(t,e){this._pdfInfo=t,this._transport=e}get annotationStorage(){return this._transport.annotationStorage}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get stats(){return this._transport.stats}get isPureXfa(){return!!this._transport._htmlForXfa}get allXfaHtml(){return this._transport._htmlForXfa}getPage(t){return this._transport.getPage(t)}getPageIndex(t){return this._transport.getPageIndex(t)}getDestinations(){return this._transport.getDestinations()}getDestination(t){return this._transport.getDestination(t)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJavaScript(){return this._transport.getJavaScript()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig(){return this._transport.getOptionalContentConfig()}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(){return this._transport.startCleanup(0{u.renderTasks.delete(v),(this.cleanupAfterRender||g)&&(this.pendingCleanup=!0),this._tryCleanup(),t?(v.capability.reject(t),this._abortOperatorList({intentState:u,reason:t instanceof Error?t:new Error(t)})):v.capability.resolve(),null!=(t=this._stats)&&t.timeEnd("Rendering"),null!=(t=this._stats)&&t.timeEnd("Overall")}),v=new InternalRenderTask({callback:m,params:{canvasContext:e,viewport:r,transform:s,background:o},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:h,operatorList:u.operatorList,pageIndex:this._pageIndex,canvasFactory:f,useRequestAnimationFrame:!g,pdfBug:this._pdfBug,pageColors:c});((p=u).renderTasks||(p.renderTasks=new Set)).add(v);t=v.task;return Promise.all([u.displayReadyCapability.promise,l]).then(t=>{var e,[t,r]=t;this.pendingCleanup?m():(null!=(e=this._stats)&&e.time("Rendering"),v.initializeGraphics({transparency:t,optionalContentConfig:r}),v.operatorListChanged())}).catch(m),t}getOperatorList(){var{intent:t="display",annotationMode:e=_util.AnnotationMode.ENABLE,printAnnotationStorage:r=null}=0_xfa_text.XfaText.textContent(t));const r=this.streamTextContent(t);return new Promise(function(a,t){const e=r.getReader(),i={items:[],styles:Object.create(null)};!function r(){e.read().then(function(t){var{value:t,done:e}=t;e?a(i):(Object.assign(i.styles,t.styles),i.items.push(...t.items),r())},t)}()})}getStructTree(){return this._structTreePromise||(this._structTreePromise=this._transport.getStructTree(this._pageIndex))}_destroy(){this.destroyed=!0;var t=[];for(const e of this._intentStates.values())if(this._abortOperatorList({intentState:e,reason:new Error("Page was destroyed."),force:!0}),!e.opListReadCapability)for(const r of e.renderTasks)t.push(r.completed),r.cancel();this.objs.clear();for(const a of this._bitmaps)a.close();return this._bitmaps.clear(),this._annotationPromises.clear(),this._jsActionsPromise=null,this._structTreePromise=null,this.pendingCleanup=!1,Promise.all(t)}cleanup(){var t=0{a.read().then(t=>{var{value:t,done:e}=t;e?i.streamReader=null:this._transport.destroyed||(this._renderPageChunk(t,i),s())},t=>{if(i.streamReader=null,!this._transport.destroyed){if(i.operatorList){i.operatorList.lastChunk=!0;for(const e of i.renderTasks)e.operatorListChanged();this._tryCleanup()}if(i.displayReadyCapability)i.displayReadyCapability.reject(t);else{if(!i.opListReadCapability)throw t;i.opListReadCapability.reject(t)}}})});s()}_abortOperatorList(t){let{intentState:e,reason:r,force:a=!1}=t;if(e.streamReader){if(!a){if(0{this._abortOperatorList({intentState:e,reason:r,force:!0}),e.streamReaderCancelTimeout=null},RENDERING_CANCELLED_TIMEOUT))}if(e.streamReader.cancel(new _util.AbortException(r.message)).catch(()=>{}),e.streamReader=null,!this._transport.destroyed){for(var[i,s]of this._intentStates)if(s===e){this._intentStates.delete(i);break}this.cleanup()}}}get stats(){return this._stats}}exports.PDFPageProxy=PDFPageProxy;var _listeners=new WeakMap,_deferred=new WeakMap,_document,_document$currentScri;class LoopbackPort{constructor(){_classPrivateFieldInitSpec(this,_listeners,{writable:!0,value:[]}),_classPrivateFieldInitSpec(this,_deferred,{writable:!0,value:Promise.resolve()})}postMessage(t,e){const r={data:structuredClone(t,e)};_classPrivateFieldGet(this,_deferred).then(()=>{for(const t of _classPrivateFieldGet(this,_listeners))t.call(this,r)})}addEventListener(t,e){_classPrivateFieldGet(this,_listeners).push(e)}removeEventListener(t,e){e=_classPrivateFieldGet(this,_listeners).indexOf(e);_classPrivateFieldGet(this,_listeners).splice(e,1)}terminate(){_classPrivateFieldGet(this,_listeners).length=0}}exports.LoopbackPort=LoopbackPort;const PDFWorkerUtil={isWorkerDisabled:!1,fallbackWorkerSrc:null,fakeWorkerId:0};if(exports.PDFWorkerUtil=PDFWorkerUtil,_is_node.isNodeJS&&"function"==typeof require)PDFWorkerUtil.isWorkerDisabled=!0,PDFWorkerUtil.fallbackWorkerSrc="./pdf.worker.js";else if("object"==typeof document){const pdfjsFilePath=null==(_document=document)||null==(_document$currentScri=_document.currentScript)?void 0:_document$currentScri.src;pdfjsFilePath&&(PDFWorkerUtil.fallbackWorkerSrc=pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i,".worker$1$2"))}PDFWorkerUtil.isSameOrigin=function(t,e){let r;try{if(!(r=new URL(t)).origin||"null"===r.origin)return!1}catch(t){return!1}t=new URL(e,r);return r.origin===t.origin},PDFWorkerUtil.createCDNWrapper=function(t){return URL.createObjectURL(new Blob([`importScripts("${t}");`]))};class PDFWorker{constructor(){var{name:t=null,port:e=null,verbosity:r=(0,_util.getVerbosityLevel)()}=0{e.removeEventListener("error",i),r.destroy(),e.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},i=()=>{this._webWorker||a()},s=(e.addEventListener("error",i),r.on("test",t=>{e.removeEventListener("error",i),this.destroyed?a():t?(this._messageHandler=r,this._port=e,this._webWorker=e,this._readyCapability.resolve(),r.send("configure",{verbosity:this.verbosity})):(this._setupFakeWorker(),r.destroy(),e.terminate())}),r.on("ready",t=>{if(e.removeEventListener("error",i),this.destroyed)a();else try{s()}catch(t){this._setupFakeWorker()}}),()=>{var t=new Uint8Array;r.send("test",t,[t.buffer])});return void s()}catch(t){(0,_util.info)("The worker has been disabled.")}}this._setupFakeWorker()}_setupFakeWorker(){PDFWorkerUtil.isWorkerDisabled||((0,_util.warn)("Setting up fake worker."),PDFWorkerUtil.isWorkerDisabled=!0),PDFWorker._setupFakeWorkerGlobal.then(t=>{var e,r,a;this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):(e=new LoopbackPort,this._port=e,r="fake"+PDFWorkerUtil.fakeWorkerId++,a=new _message_handler.MessageHandler(r+"_worker",r,e),t.setup(a,e),t=new _message_handler.MessageHandler(r,r+"_worker",e),this._messageHandler=t,this._readyCapability.resolve(),t.send("configure",{verbosity:this.verbosity}))}).catch(t=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${t.message}".`))})}destroy(){this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),_classStaticPrivateFieldSpecGet(PDFWorker,PDFWorker,_workerPorts).delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(t){if(null!=t&&t.port)return _classStaticPrivateFieldSpecGet(this,PDFWorker,_workerPorts).has(t.port)?_classStaticPrivateFieldSpecGet(this,PDFWorker,_workerPorts).get(t.port):new PDFWorker(t);throw new Error("PDFWorker.fromPort - invalid method signature.")}static get workerSrc(){if(_worker_options.GlobalWorkerOptions.workerSrc)return _worker_options.GlobalWorkerOptions.workerSrc;if(null!==PDFWorkerUtil.fallbackWorkerSrc)return _is_node.isNodeJS||(0,_display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'),PDFWorkerUtil.fallbackWorkerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _mainThreadWorkerMessageHandler(){try{var t;return(null==(t=globalThis.pdfjsWorker)?void 0:t.WorkerMessageHandler)||null}catch(t){return null}}static get _setupFakeWorkerGlobal(){const loader=async()=>{const mainWorkerMessageHandler=this._mainThreadWorkerMessageHandler;if(mainWorkerMessageHandler)return mainWorkerMessageHandler;if(_is_node.isNodeJS&&"function"==typeof require){const worker=eval("require")(this.workerSrc);return worker.WorkerMessageHandler}return await(0,_display_utils.loadScript)(this.workerSrc),window.pdfjsWorker.WorkerMessageHandler};return(0,_util.shadow)(this,"_setupFakeWorkerGlobal",loader())}}exports.PDFWorker=PDFWorker;var _workerPorts={writable:!0,value:new WeakMap},_docStats=new WeakMap,_pageCache=new WeakMap,_pagePromises=new WeakMap,_metadataPromise=new WeakMap;class WorkerTransport{constructor(t,e,r,a){_classPrivateFieldInitSpec(this,_docStats,{writable:!0,value:null}),_classPrivateFieldInitSpec(this,_pageCache,{writable:!0,value:new Map}),_classPrivateFieldInitSpec(this,_pagePromises,{writable:!0,value:new Map}),_classPrivateFieldInitSpec(this,_metadataPromise,{writable:!0,value:null}),this.messageHandler=t,this.loadingTask=e,this.commonObjs=new PDFObjects,this.fontLoader=new _font_loader.FontLoader({onUnsupportedFeature:this._onUnsupportedFeature.bind(this),ownerDocument:a.ownerDocument,styleElement:a.styleElement}),(this._params=a).useWorkerFetch||(this.CMapReaderFactory=new a.CMapReaderFactory({baseUrl:a.cMapUrl,isCompressed:a.cMapPacked}),this.StandardFontDataFactory=new a.StandardFontDataFactory({baseUrl:a.standardFontDataUrl})),this.destroyed=!1,this.destroyCapability=null,this._passwordCapability=null,this._networkStream=r,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=(0,_util.createPromiseCapability)(),this.setupMessageHandler()}get annotationStorage(){return(0,_util.shadow)(this,"annotationStorage",new _annotation_storage.AnnotationStorage)}get stats(){return _classPrivateFieldGet(this,_docStats)}getRenderingIntent(t){var e=1{this.commonObjs.clear(),this.fontLoader.clear(),_classPrivateFieldSet(this,_metadataPromise,null),this._getFieldObjectsPromise=null,this._hasJSActionsPromise=null,this._networkStream&&this._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated.")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()},this.destroyCapability.reject)}return this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:o,loadingTask:a}=this;o.on("GetReader",(t,r)=>{(0,_util.assert)(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=t=>{this._lastProgress={loaded:t.loaded,total:t.total}},r.onPull=()=>{this._fullReader.read().then(function(t){var{value:t,done:e}=t;e?r.close():((0,_util.assert)((0,_util.isArrayBuffer)(t),"GetReader - expected an ArrayBuffer."),r.enqueue(new Uint8Array(t),1,[t]))}).catch(t=>{r.error(t)})},r.onCancel=t=>{this._fullReader.cancel(t),r.ready.catch(t=>{if(!this.destroyed)throw t})}}),o.on("ReaderHeadersReady",t=>{const e=(0,_util.createPromiseCapability)(),r=this._fullReader;return r.headersReady.then(()=>{var t;r.isStreamingSupported&&r.isRangeSupported||(this._lastProgress&&null!=(t=a.onProgress)&&t.call(a,this._lastProgress),r.onProgress=t=>{var e;null!=(e=a.onProgress)&&e.call(a,{loaded:t.loaded,total:t.total})}),e.resolve({isStreamingSupported:r.isStreamingSupported,isRangeSupported:r.isRangeSupported,contentLength:r.contentLength})},e.reject),e.promise}),o.on("GetRangeReader",(t,r)=>{(0,_util.assert)(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const e=this._networkStream.getRangeReader(t.begin,t.end);e?(r.onPull=()=>{e.read().then(function(t){var{value:t,done:e}=t;e?r.close():((0,_util.assert)((0,_util.isArrayBuffer)(t),"GetRangeReader - expected an ArrayBuffer."),r.enqueue(new Uint8Array(t),1,[t]))}).catch(t=>{r.error(t)})},r.onCancel=t=>{e.cancel(t),r.ready.catch(t=>{if(!this.destroyed)throw t})}):r.close()}),o.on("GetDoc",t=>{t=t.pdfInfo;this._numPages=t.numPages,this._htmlForXfa=t.htmlForXfa,delete t.htmlForXfa,a._capability.resolve(new PDFDocumentProxy(t,this))}),o.on("DocException",function(t){let e;switch(t.name){case"PasswordException":e=new _util.PasswordException(t.message,t.code);break;case"InvalidPDFException":e=new _util.InvalidPDFException(t.message);break;case"MissingPDFException":e=new _util.MissingPDFException(t.message);break;case"UnexpectedResponseException":e=new _util.UnexpectedResponseException(t.message,t.status);break;case"UnknownErrorException":e=new _util.UnknownErrorException(t.message,t.details);break;default:(0,_util.unreachable)("DocException - expected a valid Error.")}a._capability.reject(e)}),o.on("PasswordRequest",t=>{if(this._passwordCapability=(0,_util.createPromiseCapability)(),a.onPassword){var e=t=>{t instanceof Error?this._passwordCapability.reject(t):this._passwordCapability.resolve({password:t})};try{a.onPassword(e,t.code)}catch(t){this._passwordCapability.reject(t)}}else this._passwordCapability.reject(new _util.PasswordException(t.message,t.code));return this._passwordCapability.promise}),o.on("DataLoaded",t=>{var e;null!=(e=a.onProgress)&&e.call(a,{loaded:t.length,total:t.length}),this.downloadInfoCapability.resolve(t)}),o.on("StartRenderPage",t=>{this.destroyed||_classPrivateFieldGet(this,_pageCache).get(t.pageIndex)._startRenderPage(t.transparency,t.cacheKey)}),o.on("commonobj",t=>{let[e,r,a]=t;if(!this.destroyed&&!this.commonObjs.has(e))switch(r){case"Font":const s=this._params;if("error"in a){var i=a.error;(0,_util.warn)("Error during font loading: "+i),this.commonObjs.resolve(e,i)}else{let t=null;s.pdfBug&&null!=(i=globalThis.FontInspector)&&i.enabled&&(t={registerFont(t,e){globalThis.FontInspector.fontAdded(t,e)}});const n=new _font_loader.FontFaceObject(a,{isEvalSupported:s.isEvalSupported,disableFontFace:s.disableFontFace,ignoreErrors:s.ignoreErrors,onUnsupportedFeature:this._onUnsupportedFeature.bind(this),fontRegistry:t});this.fontLoader.bind(n).catch(t=>o.sendWithPromise("FontFallback",{id:e})).finally(()=>{!s.fontExtraProperties&&n.data&&(n.data=null),this.commonObjs.resolve(e,n)})}break;case"FontPath":case"Image":this.commonObjs.resolve(e,a);break;default:throw new Error("Got unknown common object type "+r)}}),o.on("obj",t=>{var[e,t,r,a]=t;if(!this.destroyed){var i=_classPrivateFieldGet(this,_pageCache).get(t);if(!i.objs.has(e))switch(r){case"Image":i.objs.resolve(e,a);var s,n,o;if(a){let t;a.bitmap?({bitmap:s,width:o,height:n}=a,t=o*n*4,i._bitmaps.add(s)):t=(null==(o=a.data)?void 0:o.length)||0,8e6{var e;this.destroyed||null!=(e=a.onProgress)&&e.call(a,{loaded:t.loaded,total:t.total})}),o.on("DocStats",t=>{this.destroyed||_classPrivateFieldSet(this,_docStats,Object.freeze({streamTypes:Object.freeze(t.streamTypes),fontTypes:Object.freeze(t.fontTypes)}))}),o.on("UnsupportedFeature",this._onUnsupportedFeature.bind(this)),o.on("FetchBuiltInCMap",t=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.CMapReaderFactory?this.CMapReaderFactory.fetch(t):Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter."))),o.on("FetchStandardFontData",t=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.StandardFontDataFactory?this.StandardFontDataFactory.fetch(t):Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")))}_onUnsupportedFeature(t){var e,r,t=t["featureId"];this.destroyed||null!=(e=(r=this.loadingTask).onUnsupportedFeature)&&e.call(r,t)}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var t;return this.annotationStorage.size<=0&&(0,_util.warn)("saveDocument called while `annotationStorage` is empty, please use the getData-method instead."),this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:this.annotationStorage.serializable,filename:(null==(t=this._fullReader)?void 0:t.filename)??null}).finally(()=>{this.annotationStorage.resetModified()})}getPage(t){if(!Number.isInteger(t)||t<=0||t>this._numPages)return Promise.reject(new Error("Invalid page request."));const e=t-1,r=_classPrivateFieldGet(this,_pagePromises).get(e);return r||(t=this.messageHandler.sendWithPromise("GetPage",{pageIndex:e}).then(t=>{if(this.destroyed)throw new Error("Transport destroyed");t=new PDFPageProxy(e,t,this,this._params.ownerDocument,this._params.pdfBug);return _classPrivateFieldGet(this,_pageCache).set(e,t),t}),_classPrivateFieldGet(this,_pagePromises).set(e,t),t)}getPageIndex(t){return"object"!=typeof t||null===t||!Number.isInteger(t.num)||t.num<0||!Number.isInteger(t.gen)||t.gen<0?Promise.reject(new Error("Invalid pageIndex request.")):this.messageHandler.sendWithPromise("GetPageIndex",{num:t.num,gen:t.gen})}getAnnotations(t,e){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:t,intent:e})}getFieldObjects(){return this._getFieldObjectsPromise||(this._getFieldObjectsPromise=this.messageHandler.sendWithPromise("GetFieldObjects",null))}hasJSActions(){return this._hasJSActionsPromise||(this._hasJSActionsPromise=this.messageHandler.sendWithPromise("HasJSActions",null))}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(t){return"string"!=typeof t?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:t})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getJavaScript(){return this.messageHandler.sendWithPromise("GetJavaScript",null)}getDocJSActions(){return this.messageHandler.sendWithPromise("GetDocJSActions",null)}getPageJSActions(t){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:t})}getStructTree(t){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:t})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(){return this.messageHandler.sendWithPromise("GetOptionalContentConfig",null).then(t=>new _optional_content_config.OptionalContentConfig(t))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){return _classPrivateFieldGet(this,_metadataPromise)||_classPrivateFieldSet(this,_metadataPromise,this.messageHandler.sendWithPromise("GetMetadata",null).then(t=>{return{info:t[0],metadata:t[1]?new _metadata.Metadata(t[1]):null,contentDispositionFilename:(null==(t=this._fullReader)?void 0:t.filename)??null,contentLength:(null==(t=this._fullReader)?void 0:t.contentLength)??null}}))}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(){var t=0e(r.data)),null}const r=_classPrivateFieldGet(this,_objs)[t];if(null!==r&&void 0!==r&&r.capability.settled)return r.data;throw new Error(`Requesting object that isn't resolved yet ${t}.`)}has(t){t=_classPrivateFieldGet(this,_objs)[t];return(null==t?void 0:t.capability.settled)||!1}resolve(t){var e=1{this._nextBound().catch(this._cancelBound)}):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk)&&(this.gfx.endDrawing(),this._canvas&&_classStaticPrivateFieldSpecGet(InternalRenderTask,InternalRenderTask,_canvasInUse).delete(this._canvas),this.callback()))}}var _canvasInUse={writable:!0,value:new WeakSet};const version="3.0.279",build=(exports.version=version,"d0823066c");exports.build=build},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PrintAnnotationStorage=e.AnnotationStorage=void 0;var a=r(1),n=r(135),i=r(139);function s(t,e,r){e=o(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function o(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}function l(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}var h=new WeakSet;class c{constructor(){var t,e;l(t=this,e=h),e.add(t),this._storage=new Map,this._modified=!1,this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(t,e){t=this._storage.get(t);return void 0===t?e:Object.assign(e,t)}getRawValue(t){return this._storage.get(t)}remove(t){if(this._storage.delete(t),0===this._storage.size&&this.resetModified(),"function"==typeof this.onAnnotationEditor){for(const e of this._storage.values())if(e instanceof n.AnnotationEditor)return;this.onAnnotationEditor(null)}}setValue(t,e){var r=this._storage.get(t);let a=!1;if(void 0!==r)for(var[i,s]of Object.entries(e))r[i]!==s&&(a=!0,r[i]=s);else a=!0,this._storage.set(t,e);a&&!function(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}(this,h,d).call(this),e instanceof n.AnnotationEditor&&"function"==typeof this.onAnnotationEditor&&this.onAnnotationEditor(e.constructor._type)}has(t){return this._storage.has(t)}getAll(){return 0{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationEditor=void 0;var a=r(136),i=r(1);function s(t,e,r){e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}function n(t,e,r){var a=t;if(e.has(a))throw new TypeError("Cannot initialize the same private elements twice on an object");e.set(t,r)}function o(t,e,r){e=h(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function l(t,e){e=h(t,e,"get");return e.get?e.get.call(t):e.value}function h(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}var c=new WeakMap,d=new WeakMap,u=new WeakMap,p=new WeakMap,f=new WeakMap,g=new WeakMap;class m{constructor(t){n(this,c,{writable:!0,value:this.focusin.bind(this)}),n(this,d,{writable:!0,value:this.focusout.bind(this)}),n(this,u,{writable:!0,value:!1}),n(this,p,{writable:!0,value:!1}),n(this,f,{writable:!0,value:!1}),n(this,g,{writable:!0,value:m._zIndex++}),this.constructor===m&&(0,i.unreachable)("Cannot initialize AnnotationEditor."),this.parent=t.parent,this.id=t.id,this.width=this.height=null,this.pageIndex=t.parent.pageIndex,this.name=t.name,this.div=null;var[e,r]=this.parent.viewportBaseDimensions;this.x=t.x/e,this.y=t.y/r,this.rotation=this.parent.viewport.rotation,this.isAttachedToDOM=!1}static get _defaultLineColor(){return(0,i.shadow)(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=l(this,g)}focusin(t){l(this,u)?o(this,u,!1):this.parent.setSelected(this)}focusout(t){var e;!this.isAttachedToDOM||null!=(e=t.relatedTarget)&&e.closest("#"+this.id)||(t.preventDefault(),this.parent.isMultipleSelection)||this.commitOrRemove()}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.parent.addToAnnotationStorage(this)}dragstart(t){var e=this.parent.div.getBoundingClientRect();this.startX=t.clientX-e.x,this.startY=t.clientY-e.y,t.dataTransfer.setData("text/plain",this.id),t.dataTransfer.effectAllowed="move"}setAt(t,e,r,a){var[i,s]=this.parent.viewportBaseDimensions;[r,a]=this.screenToPageTranslation(r,a),this.x=(t+r)/i,this.y=(e+a)/s,this.div.style.left=100*this.x+"%",this.div.style.top=100*this.y+"%"}translate(t,e){var[r,a]=this.parent.viewportBaseDimensions;[t,e]=this.screenToPageTranslation(t,e),this.x+=t/r,this.y+=e/a,this.div.style.left=100*this.x+"%",this.div.style.top=100*this.y+"%"}screenToPageTranslation(t,e){var r=this.parent.viewport["rotation"];switch(r){case 90:return[e,-t];case 180:return[-t,-e];case 270:return[-e,t];default:return[t,e]}}setDims(t,e){var[r,a]=this.parent.viewportBaseDimensions;this.div.style.width=100*t/r+"%",this.div.style.height=100*e/a+"%"}fixDims(){var t,e,r=this.div["style"],{height:a,width:i}=r,s=i.endsWith("%"),n=a.endsWith("%");s&&n||([t,e]=this.parent.viewportBaseDimensions,s||(r.width=100*parseFloat(i)/t+"%"),n)||(r.height=100*parseFloat(a)/e+"%")}getInitialTranslation(){return[0,0]}render(){this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.setAttribute("tabIndex",0),this.setInForeground(),this.div.addEventListener("focusin",l(this,c)),this.div.addEventListener("focusout",l(this,d));var[t,e]=this.getInitialTranslation();return this.translate(t,e),(0,a.bindEvents)(this,this.div,["dragstart","pointerdown"]),this.div}pointerdown(t){var e=a.KeyboardManager.platform.isMac;0!==t.button||t.ctrlKey&&e?t.preventDefault():(t.ctrlKey&&!e||t.shiftKey||t.metaKey&&e?this.parent.toggleSelected(this):this.parent.setSelected(this),o(this,u,!0))}getRect(t,e){var[r,a]=this.parent.viewportBaseDimensions,[i,s]=this.parent.pageDimensions,n=i*t/r,o=s*e/a,l=this.x*i,h=this.y*s,c=this.width*i,d=this.height*s;switch(this.rotation){case 0:return[l+n,s-h-o-d,l+n+c,s-h-o];case 90:return[l+o,s-h+n,l+o+d,s-h+n+c];case 180:return[l-n-c,s-h+o,l-n,s-h+o+d];case 270:return[l-o-d,s-h-n-c,l-o,s-h-n];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(t,e){var[r,a,i,s]=t,n=i-r,o=s-a;switch(this.rotation){case 0:return[r,e-s,n,o];case 90:return[r,e-a,o,n];case 180:return[i,e-a,n,o];case 270:return[i,e-s,o,n];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){o(this,f,!0)}disableEditMode(){o(this,f,!1)}isInEditMode(){return l(this,f)}shouldGetKeyboardEvents(){return!1}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){var t;null!=(t=this.div)&&t.addEventListener("focusin",l(this,c))}serialize(){(0,i.unreachable)("An editor must be serializable")}static deserialize(t,e){var r=new this.prototype.constructor({parent:e,id:e.getNextId()}),[e,a]=(r.rotation=t.rotation,e.pageDimensions),[t,i,s,n]=r.getRectInCurrentCoords(t.rect,a);return r.x=t/e,r.y=i/a,r.width=s/e,r.height=n/a,r}remove(){this.div.removeEventListener("focusin",l(this,c)),this.div.removeEventListener("focusout",l(this,d)),this.isEmpty()||this.commit(),this.parent.remove(this)}select(){var t;null!=(t=this.div)&&t.classList.add("selectedEditor")}unselect(){var t;null!=(t=this.div)&&t.classList.remove("selectedEditor")}updateParams(t,e){}disableEditing(){}enableEditing(){}get propertiesToUpdate(){return{}}get contentDiv(){return this.div}get isEditing(){return l(this,p)}set isEditing(t){o(this,p,t),t?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null)}}s(e.AnnotationEditor=m,"_colorManager",new a.ColorManager),s(m,"_zIndex",1)},(L,t,N)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeyboardManager=t.CommandManager=t.ColorManager=t.AnnotationEditorUIManager=void 0,t.bindEvents=function(t,e,r){for(const a of r)e.addEventListener(a,t[a].bind(t))},t.opacityToHex=function(t){return Math.round(Math.min(255,Math.max(1,255*t))).toString(16).padStart(2,"0")};var n=N(1),j=N(137);function U(t,e,r){e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}function o(t,e){W(t,e),e.add(t)}function l(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}function r(t,e,r){W(t,e),e.set(t,r)}function W(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function h(t,e,r){e=B(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function c(t,e){e=B(t,e,"get");return e.get?e.get.call(t):e.value}function B(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}var a=new WeakMap;class G{constructor(){r(this,a,{writable:!0,value:0})}getId(){var t,e;return""+n.AnnotationEditorPrefix+(h(this,a,(t=c(this,a),e=t++,t)),e)}}var d=new WeakMap,u=new WeakMap,p=new WeakMap,f=new WeakMap;class q{constructor(){var t=0t===r[e]))return V._colorsMapping.get(e);return r}getHexCode(t){var e=this._colors.get(t);return e?n.Util.makeHexColor(...e):t}}U(t.ColorManager=V,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));var i=new WeakMap,s=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap,_=new WeakMap,y=new WeakMap,X=new WeakMap,A=new WeakMap,S=new WeakMap,w=new WeakMap,x=new WeakMap,E=new WeakMap,C=new WeakMap,k=new WeakMap,P=new WeakMap,Y=new WeakMap,K=new WeakMap,T=new WeakMap,J=new WeakSet,$=new WeakSet,Q=new WeakSet,Z=new WeakSet,M=new WeakSet,F=new WeakSet,tt=new WeakSet,et=new WeakSet,rt=new WeakSet,R=new WeakSet,at=new WeakSet;class O{constructor(t,e){o(this,at),o(this,R),o(this,rt),o(this,et),o(this,tt),o(this,F),o(this,M),o(this,Z),o(this,Q),o(this,$),o(this,J),r(this,i,{writable:!0,value:null}),r(this,s,{writable:!0,value:new Map}),r(this,m,{writable:!0,value:new Map}),r(this,v,{writable:!0,value:new q}),r(this,b,{writable:!0,value:0}),r(this,_,{writable:!0,value:null}),r(this,y,{writable:!0,value:null}),r(this,X,{writable:!0,value:new G}),r(this,A,{writable:!0,value:!1}),r(this,S,{writable:!0,value:n.AnnotationEditorType.NONE}),r(this,w,{writable:!0,value:new Set}),r(this,x,{writable:!0,value:this.copy.bind(this)}),r(this,E,{writable:!0,value:this.cut.bind(this)}),r(this,C,{writable:!0,value:this.paste.bind(this)}),r(this,k,{writable:!0,value:this.keydown.bind(this)}),r(this,P,{writable:!0,value:this.onEditingAction.bind(this)}),r(this,Y,{writable:!0,value:this.onPageChanging.bind(this)}),r(this,K,{writable:!0,value:{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1}}),r(this,T,{writable:!0,value:null}),h(this,T,t),h(this,y,e),c(this,y)._on("editingaction",c(this,P)),c(this,y)._on("pagechanging",c(this,Y))}destroy(){l(this,$,st).call(this),c(this,y)._off("editingaction",c(this,P)),c(this,y)._off("pagechanging",c(this,Y));for(const t of c(this,m).values())t.destroy();c(this,m).clear(),c(this,s).clear(),h(this,i,null),c(this,w).clear(),c(this,v).destroy()}onPageChanging(t){t=t.pageNumber;h(this,b,t-1)}focusMainContainer(){c(this,T).focus()}copy(t){if(t.preventDefault(),c(this,i)&&c(this,i).commitOrRemove(),this.hasSelection){var e=[];for(const r of c(this,w))r.isEmpty()||e.push(r.serialize());0!==e.length&&t.clipboardData.setData("application/pdfjs",JSON.stringify(e))}}cut(t){this.copy(t),this.delete()}paste(t){t.preventDefault();let e=t.clipboardData.getData("application/pdfjs");if(e){try{e=JSON.parse(e)}catch(t){return void(0,n.warn)(`paste: "${t.message}".`)}if(Array.isArray(e)){this.unselectAll();var r=c(this,m).get(c(this,b));try{const i=[];for(const s of e){var a=r.deserialize(s);if(!a)return;i.push(a)}this.addCommands({cmd:()=>{for(const t of i)l(this,rt,ct).call(this,t);l(this,at,dt).call(this,i)},undo:()=>{for(const t of i)t.remove()},mustExec:!0})}catch(t){(0,n.warn)(`paste: "${t.message}".`)}}}}keydown(t){var e;null!=(e=this.getActive())&&e.shouldGetKeyboardEvents()||O._keyboardManager.exec(this,t)}onEditingAction(t){["undo","redo","delete","selectAll"].includes(t.name)&&this[t.name]()}setEditingState(t){t?(l(this,J,it).call(this),l(this,Q,nt).call(this),l(this,M,D).call(this,{isEditing:c(this,S)!==n.AnnotationEditorType.NONE,isEmpty:l(this,R,e).call(this),hasSomethingToUndo:c(this,v).hasSomethingToUndo(),hasSomethingToRedo:c(this,v).hasSomethingToRedo(),hasSelectedEditor:!1})):(l(this,$,st).call(this),l(this,Z,ot).call(this),l(this,M,D).call(this,{isEditing:!1}))}registerEditorTypes(t){if(!c(this,_)){h(this,_,t);for(const e of c(this,_))l(this,F,I).call(this,e.defaultPropertiesToUpdate)}}getId(){return c(this,X).getId()}addLayer(t){c(this,m).set(t.pageIndex,t),c(this,A)?t.enable():t.disable()}removeLayer(t){c(this,m).delete(t.pageIndex)}updateMode(t){if(h(this,S,t),t===n.AnnotationEditorType.NONE)this.setEditingState(!1),l(this,et,ht).call(this);else{this.setEditingState(!0),l(this,tt,lt).call(this);for(const e of c(this,m).values())e.updateMode(t)}}updateToolbar(t){t!==c(this,S)&&c(this,y).dispatch("switchannotationeditormode",{source:this,mode:t})}updateParams(t,e){if(c(this,_)){for(const r of c(this,w))r.updateParams(t,e);for(const a of c(this,_))a.updateDefaultParams(t,e)}}getEditors(t){var e=[];for(const r of c(this,s).values())r.pageIndex===t&&e.push(r);return e}getEditor(t){return c(this,s).get(t)}addEditor(t){c(this,s).set(t.id,t)}removeEditor(t){c(this,s).delete(t.id),this.unselect(t)}setActiveEditor(t){c(this,i)!==t&&(h(this,i,t),t)&&l(this,F,I).call(this,t.propertiesToUpdate)}toggleSelected(t){c(this,w).has(t)?(c(this,w).delete(t),t.unselect(),l(this,M,D).call(this,{hasSelectedEditor:this.hasSelection})):(c(this,w).add(t),t.select(),l(this,F,I).call(this,t.propertiesToUpdate),l(this,M,D).call(this,{hasSelectedEditor:!0}))}setSelected(t){for(const e of c(this,w))e!==t&&e.unselect();c(this,w).clear(),c(this,w).add(t),t.select(),l(this,F,I).call(this,t.propertiesToUpdate),l(this,M,D).call(this,{hasSelectedEditor:!0})}isSelected(t){return c(this,w).has(t)}unselect(t){t.unselect(),c(this,w).delete(t),l(this,M,D).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==c(this,w).size}undo(){c(this,v).undo(),l(this,M,D).call(this,{hasSomethingToUndo:c(this,v).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:l(this,R,e).call(this)})}redo(){c(this,v).redo(),l(this,M,D).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:c(this,v).hasSomethingToRedo(),isEmpty:l(this,R,e).call(this)})}addCommands(t){c(this,v).add(t),l(this,M,D).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:l(this,R,e).call(this)})}delete(){if(this.commitOrRemove(),this.hasSelection){const e=[...c(this,w)];this.addCommands({cmd:()=>{for(const t of e)t.remove()},undo:()=>{for(const t of e)l(this,rt,ct).call(this,t)},mustExec:!0})}}commitOrRemove(){var t;null!=(t=c(this,i))&&t.commitOrRemove()}selectAll(){for(const t of c(this,w))t.commit();l(this,at,dt).call(this,c(this,s).values())}unselectAll(){if(c(this,i))c(this,i).commitOrRemove();else if(0!==c(this,w).size){for(const t of c(this,w))t.unselect();c(this,w).clear(),l(this,M,D).call(this,{hasSelectedEditor:!1})}}isActive(t){return c(this,i)===t}getActive(){return c(this,i)}getMode(){return c(this,S)}}function it(){c(this,T).addEventListener("keydown",c(this,k))}function st(){c(this,T).removeEventListener("keydown",c(this,k))}function nt(){document.addEventListener("copy",c(this,x)),document.addEventListener("cut",c(this,E)),document.addEventListener("paste",c(this,C))}function ot(){document.removeEventListener("copy",c(this,x)),document.removeEventListener("cut",c(this,E)),document.removeEventListener("paste",c(this,C))}function D(t){Object.entries(t).some(t=>{var[t,e]=t;return c(this,K)[t]!==e})&&c(this,y).dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(c(this,K),t)})}function I(t){c(this,y).dispatch("annotationeditorparamschanged",{source:this,details:t})}function lt(){if(!c(this,A)){h(this,A,!0);for(const t of c(this,m).values())t.enable()}}function ht(){if(this.unselectAll(),c(this,A)){h(this,A,!1);for(const t of c(this,m).values())t.disable()}}function ct(t){var e=c(this,m).get(t.pageIndex);e?e.addOrRebuild(t):this.addEditor(t)}function e(){if(0===c(this,s).size)return!0;if(1===c(this,s).size)for(const t of c(this,s).values())return t.isEmpty();return!1}function dt(t){c(this,w).clear();for(const e of t)e.isEmpty()||(c(this,w).add(e),e.select());l(this,M,D).call(this,{hasSelectedEditor:!0})}U(t.AnnotationEditorUIManager=O,"_keyboardManager",new g([[["ctrl+a","mac+meta+a"],O.prototype.selectAll],[["ctrl+z","mac+meta+z"],O.prototype.undo],[["ctrl+y","ctrl+shift+Z","mac+meta+shift+Z"],O.prototype.redo],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete"],O.prototype.delete],[["Escape","mac+Escape"],O.prototype.unselectAll]]))},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StatTimer=e.RenderingCancelledException=e.PixelsPerInch=e.PageViewport=e.PDFDateString=e.DOMStandardFontDataFactory=e.DOMSVGFactory=e.DOMCanvasFactory=e.DOMCMapReaderFactory=e.AnnotationPrefix=void 0,e.deprecated=function(t){console.log("Deprecated API usage: "+t)},e.getColorValues=function(t){var e=document.createElement("span");e.style.visibility="hidden",document.body.append(e);for(const a of t.keys()){e.style.color=a;var r=window.getComputedStyle(e).color;t.set(a,v(r))}e.remove()},e.getCurrentTransform=function(t){var{a:t,b:e,c:r,d:a,e:i,f:s}=t.getTransform();return[t,e,r,a,i,s]},e.getCurrentTransformInverse=function(t){var{a:t,b:e,c:r,d:a,e:i,f:s}=t.getTransform().invertSelf();return[t,e,r,a,i,s]},e.getFilenameFromUrl=function(t){var e=t.indexOf("#"),r=t.indexOf("?"),e=Math.min(0{const r=document.createElement("script");r.src=a,r.onload=function(t){i&&r.remove(),e(t)},r.onerror=function(){t(new Error("Cannot load script at: "+r.src))},(document.head||document.documentElement).append(r)})};var a=r(138),s=r(1);function i(t,e,r){e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}e.AnnotationPrefix="pdfjs_internal_id_";class n{}i(e.PixelsPerInch=n,"CSS",96),i(n,"PDF",72),i(n,"PDF_TO_CSS_UNITS",n.CSS/n.PDF);class o extends a.BaseCanvasFactory{constructor(){var{ownerDocument:t=globalThis.document}=0{const r=new XMLHttpRequest;r.open("GET",a,!0),i&&(r.responseType="arraybuffer"),r.onreadystatechange=()=>{if(r.readyState===XMLHttpRequest.DONE){if(200===r.status||0===r.status){let t;if(i&&r.response?t=new Uint8Array(r.response):!i&&r.responseText&&(t=(0,s.stringToBytes)(r.responseText)),t)return void e(t)}t(new Error(r.statusText))}},r.send(null)})}e.DOMCanvasFactory=o;class h extends a.BaseCMapReaderFactory{_fetchData(t,e){return l(t,this.isCompressed).then(t=>({cMapData:t,compressionType:e}))}}e.DOMCMapReaderFactory=h;class c extends a.BaseStandardFontDataFactory{_fetchData(t){return l(t,!0)}}e.DOMStandardFontDataFactory=c;class d extends a.BaseSVGFactory{_createSVG(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}}e.DOMSVGFactory=d;class u{constructor(t){let{viewBox:e,scale:r,rotation:a,offsetX:i=0,offsetY:s=0,dontFlip:n=!1}=t;this.viewBox=e,this.scale=r,this.rotation=a,this.offsetX=i,this.offsetY=s;var t=(e[2]+e[0])/2,o=(e[3]+e[1])/2;let l,h,c,d;switch((a%=360)<0&&(a+=360),a){case 180:l=-1,h=0,c=0,d=1;break;case 90:l=0,h=1,c=1,d=0;break;case 270:l=0,h=-1,c=-1,d=0;break;case 0:l=1,h=0,c=0,d=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}n&&(c=-c,d=-d);let u,p,f,g;g=0===l?(u=Math.abs(o-e[1])*r+i,p=Math.abs(t-e[0])*r+s,f=Math.abs(e[3]-e[1])*r,Math.abs(e[2]-e[0])*r):(u=Math.abs(t-e[0])*r+i,p=Math.abs(o-e[1])*r+s,f=Math.abs(e[2]-e[0])*r,Math.abs(e[3]-e[1])*r),this.transform=[l*r,h*r,c*r,d*r,u-l*r*t-c*r*o,p-h*r*t-d*r*o],this.width=f,this.height=g}clone(){var{scale:t=this.scale,rotation:e=this.rotation,offsetX:r=this.offsetX,offsetY:a=this.offsetY,dontFlip:i=!1}=0e&&(e=r.length)}for(const s of this.times){var a=s.end-s.start;t.push(s.name.padEnd(e)+` ${a}ms +`)}return t.join("")}};let m;function v(t){var e;return t.startsWith("#")?[(16711680&(e=parseInt(t.slice(1),16)))>>16,(65280&e)>>8,255&e]:t.startsWith("rgb(")?t.slice(4,-1).split(",").map(t=>parseInt(t)):t.startsWith("rgba(")?t.slice(5,-1).split(",").map(t=>parseInt(t)).slice(0,3):((0,s.warn)(`Not a valid color format: "${t}"`),[0,0,0])}e.PDFDateString=class{static toDateObject(t){if(!t||"string"!=typeof t)return null;t=(m=m||new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+|-])?(\\d{2})?'?(\\d{2})?'?")).exec(t);if(!t)return null;var e=parseInt(t[1],10),r=1<=(r=parseInt(t[2],10))&&r<=12?r-1:0,a=1<=(a=parseInt(t[3],10))&&a<=31?a:1;let i=parseInt(t[4],10),s=(i=0<=i&&i<=23?i:0,parseInt(t[5],10));s=0<=s&&s<=59?s:0;var n=0<=(n=parseInt(t[6],10))&&n<=59?n:0,o=t[7]||"Z",l=0<=(l=parseInt(t[8],10))&&l<=23?l:0,t=0<=(t=parseInt(t[9],10)||0)&&t<=59?t:0;return"-"===o?(i+=l,s+=t):"+"===o&&(i-=l,s-=t),new Date(Date.UTC(e,r,a,i,s,n))}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseStandardFontDataFactory=e.BaseSVGFactory=e.BaseCanvasFactory=e.BaseCMapReaderFactory=void 0;var a=r(1);e.BaseCanvasFactory=class i{constructor(){this.constructor===i&&(0,a.unreachable)("Cannot initialize BaseCanvasFactory.")}create(t,e){if(t<=0||e<=0)throw new Error("Invalid canvas size");return{canvas:t=this._createCanvas(t,e),context:t.getContext("2d")}}reset(t,e,r){if(!t.canvas)throw new Error("Canvas is not specified");if(e<=0||r<=0)throw new Error("Invalid canvas size");t.canvas.width=e,t.canvas.height=r}destroy(t){if(!t.canvas)throw new Error("Canvas is not specified");t.canvas.width=0,t.canvas.height=0,t.canvas=null,t.context=null}_createCanvas(t,e){(0,a.unreachable)("Abstract method `_createCanvas` called.")}};e.BaseCMapReaderFactory=class s{constructor(t){var{baseUrl:t=null,isCompressed:e=!1}=t;this.constructor===s&&(0,a.unreachable)("Cannot initialize BaseCMapReaderFactory."),this.baseUrl=t,this.isCompressed=e}async fetch(t){if(t=t.name,!this.baseUrl)throw new Error('The CMap "baseUrl" parameter must be specified, ensure that the "cMapUrl" and "cMapPacked" API parameters are provided.');if(!t)throw new Error("CMap name must be specified.");const e=this.baseUrl+t+(this.isCompressed?".bcmap":"");return t=this.isCompressed?a.CMapCompressionType.BINARY:a.CMapCompressionType.NONE,this._fetchData(e,t).catch(t=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: `+e)})}_fetchData(t,e){(0,a.unreachable)("Abstract method `_fetchData` called.")}};e.BaseStandardFontDataFactory=class n{constructor(t){var{baseUrl:t=null}=t;this.constructor===n&&(0,a.unreachable)("Cannot initialize BaseStandardFontDataFactory."),this.baseUrl=t}async fetch(t){if(t=t.filename,!this.baseUrl)throw new Error('The standard font "baseUrl" parameter must be specified, ensure that the "standardFontDataUrl" API parameter is provided.');if(!t)throw new Error("Font filename must be specified.");const e=""+this.baseUrl+t;return this._fetchData(e).catch(t=>{throw new Error("Unable to load font data at: "+e)})}_fetchData(t){(0,a.unreachable)("Abstract method `_fetchData` called.")}};e.BaseSVGFactory=class o{constructor(){this.constructor===o&&(0,a.unreachable)("Cannot initialize BaseSVGFactory.")}create(t,e){var r=2{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MurmurHash3_64=void 0;var p=r(1);const a=3285377520,f=4294901760,g=65535;e.MurmurHash3_64=class{constructor(t){this.h1=t?4294967295&t:a,this.h2=t?4294967295&t:a}update(r){let a,i;if("string"==typeof r){a=new Uint8Array(2*r.length);for(let t=i=0,e=r.length;t>>8,a[i++]=255&s)}}else{if(!(0,p.isArrayBuffer)(r))throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");a=r.slice(),i=a.byteLength}var e=i>>2,t=i-4*e,n=new Uint32Array(a.buffer,0,e);let o=0,l,h=this.h1,c=this.h2;var d=3432918353,u=461845907;for(let t=0;t>>17)*u&f|13715*o&g,h=5*(h=(h^=o)<<13|h>>>19)+3864292196):(l=(l=(l=(l=n[t])*d&f|11601*l&g)<<15|l>>>17)*u&f|13715*l&g,c=5*(c=(c^=l)<<13|c>>>19)+3864292196);switch(o=0,t){case 3:o^=a[4*e+2]<<16;case 2:o^=a[4*e+1]<<8;case 1:o=(o=(o=(o^=a[4*e])*d&f|11601*o&g)<<15|o>>>17)*u&f|13715*o&g,1&e?h^=o:c^=o}this.h1=h,this.h2=c}hexdigest(){var t=this.h1,e=this.h2,t=(t=3981806797*(t^=e>>>1)&f|36045*t&g,t=444984403*(t^=(e=4283543511*e&f|(2950163797*(e<<16|t>>>16)&f)>>>16)>>>1)&f|60499*t&g,((t^=(e=3301882366*e&f|(3120437893*(e<<16|t>>>16)&f)>>>16)>>>1)>>>0).toString(16)),e=(e>>>0).toString(16);return t.padStart(8,"0")+e.padStart(8,"0")}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FontLoader=e.FontFaceObject=void 0;var m=r(1);e.FontLoader=class{constructor(t){var{onUnsupportedFeature:t,ownerDocument:e=globalThis.document}=t;this._onUnsupportedFeature=t,this._document=e,this.nativeFontFaces=[],this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(t){this.nativeFontFaces.push(t),this._document.fonts.add(t)}insertRule(t){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));var e=this.styleElement.sheet;e.insertRule(t,e.cssRules.length)}clear(){for(const t of this.nativeFontFaces)this._document.fonts.delete(t);this.nativeFontFaces.length=0,this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async bind(e){if(!e.attached&&!e.missingFile)if(e.attached=!0,this.isFontLoadingAPISupported){var r=e.createNativeFontFace();if(r){this.addNativeFontFace(r);try{await r.loaded}catch(t){throw this._onUnsupportedFeature({featureId:m.UNSUPPORTED_FEATURES.errorFontLoadNative}),(0,m.warn)(`Failed to load font '${r.family}': '${t}'.`),e.disableFontFace=!0,t}}}else{r=e.createFontFaceRule();r&&(this.insertRule(r),this.isSyncFontLoadingSupported||await new Promise(t=>{t=this._queueLoadingCallback(t);this._prepareFontLoadEvent(e,t)}))}}get isFontLoadingAPISupported(){var t=!(null==(t=this._document)||!t.fonts);return(0,m.shadow)(this,"isFontLoadingAPISupported",t)}get isSyncFontLoadingSupported(){let t=!1;var e;return("undefined"==typeof navigator||14<=(null==(e=/Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent))?void 0:e[1]))&&(t=!0),(0,m.shadow)(this,"isSyncFontLoadingSupported",t)}_queueLoadingCallback(t){const e=this["loadingRequests"],r={done:!1,complete:function(){for((0,m.assert)(!r.done,"completeRequest() cannot be called twice."),r.done=!0;0{p.remove(),e.complete()})}};e.FontFaceObject=class{constructor(t,e){var{isEvalSupported:e=!0,disableFontFace:r=!1,ignoreErrors:a=!1,onUnsupportedFeature:i,fontRegistry:s=null}=e;this.compiledGlyphs=Object.create(null);for(const n in t)this[n]=t[n];this.isEvalSupported=!1!==e,this.disableFontFace=!0===r,this.ignoreErrors=!0===a,this._onUnsupportedFeature=i,this.fontRegistry=s}createNativeFontFace(){var t;if(!this.data||this.disableFontFace)return null;let e;return e=this.cssFontInfo?(t={weight:this.cssFontInfo.fontWeight},this.cssFontInfo.italicAngle&&(t.style=`oblique ${this.cssFontInfo.italicAngle}deg`),new FontFace(this.cssFontInfo.fontFamily,this.data,t)):new FontFace(this.loadedName,this.data,{}),null!=(t=this.fontRegistry)&&t.registerFont(this),e}createFontFaceRule(){var t;if(!this.data||this.disableFontFace)return null;var e=(0,m.bytesToString)(this.data),e=`url(data:${this.mimetype};base64,${btoa(e)});`;let r;if(this.cssFontInfo){let t=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(t+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),r=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${t}src:${e}}`}else r=`@font-face {font-family:"${this.loadedName}";src:${e}}`;return null!=(t=this.fontRegistry)&&t.registerFont(this,e),r}getPathGenerator(t,e){if(void 0!==this.compiledGlyphs[e])return this.compiledGlyphs[e];let a;try{a=t.get(this.loadedName+"_path_"+e)}catch(t){if(this.ignoreErrors)return this._onUnsupportedFeature({featureId:m.UNSUPPORTED_FEATURES.errorFontGetPath}),(0,m.warn)(`getPathGenerator - ignoring character: "${t}".`),this.compiledGlyphs[e]=function(t,e){};throw t}if(this.isEvalSupported&&m.FeatureTest.isEvalSupported){var r=[];for(const s of a){var i=void 0!==s.args?s.args.join(","):"";r.push("c.",s.cmd,"(",i,");\n")}return this.compiledGlyphs[e]=new Function("c","size",r.join(""))}return this.compiledGlyphs[e]=function(t,e){for(const r of a)"scale"===r.cmd&&(r.args=[e,-e]),t[r.cmd].apply(t,r.args)}}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CanvasGraphics=void 0;var M=r(1),T=r(137),F=r(142),u=r(143),r=r(3);function o(t,e){var r=t;if(e.has(r))throw new TypeError("Cannot initialize the same private elements twice on an object");e.add(t)}function c(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}const p=4096,y=r.isNodeJS&&"undefined"==typeof Path2D?-1:1e3;class l{constructor(t){this.canvasFactory=t,this.cache=Object.create(null)}getCanvas(t,e,r){let a;return void 0!==this.cache[t]?(a=this.cache[t],this.canvasFactory.reset(a,e,r)):(a=this.canvasFactory.create(e,r),this.cache[t]=a),a}delete(t){delete this.cache[t]}clear(){for(const e in this.cache){var t=this.cache[e];this.canvasFactory.destroy(t),delete this.cache[e]}}}function v(t,e,r,a,i,s,n,o,l,h){var c,d,u,p,[f,g,m,v,b,_]=(0,T.getCurrentTransform)(t);0===g&&0===m?(c=Math.round(n*f+b),d=Math.round(o*v+_),u=Math.abs(Math.round((n+l)*f+b)-c)||1,p=Math.abs(Math.round((o+h)*v+_)-d)||1,t.setTransform(Math.sign(f),0,0,Math.sign(v),c,d),t.drawImage(e,r,a,i,s,0,0,u,p),t.setTransform(f,g,m,v,b,_)):0===f&&0===v?(c=Math.round(o*m+b),d=Math.round(n*g+_),u=Math.abs(Math.round((o+h)*m+b)-c)||1,p=Math.abs(Math.round((n+l)*g+_)-d)||1,t.setTransform(0,Math.sign(g),Math.sign(m),0,c,d),t.drawImage(e,r,a,i,s,0,0,p,u),t.setTransform(f,g,m,v,b,_)):(t.drawImage(e,r,a,i,s,n,o,l,h),Math.hypot(f,g),Math.hypot(m,v))}class d{constructor(t,e){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=M.IDENTITY_MATRIX,this.textMatrixScale=1,this.fontMatrix=M.FONT_IDENTITY_MATRIX,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=M.TextRenderingMode.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.transferMaps=null,this.startNewPathAndClipBox([0,0,t,e])}clone(){var t=Object.create(this);return t.clipBox=this.clipBox.slice(),t}setCurrentPoint(t,e){this.x=t,this.y=e}updatePathMinMax(t,e,r){[e,r]=M.Util.applyTransform([e,r],t),this.minX=Math.min(this.minX,e),this.minY=Math.min(this.minY,r),this.maxX=Math.max(this.maxX,e),this.maxY=Math.max(this.maxY,r)}updateRectMinMax(t,e){var r=M.Util.applyTransform(e,t),e=M.Util.applyTransform(e.slice(2),t);this.minX=Math.min(this.minX,r[0],e[0]),this.minY=Math.min(this.minY,r[1],e[1]),this.maxX=Math.max(this.maxX,r[0],e[0]),this.maxY=Math.max(this.maxY,r[1],e[1])}updateScalingPathMinMax(t,e){M.Util.scaleMinMax(t,e),this.minX=Math.min(this.minX,e[0]),this.maxX=Math.max(this.maxX,e[1]),this.minY=Math.min(this.minY,e[2]),this.maxY=Math.max(this.maxY,e[3])}updateCurvePathMinMax(t,e,r,a,i,s,n,o,l,h){e=M.Util.bezierBoundingBox(e,r,a,i,s,n,o,l);h?(h[0]=Math.min(h[0],e[0],e[2]),h[1]=Math.max(h[1],e[0],e[2]),h[2]=Math.min(h[2],e[1],e[3]),h[3]=Math.max(h[3],e[1],e[3])):this.updateRectMinMax(t,e)}getPathBoundingBox(){var t=0>2),w=S.length,x=f+7>>3;let a=4294967295,i=M.FeatureTest.isLittleEndian?4278190080:255;for(h&&255===h[0]&&0===h[255]&&([a,i]=[i,a]),t=0;t>=1}for(;n=m&&(r=g,a=f*r),n=0,e=a;e--;)y[n++]=_[s++],y[n++]=_[s++],y[n++]=_[s++],y[n++]=255;if(T)for(let t=0;t>8]>>8:r[t]*s>>16}}function a(t,r,a,i){var s=i[0],n=i[1],o=i[2]-s,i=i[3]-n;if(0!=o&&0!=i){{var l=r.context;var h=a;var c=o;var d=i;o=r.subtype;i=r.backdrop;var u=r.transferMap;var p=s;var f=n;var g=r.offsetX;var m=r.offsetY;var v=!!i,b=v?i[0]:0,_=v?i[1]:0,y=v?i[2]:0;let e;e="Luminosity"===o?O:R;var A=Math.min(d,Math.ceil(1048576/c));for(let t=0;t>8,x[t-2]=x[t-2]*M+C*T>>8,x[t-1]=x[t-1]*M+k*T>>8)}}e(w.data,S.data,u),h.putImageData(S,p,t+f)}}t.save(),t.globalAlpha=1,t.globalCompositeOperation="source-over",t.setTransform(1,0,0,1,0,0),t.drawImage(a.canvas,0,0),t.restore()}}function _(t,e){var t=M.Util.singularValueDecompose2dScale(t),r=(t[0]=Math.fround(t[0]),t[1]=Math.fround(t[1]),Math.fround((globalThis.devicePixelRatio||1)*T.PixelsPerInch.PDF_TO_CSS_UNITS));return void 0!==e?e:t[0]<=r||t[1]<=r}const i=["butt","round","square"],s=["miter","round","bevel"],n={},m={};var A=new WeakSet;class S{constructor(t,e,r,a,i,s,n){o(this,A),this.ctx=t,this.current=new d(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.res=null,this.xobjs=null,this.commonObjs=e,this.objs=r,this.canvasFactory=a,this.groupStack=[],this.processingType3=null,this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.smaskCounter=0,this.tempSMask=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=[],this.optionalContentConfig=i,this.cachedCanvases=new l(this.canvasFactory),this.cachedPatterns=new Map,this.annotationCanvasMap=s,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.backgroundColor=(null==n?void 0:n.background)||null,this.foregroundColor=(null==n?void 0:n.foreground)||null,this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map}getObject(t){var e=1(t/=255)<=.03928?t/12.92:((t+.055)/1.055)**2.4,u=Math.round(.2126*d(n)+.7152*d(o)+.0722*d(l));this.selectColor=(t,e,r)=>{t=.2126*d(t)+.7152*d(e)+.0722*d(r);return Math.round(t)===u?c:h}}}this.ctx.fillStyle=this.backgroundColor||a,this.ctx.fillRect(0,0,i,s),this.ctx.restore(),r&&(n=this.cachedCanvases.getCanvas("transparent",i,s),this.compositeCtx=this.ctx,this.transparentCanvas=n.canvas,this.ctx=n.context,this.ctx.save(),this.ctx.transform(...(0,T.getCurrentTransform)(this.compositeCtx))),this.ctx.save(),g(this.ctx,this.foregroundColor),t&&(this.ctx.transform(...t),this.outputScaleX=t[0],this.outputScaleY=t[0]),this.ctx.transform(...e.transform),this.viewportScale=e.scale,this.baseTransform=(0,T.getCurrentTransform)(this.ctx)}executeOperatorList(t,e,r,a){var i=t.argsArray,s=t.fnArray;let n=e||0;var o=i.length;if(o===n)return n;var l=10h)return r(),n;c=0}}}endDrawing(){c(this,A,w).call(this),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const t of this._cachedBitmapsMap.values()){for(const e of t.values())"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement&&(e.width=e.height=0);t.clear()}this._cachedBitmapsMap.clear()}_scaleImage(r,t){var a,i,e=r.width,s=r.height;let n=Math.max(Math.hypot(t[0],t[1]),1),o=Math.max(Math.hypot(t[2],t[3]),1),l=e,h=s,c="prescale1";for(;2{a.save=a.__originalSave,a.restore=a.__originalRestore,a.rotate=a.__originalRotate,a.scale=a.__originalScale,a.translate=a.__originalTranslate,a.transform=a.__originalTransform,a.setTransform=a.__originalSetTransform,a.resetTransform=a.__originalResetTransform,a.clip=a.__originalClip,a.moveTo=a.__originalMoveTo,a.lineTo=a.__originalLineTo,a.bezierCurveTo=a.__originalBezierCurveTo,a.rect=a.__originalRect,a.closePath=a.__originalClosePath,a.beginPath=a.__originalBeginPath,delete a._removeMirroring},a.save=function(){n.save(),this.__originalSave()},a.restore=function(){n.restore(),this.__originalRestore()},a.translate=function(t,e){n.translate(t,e),this.__originalTranslate(t,e)},a.scale=function(t,e){n.scale(t,e),this.__originalScale(t,e)},a.transform=function(t,e,r,a,i,s){n.transform(t,e,r,a,i,s),this.__originalTransform(t,e,r,a,i,s)},a.setTransform=function(t,e,r,a,i,s){n.setTransform(t,e,r,a,i,s),this.__originalSetTransform(t,e,r,a,i,s)},a.resetTransform=function(){n.resetTransform(),this.__originalResetTransform()},a.rotate=function(t){n.rotate(t),this.__originalRotate(t)},a.clip=function(t){n.clip(t),this.__originalClip(t)},a.moveTo=function(t,e){n.moveTo(t,e),this.__originalMoveTo(t,e)},a.lineTo=function(t,e){n.lineTo(t,e),this.__originalLineTo(t,e)},a.bezierCurveTo=function(t,e,r,a,i,s){n.bezierCurveTo(t,e,r,a,i,s),this.__originalBezierCurveTo(t,e,r,a,i,s)},a.rect=function(t,e,r,a){n.rect(t,e,r,a),this.__originalRect(t,e,r,a)},a.closePath=function(){n.closePath(),this.__originalClosePath()},a.beginPath=function(){n.beginPath(),this.__originalBeginPath()},this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),f(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(t){var e;this.current.activeSMask&&(t?(t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.ceil(t[2]),t[3]=Math.ceil(t[3])):t=[0,0,this.ctx.canvas.width,this.ctx.canvas.height],e=this.current.activeSMask,a(this.suspendedCtx,e,this.ctx,t),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore())}save(){(this.inSMaskMode?(f(this.ctx,this.suspendedCtx),this.suspendedCtx):this.ctx).save();var t=this.current;this.stateStack.push(t),this.current=t.clone()}restore(){0===this.stateStack.length&&this.inSMaskMode&&this.endSMaskMode(),0!==this.stateStack.length&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),f(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null)}transform(t,e,r,a,i,s){this.ctx.transform(t,e,r,a,i,s),this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null}constructPath(a,i,t){var s=this.ctx,n=this.current;let o=n.x,l=n.y,h,c;var d=(0,T.getCurrentTransform)(s),u=0===d[0]&&0===d[3]||0===d[1]&&0===d[2],p=u?t.slice(0):null;for(let t=0,e=0,r=a.length;tnew S(t,this.commonObjs,this.objs,this.canvasFactory)},a)):this._getPattern(t[1],t[2])}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(t,e,r){var a=(null==(a=this.selectColor)?void 0:a.call(this,t,e,r))||M.Util.makeHexColor(t,e,r);this.ctx.strokeStyle=a,this.current.strokeColor=a}setFillRGBColor(t,e,r){var a=(null==(a=this.selectColor)?void 0:a.call(this,t,e,r))||M.Util.makeHexColor(t,e,r);this.ctx.fillStyle=a,this.current.fillColor=a,this.current.patternFill=!1}_getPattern(t){var e=1p&&(r=t/p,t=p),e>p&&(a=e/p,e=p),this.current.startNewPathAndClipBox([0,0,t,e]),"groupAt"+this.groupLevel);s.smask&&(i+="_smask_"+this.smaskCounter++%2);var l=this.cachedCanvases.getCanvas(i,t,e),d=l.context;d.scale(1/r,1/a),d.translate(-h,-c),d.transform(...o),s.smask?this.smaskStack.push({canvas:l.canvas,context:d,offsetX:h,offsetY:c,scaleX:r,scaleY:a,subtype:s.smask.subtype,backdrop:s.smask.backdrop,transferMap:s.smask.transferMap||null,startTransformInverse:null}):(n.setTransform(1,0,0,1,0,0),n.translate(h,c),n.scale(r,a),n.save()),f(n,d),this.ctx=d,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(n),this.groupLevel++}}endGroup(t){var e,r;this.contentVisible&&(this.groupLevel--,e=this.ctx,r=this.groupStack.pop(),this.ctx=r,this.ctx.imageSmoothingEnabled=!1,t.smask?(this.tempSMask=this.smaskStack.pop(),this.restore()):(this.ctx.restore(),r=(0,T.getCurrentTransform)(this.ctx),this.restore(),this.ctx.save(),this.ctx.setTransform(...r),t=M.Util.getAxialAlignedBoundingBox([0,0,e.canvas.width,e.canvas.height],r),this.ctx.drawImage(e.canvas,0,0),this.ctx.restore(),this.compose(t)))}beginAnnotation(t,e,r,a,i){var s,n,o,l,h;c(this,A,w).call(this),g(this.ctx,this.foregroundColor),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),Array.isArray(e)&&4===e.length&&(s=e[2]-e[0],n=e[3]-e[1],i&&this.annotationCanvasMap?((r=r.slice())[4]-=e[0],r[5]-=e[1],(e=e.slice())[0]=e[1]=0,e[2]=s,e[3]=n,[i,o]=M.Util.singularValueDecompose2dScale((0,T.getCurrentTransform)(this.ctx)),h=this["viewportScale"],l=Math.ceil(s*this.outputScaleX*h),h=Math.ceil(n*this.outputScaleY*h),{canvas:l,context:h}=(this.annotationCanvas=this.canvasFactory.create(l,h),this.annotationCanvas),this.annotationCanvasMap.set(t,l),this.annotationCanvas.savedCtx=this.ctx,this.ctx=h,this.ctx.setTransform(i,0,0,-o,0,n*o),g(this.ctx,this.foregroundColor)):(g(this.ctx,this.foregroundColor),this.ctx.rect(e[0],e[1],s,n),this.ctx.clip(),this.endPath())),this.current=new d(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...r),this.transform(...a)}endAnnotation(){this.annotationCanvas&&(this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(t){var e,r;this.contentVisible&&(e=t.count,(t=this.getObject(t.data,t)).count=e,e=this.ctx,(r=this.processingType3)&&(void 0===r.compiled&&(r.compiled=function(t){const{width:r,height:e}=t;if(r>y||e>y)return null;var a=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),i=r+1;let s=new Uint8Array(i*(e+1)),n,o,l;var h=r+7&-8;let c=new Uint8Array(h*e),d=0;for(const _ of t.data){let t=128;for(;0>=1}let u=0;for((d=0)!==c[d]&&(s[0]=1,++u),o=1;o>2)+(c[d+1]?4:0)+(c[d-h+1]?8:0)]&&(s[l+o]=a[t],++u),d++;if(c[d-h]!==c[d]&&(s[l+o]=c[d]?2:4,++u),1e3>4,s[e]&=t>>2|t<<2),f.lineTo(e%i,e/i|0),s[e]||--u}while(m!==e);--n}}return c=null,s=null,function(t){t.save(),t.scale(1/r,-1/e),t.translate(0,-e),t.fill(f),t.beginPath(),t.restore()}}(t)),r.compiled)?r.compiled(e):(t=(r=this._createMaskCanvas(t)).canvas,e.save(),e.setTransform(1,0,0,1,0,0),e.drawImage(t,r.offsetX,r.offsetY),e.restore(),this.compose()))}paintImageMaskXObjectRepeat(t,r){var a=2t/o)),i.lineDashOffset/=o,i.stroke(),a&&(i.setTransform(...t),i.setLineDash(e),i.lineDashOffset=r)}}isContentVisible(){for(let t=this.markedContentStack.length-1;0<=t;t--)if(!this.markedContentStack[t].visible)return!1;return!0}}function w(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)}e.CanvasGraphics=S;for(const x in M.OPS)void 0!==S.prototype[x]&&(S.prototype[M.OPS[x]]=S.prototype[x])},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TilingPattern=e.PathType=void 0,e.getShadingPattern=function(t){switch(t[0]){case"RadialAxial":return new i(t);case"Mesh":return new n(t);case"Dummy":return new h}throw new Error("Unknown IR type: "+t[0])};var v=r(1),b=r(137),s=r(3);const o={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function l(t,e){var r,a,i;e&&!s.isNodeJS&&(r=e[2]-e[0],a=e[3]-e[1],(i=new Path2D).rect(e[0],e[1],r,a),t.clip(i))}e.PathType=o;class a{constructor(){this.constructor===a&&(0,v.unreachable)("Cannot initialize BaseShadingPattern.")}getPattern(){(0,v.unreachable)("Abstract method `getPattern` called.")}}class i extends a{constructor(t){super(),this._type=t[1],this._bbox=t[2],this._colorStops=t[3],this._p0=t[4],this._p1=t[5],this._r0=t[6],this._r1=t[7],this.matrix=null}_createGradient(t){let e;"axial"===this._type?e=t.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):"radial"===this._type&&(e=t.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const r of this._colorStops)e.addColorStop(r[0],r[1]);return e}getPattern(t,e,r,a){let i;var s,n;return a===o.STROKE||a===o.FILL?(a=e.current.getClippedPathBoundingBox(a,(0,b.getCurrentTransform)(t))||[0,0,0,0],s=Math.ceil(a[2]-a[0])||1,n=Math.ceil(a[3]-a[1])||1,(n=(s=e.cachedCanvases.getCanvas("pattern",s,n,!0)).context).clearRect(0,0,n.canvas.width,n.canvas.height),n.beginPath(),n.rect(0,0,n.canvas.width,n.canvas.height),n.translate(-a[0],-a[1]),r=v.Util.transform(r,[1,0,0,1,a[0],a[1]]),n.transform(...e.baseTransform),this.matrix&&n.transform(...this.matrix),l(n,this._bbox),n.fillStyle=this._createGradient(n),n.fill(),i=t.createPattern(s.canvas,"no-repeat"),a=new DOMMatrix(r),i.setTransform(a)):(l(t,this._bbox),i=this._createGradient(t)),i}}function A(t,e,r,a,i,l,h,c){var s=e.coords,d=e.colors,u=t.data,p=4*t.width;let n;s[r+1]>s[a+1]&&(n=r,r=a,a=n,n=l,l=h,h=n),s[a+1]>s[i+1]&&(n=a,a=i,i=n,n=h,h=c,c=n),s[r+1]>s[a+1]&&(n=r,r=a,a=n,n=l,l=h,h=n);var f=(s[r]+e.offsetX)*e.scaleX,g=(s[r+1]+e.offsetY)*e.scaleY,m=(s[a]+e.offsetX)*e.scaleX,v=(s[a+1]+e.offsetY)*e.scaleY,b=(s[i]+e.offsetX)*e.scaleX,_=(s[i+1]+e.offsetY)*e.scaleY;if(!(_<=g)){var y=d[l],A=d[l+1],S=d[l+2],w=d[h],x=d[h+1],E=d[h+2],C=d[c],k=d[c+1],P=d[c+2],t=Math.round(g),T=Math.round(_);let i,s,n,o;for(let a=t;a<=T;a++){if(a_?1:v==_?0:(v-a)/(v-_),i=m-(m-b)*t,s=w-(w-C)*t,n=x-(x-k)*t,o=E-(E-P)*t}let e;var M=f-(f-b)*(e=a_?1:(g-a)/(g-_)),F=y-(y-C)*e,R=A-(A-k)*e,O=S-(S-P)*e,D=Math.round(Math.min(i,M)),I=Math.round(Math.max(i,M));let r=p*a+4*D;for(let t=D;t<=I;t++)(e=(i-t)/(i-M))<0?e=0:1=e?a=e:r=a/t,{scale:r,size:a}}clipBbox(t,e,r,a,i){t.ctx.rect(e,r,a-e,i-r),t.current.updateRectMinMax((0,b.getCurrentTransform)(t.ctx),[e,r,a,i]),t.clip(),t.endPath()}setFillAndStrokeStyleToContext(t,e,r){var a=t.ctx,i=t.current;switch(e){case c.COLORED:var s=this.ctx;a.fillStyle=s.fillStyle,a.strokeStyle=s.strokeStyle,i.fillColor=s.fillStyle,i.strokeColor=s.strokeStyle;break;case c.UNCOLORED:s=v.Util.makeHexColor(r[0],r[1],r[2]),a.fillStyle=s,a.strokeStyle=s,i.fillColor=s,i.strokeColor=s;break;default:throw new v.FormatError("Unsupported paint type: "+e)}}getPattern(t,e,r,a){let i=r,s=(a!==o.SHADING&&(i=v.Util.transform(i,e.baseTransform),this.matrix)&&(i=v.Util.transform(i,this.matrix)),r=this.createPatternCanvas(e),new DOMMatrix(i));return s=(s=s.translate(r.offsetX,r.offsetY)).scale(1/r.scaleX,1/r.scaleY),(a=t.createPattern(r.canvas,"repeat")).setTransform(s),a}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.applyMaskImageData=function(t){let{src:e,srcPos:r=0,dest:a,destPos:i=0,width:s,height:n,inverseDecode:o=!1}=t;var t=m.FeatureTest.isLittleEndian?4278190080:255,[l,h]=o?[0,t]:[t,0],c=s>>3,d=7&s,u=e.length;a=new Uint32Array(a.buffer);for(let t=0;t{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalWorkerOptions=void 0;var r=Object.create(null);(e.GlobalWorkerOptions=r).workerPort=void 0===r.workerPort?null:r.workerPort,r.workerSrc=void 0===r.workerSrc?"":r.workerSrc},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MessageHandler=void 0;var h=r(1);const o={UNKNOWN:0,DATA:1,ERROR:2},c={UNKNOWN:0,CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function d(t){switch(t instanceof Error||"object"==typeof t&&null!==t||(0,h.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),t.name){case"AbortException":return new h.AbortException(t.message);case"MissingPDFException":return new h.MissingPDFException(t.message);case"PasswordException":return new h.PasswordException(t.message,t.code);case"UnexpectedResponseException":return new h.UnexpectedResponseException(t.message,t.status);case"UnknownErrorException":return new h.UnknownErrorException(t.message,t.details);default:return new h.UnknownErrorException(t.message,t.toString())}}e.MessageHandler=class{constructor(t,e,n){this.sourceName=t,this.targetName=e,this.comObj=n,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),this._onComObjOnMessage=t=>{const e=t.data;if(e.targetName===this.sourceName)if(e.stream)this._processStreamMessage(e);else if(e.callback){var t=e.callbackId,r=this.callbackCapabilities[t];if(!r)throw new Error("Cannot resolve callback "+t);if(delete this.callbackCapabilities[t],e.callback===o.DATA)r.resolve(e.data);else{if(e.callback!==o.ERROR)throw new Error("Unexpected callback case");r.reject(d(e.reason))}}else{const a=this.actionHandler[e.action];if(!a)throw new Error("Unknown action from worker: "+e.action);if(e.callbackId){const i=this.sourceName,s=e.sourceName;void new Promise(function(t){t(a(e.data))}).then(function(t){n.postMessage({sourceName:i,targetName:s,callback:o.DATA,callbackId:e.callbackId,data:t})},function(t){n.postMessage({sourceName:i,targetName:s,callback:o.ERROR,callbackId:e.callbackId,reason:d(t)})})}else e.streamId?this._createStreamSink(e):a(e.data)}},n.addEventListener("message",this._onComObjOnMessage)}on(t,e){var r=this.actionHandler;if(r[t])throw new Error(`There is already an actionName called "${t}"`);r[t]=e}send(t,e,r){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,data:e},r)}sendWithPromise(t,e,r){var a=this.callbackId++,i=(0,h.createPromiseCapability)();this.callbackCapabilities[a]=i;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,callbackId:a,data:e},r)}catch(t){i.reject(t)}return i.promise}sendWithStream(r,a,t,i){const s=this.streamId++,n=this.sourceName,o=this.targetName,l=this.comObj;return new ReadableStream({start:t=>{var e=(0,h.createPromiseCapability)();return this.streamControllers[s]={controller:t,startCall:e,pullCall:null,cancelCall:null,isClosed:!1},l.postMessage({sourceName:n,targetName:o,action:r,streamId:s,data:a,desiredSize:t.desiredSize},i),e.promise},pull:t=>{var e=(0,h.createPromiseCapability)();return this.streamControllers[s].pullCall=e,l.postMessage({sourceName:n,targetName:o,stream:c.PULL,streamId:s,desiredSize:t.desiredSize}),e.promise},cancel:t=>{(0,h.assert)(t instanceof Error,"cancel must have a valid reason");var e=(0,h.createPromiseCapability)();return this.streamControllers[s].cancelCall=e,this.streamControllers[s].isClosed=!0,l.postMessage({sourceName:n,targetName:o,stream:c.CANCEL,streamId:s,reason:d(t)}),e.promise}},t)}_createStreamSink(e){const i=e.streamId,s=this.sourceName,n=e.sourceName,o=this.comObj,t=this,r=this.actionHandler[e.action],a={enqueue(t){var e,r=1{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Metadata=void 0;var a=r(1);function i(t,e,r){var a=t;if(e.has(a))throw new TypeError("Cannot initialize the same private elements twice on an object");e.set(t,r)}function s(t,e){e=o(t,e,"get");return e.get?e.get.call(t):e.value}function n(t,e,r){e=o(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function o(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}var l=new WeakMap,h=new WeakMap;e.Metadata=class{constructor(t){var{parsedData:t,rawData:e}=t;i(this,l,{writable:!0,value:void 0}),i(this,h,{writable:!0,value:void 0}),n(this,l,t),n(this,h,e)}getRaw(){return s(this,h)}get(t){return s(this,l).get(t)??null}getAll(){return(0,a.objectFromMap)(s(this,l))}has(t){return s(this,l).has(t)}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OptionalContentConfig=void 0;var s=r(1),a=r(139);function n(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}function o(t,e,r){l(t,e),e.set(t,r)}function l(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function h(t,e,r){var e=i(t,e,"set"),a=r;if(e.set)e.set.call(t,a);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=a}return r}function c(t,e){e=i(t,e,"get");return e.get?e.get.call(t):e.value}function i(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}const d=Symbol("INTERNAL");var u=new WeakMap;class p{constructor(t,e){o(this,u,{writable:!0,value:!0}),this.name=t,this.intent=e}get visible(){return c(this,u)}_setVisible(t,e){t!==d&&(0,s.unreachable)("Internal method `_setVisible` called."),h(this,u,e)}}var f=new WeakMap,g=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakSet;function _(r){var t=r.length;if(t<2)return!0;var a=r[0];for(let e=1;e{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PDFDataTransportStream=void 0;var a=r(1),s=r(137);e.PDFDataTransportStream=class{constructor(t,e){(0,a.assert)(e,'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'),this._queuedChunks=[],this._progressiveDone=t.progressiveDone||!1,this._contentDispositionFilename=t.contentDispositionFilename||null;var r=t.initialData;0<(null==r?void 0:r.length)&&(r=new Uint8Array(r).buffer,this._queuedChunks.push(r)),this._pdfDataRangeTransport=e,this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._contentLength=t.length,this._fullRequestReader=null,this._rangeReaders=[],this._pdfDataRangeTransport.addRangeListener((t,e)=>{this._onReceiveData({begin:t,chunk:e})}),this._pdfDataRangeTransport.addProgressListener((t,e)=>{this._onProgress({loaded:t,total:e})}),this._pdfDataRangeTransport.addProgressiveReadListener(t=>{this._onReceiveData({chunk:t})}),this._pdfDataRangeTransport.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),this._pdfDataRangeTransport.transportReady()}_onReceiveData(e){const r=new Uint8Array(e.chunk).buffer;var t;void 0===e.begin?this._fullRequestReader?this._fullRequestReader._enqueue(r):this._queuedChunks.push(r):(t=this._rangeReaders.some(function(t){return t._begin===e.begin&&(t._enqueue(r),!0)}),(0,a.assert)(t,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."))}get _progressiveDataLength(){var t;return(null==(t=this._fullRequestReader)?void 0:t._loaded)??0}_onProgress(t){var e,r;void 0===t.total?null!=(r=this._rangeReaders[0])&&null!=(e=r.onProgress)&&e.call(r,{loaded:t.loaded}):null!=(e=this._fullRequestReader)&&null!=(r=e.onProgress)&&r.call(e,{loaded:t.loaded,total:t.total})}_onProgressiveDone(){var t;null!=(t=this._fullRequestReader)&&t.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(t){t=this._rangeReaders.indexOf(t);0<=t&&this._rangeReaders.splice(t,1)}getFullReader(){(0,a.assert)(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");var t=this._queuedChunks;return this._queuedChunks=null,new i(this,t,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(t,e){var r;return e<=this._progressiveDataLength?null:(r=new n(this,t,e),this._pdfDataRangeTransport.requestDataRange(t,e),this._rangeReaders.push(r),r)}cancelAllRequests(t){var e;null!=(e=this._fullRequestReader)&&e.cancel(t);for(const r of this._rangeReaders.slice(0))r.cancel(t);this._pdfDataRangeTransport.abort()}};class i{constructor(t,e){var r=2{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.XfaText=void 0;class n{static textContent(t){const s=[];var e={items:s,styles:Object.create(null)};return function e(r){if(r){let t=null;var a=r.name;if("#text"===a)t=r.value;else{if(!n.shouldBuildText(a))return;null!=r&&null!=(a=r.attributes)&&a.textContent?t=r.attributes.textContent:r.value&&(t=r.value)}if(null!==t&&s.push({str:t}),r.children)for(const i of r.children)e(i)}}(t),e}static shouldBuildText(t){return!("textarea"===t||"input"===t||"option"===t||"select"===t)}}e.XfaText=n},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NodeStandardFontDataFactory=e.NodeCanvasFactory=e.NodeCMapReaderFactory=void 0;r=r(138);function a(t){return new Promise((r,a)=>{require("fs").readFile(t,(t,e)=>{t||!e?a(new Error(t)):r(new Uint8Array(e))})})}class i extends r.BaseCanvasFactory{_createCanvas(t,e){return require("canvas").createCanvas(t,e)}}e.NodeCanvasFactory=i;class s extends r.BaseCMapReaderFactory{_fetchData(t,e){return a(t).then(t=>({cMapData:t,compressionType:e}))}}e.NodeCMapReaderFactory=s;class n extends r.BaseStandardFontDataFactory{_fetchData(t){return a(t)}}e.NodeStandardFontDataFactory=n},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationEditorLayer=void 0;var a=r(136),i=r(1),s=r(152),n=r(153);function o(t,e){h(t,e),e.add(t)}function l(t,e,r){h(t,e),e.set(t,r)}function h(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function c(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}function d(t,e){e=p(t,e,"get");return e.get?e.get.call(t):e.value}function u(t,e,r){e=p(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function p(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}var f,g=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap,_=new WeakMap,y=new WeakMap,A=new WeakMap,S=new WeakMap,w=new WeakSet,x=new WeakSet,E=new WeakSet,C=new WeakSet;class k{constructor(t){o(this,C),o(this,E),o(this,x),o(this,w),l(this,g,{writable:!0,value:void 0}),l(this,m,{writable:!0,value:!1}),l(this,v,{writable:!0,value:this.pointerup.bind(this)}),l(this,b,{writable:!0,value:this.pointerdown.bind(this)}),l(this,_,{writable:!0,value:new Map}),l(this,y,{writable:!0,value:!1}),l(this,A,{writable:!0,value:!1}),l(this,S,{writable:!0,value:void 0}),k._initialized||(k._initialized=!0,s.FreeTextEditor.initialize(t.l10n),n.InkEditor.initialize(t.l10n)),t.uiManager.registerEditorTypes([s.FreeTextEditor,n.InkEditor]),u(this,S,t.uiManager),this.annotationStorage=t.annotationStorage,this.pageIndex=t.pageIndex,this.div=t.div,u(this,g,t.accessibilityManager),d(this,S).addLayer(this)}updateToolbar(t){d(this,S).updateToolbar(t)}updateMode(){var t=0{t.div.style.display="",t.div.remove(),t.isAttachedToDOM=!1,document.activeElement===document.body&&d(this,S).focusMainContainer()},0),d(this,A)||this.addInkEditorIfNeeded(!1)}add(t){var e;c(this,w,P).call(this,t),d(this,S).addEditor(t),this.attach(t),t.isAttachedToDOM||(e=t.render(),this.div.append(e),t.isAttachedToDOM=!0),this.moveEditorInDOM(t),t.onceAdded(),this.addToAnnotationStorage(t)}moveEditorInDOM(t){var e;null!=(e=d(this,g))&&e.moveElementInDOM(this.div,t.div,t.contentDiv,!0)}addToAnnotationStorage(t){t.isEmpty()||this.annotationStorage.has(t.id)||this.annotationStorage.setValue(t.id,t)}addOrRebuild(t){t.needsToBeRebuilt()?t.rebuild():this.add(t)}addANewEditor(t){this.addCommands({cmd:()=>{this.addOrRebuild(t)},undo:()=>{t.remove()},mustExec:!0})}addUndoableEditor(t){this.addCommands({cmd:()=>{this.addOrRebuild(t)},undo:()=>{t.remove()},mustExec:!1})}getNextId(){return d(this,S).getId()}deserialize(t){switch(t.annotationType){case i.AnnotationEditorType.FREETEXT:return s.FreeTextEditor.deserialize(t,this);case i.AnnotationEditorType.INK:return n.InkEditor.deserialize(t,this)}return null}setSelected(t){d(this,S).setSelected(t)}toggleSelected(t){d(this,S).toggleSelected(t)}isSelected(t){return d(this,S).isSelected(t)}unselect(t){d(this,S).unselect(t)}pointerup(t){var e=a.KeyboardManager.platform.isMac;0!==t.button||t.ctrlKey&&e||t.target===this.div&&d(this,y)&&(u(this,y,!1),d(this,m)?c(this,E,M).call(this,t):u(this,m,!0))}pointerdown(t){var e=a.KeyboardManager.platform.isMac;0!==t.button||t.ctrlKey&&e||t.target===this.div&&(u(this,y,!0),e=d(this,S).getActive(),u(this,m,!e||e.isEmpty()))}drop(t){var e,r,a=t.dataTransfer.getData("text/plain"),a=d(this,S).getEditor(a);a&&(t.preventDefault(),t.dataTransfer.dropEffect="move",c(this,w,P).call(this,a),e=this.div.getBoundingClientRect(),r=t.clientX-e.x,t=t.clientY-e.y,a.translate(r-a.startX,t-a.startY),this.moveEditorInDOM(a),a.div.focus())}dragover(t){t.preventDefault()}destroy(){var t,e;(null==(t=d(this,S).getActive())?void 0:t.parent)===this&&d(this,S).setActiveEditor(null);for(const r of d(this,_).values())null!=(e=d(this,g))&&e.removePointerInTextLayer(r.contentDiv),r.isAttachedToDOM=!1,r.div.remove(),r.parent=null;this.div=null,d(this,_).clear(),d(this,S).removeLayer(this)}render(t){this.viewport=t.viewport,(0,a.bindEvents)(this,this.div,["dragover","drop"]),this.setDimensions();for(const e of d(this,S).getEditors(this.pageIndex))this.add(e);this.updateMode()}update(t){d(this,S).commitOrRemove(),this.viewport=t.viewport,this.setDimensions(),this.updateMode()}get scaleFactor(){return this.viewport.scale}get pageDimensions(){var[t,e,r,a]=this.viewport.viewBox;return[r-t,a-e]}get viewportBaseDimensions(){var{width:t,height:e,rotation:r}=this.viewport;return r%180==0?[t,e]:[e,t]}setDimensions(){var{width:t,height:e,rotation:r}=this.viewport,a=r%180!=0,t=Math.floor(t)+"px",e=Math.floor(e)+"px";this.div.style.width=a?e:t,this.div.style.height=a?t:e,this.div.setAttribute("data-main-rotation",r)}}function P(t){var e;t.parent!==this&&(this.attach(t),t.pageIndex=this.pageIndex,null!=(e=t.parent)&&e.detach(t),t.parent=this,t.div)&&t.isAttachedToDOM&&(t.div.remove(),this.div.append(t.div))}function T(t){switch(d(this,S).getMode()){case i.AnnotationEditorType.FREETEXT:return new s.FreeTextEditor(t);case i.AnnotationEditorType.INK:return new n.InkEditor(t)}return null}function M(t){var e=this.getNextId(),e=c(this,x,T).call(this,{parent:this,id:e,x:t.offsetX,y:t.offsetY});return e&&this.add(e),e}function F(){u(this,A,!0);for(const t of d(this,_).values())t.isEmpty()&&t.remove();u(this,A,!1)}e.AnnotationEditorLayer=k,r=k,f=!(e="_initialized"),e in r?Object.defineProperty(r,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):r[e]=f},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FreeTextEditor=void 0;var a=r(1),n=r(136),i=r(135);function s(t,e){h(t,e),e.add(t)}function o(t,e,r){e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}function l(t,e,r){h(t,e),e.set(t,r)}function h(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function c(t,e){e=p(t,e,"get");return e.get?e.get.call(t):e.value}function d(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}function u(t,e,r){e=p(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function p(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}var f=new WeakMap,g=new WeakMap,m=new WeakMap,v=new WeakMap,b=new WeakMap,_=new WeakMap,y=new WeakMap,A=new WeakMap,S=new WeakMap,w=new WeakSet,x=new WeakSet,E=new WeakSet,C=new WeakSet;class k extends i.AnnotationEditor{constructor(t){super({...t,name:"freeTextEditor"}),s(this,C),s(this,E),s(this,x),s(this,w),l(this,f,{writable:!0,value:this.editorDivBlur.bind(this)}),l(this,g,{writable:!0,value:this.editorDivFocus.bind(this)}),l(this,m,{writable:!0,value:this.editorDivInput.bind(this)}),l(this,v,{writable:!0,value:this.editorDivKeydown.bind(this)}),l(this,b,{writable:!0,value:void 0}),l(this,_,{writable:!0,value:""}),l(this,y,{writable:!0,value:this.id+"-editor"}),l(this,A,{writable:!0,value:!1}),l(this,S,{writable:!0,value:void 0}),u(this,b,t.color||k._defaultColor||i.AnnotationEditor._defaultLineColor),u(this,S,t.fontSize||k._defaultFontSize)}static initialize(e){this._l10nPromise=new Map(["free_text2_default_content","editor_free_text2_aria_label"].map(t=>[t,e.get(t)]));var t=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(t.getPropertyValue("--freetext-padding"))}static updateDefaultParams(t,e){switch(t){case a.AnnotationEditorParamsType.FREETEXT_SIZE:k._defaultFontSize=e;break;case a.AnnotationEditorParamsType.FREETEXT_COLOR:k._defaultColor=e}}updateParams(t,e){switch(t){case a.AnnotationEditorParamsType.FREETEXT_SIZE:d(this,w,P).call(this,e);break;case a.AnnotationEditorParamsType.FREETEXT_COLOR:d(this,x,T).call(this,e)}}static get defaultPropertiesToUpdate(){return[[a.AnnotationEditorParamsType.FREETEXT_SIZE,k._defaultFontSize],[a.AnnotationEditorParamsType.FREETEXT_COLOR,k._defaultColor||i.AnnotationEditor._defaultLineColor]]}get propertiesToUpdate(){return[[a.AnnotationEditorParamsType.FREETEXT_SIZE,c(this,S)],[a.AnnotationEditorParamsType.FREETEXT_COLOR,c(this,b)]]}getInitialTranslation(){return[-k._internalPadding*this.parent.scaleFactor,-(k._internalPadding+c(this,S))*this.parent.scaleFactor]}rebuild(){super.rebuild(),null===this.div||this.isAttachedToDOM||this.parent.add(this)}enableEditMode(){this.isInEditMode()||(this.parent.setEditingState(!1),this.parent.updateToolbar(a.AnnotationEditorType.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this.div.draggable=!1,this.div.removeAttribute("aria-activedescendant"),this.editorDiv.addEventListener("keydown",c(this,v)),this.editorDiv.addEventListener("focus",c(this,g)),this.editorDiv.addEventListener("blur",c(this,f)),this.editorDiv.addEventListener("input",c(this,m)))}disableEditMode(){this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",c(this,y)),this.div.draggable=!0,this.editorDiv.removeEventListener("keydown",c(this,v)),this.editorDiv.removeEventListener("focus",c(this,g)),this.editorDiv.removeEventListener("blur",c(this,f)),this.editorDiv.removeEventListener("input",c(this,m)),this.div.focus(),this.isEditing=!1,this.parent.div.classList.add("freeTextEditing"))}focusin(t){super.focusin(t),t.target!==this.editorDiv&&this.editorDiv.focus()}onceAdded(){this.width||(this.enableEditMode(),this.editorDiv.focus())}isEmpty(){return!this.editorDiv||""===this.editorDiv.innerText.trim()}remove(){this.isEditing=!1,this.parent.setEditingState(!0),this.parent.div.classList.add("freeTextEditing"),super.remove()}commit(){super.commit(),c(this,A)||(u(this,A,!0),this.parent.addUndoableEditor(this)),this.disableEditMode(),u(this,_,d(this,E,M).call(this).trimEnd()),d(this,C,F).call(this)}shouldGetKeyboardEvents(){return this.isInEditMode()}dblclick(t){this.enableEditMode(),this.editorDiv.focus()}keydown(t){t.target===this.div&&"Enter"===t.key&&(this.enableEditMode(),this.editorDiv.focus())}editorDivKeydown(t){k._keyboardManager.exec(this,t)}editorDivFocus(t){this.isEditing=!0}editorDivBlur(t){this.isEditing=!1}editorDivInput(t){this.parent.div.classList.toggle("freeTextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}render(){if(!this.div){let t,e;this.width&&(t=this.x,e=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",c(this,y)),this.enableEditing(),k._l10nPromise.get("editor_free_text2_aria_label").then(t=>{var e;return null==(e=this.editorDiv)?void 0:e.setAttribute("aria-label",t)}),k._l10nPromise.get("free_text2_default_content").then(t=>{var e;return null==(e=this.editorDiv)?void 0:e.setAttribute("default-content",t)}),this.editorDiv.contentEditable=!0;var r=this.editorDiv["style"];if(r.fontSize=`calc(${c(this,S)}px * var(--scale-factor))`,r.color=c(this,b),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),(0,n.bindEvents)(this,this.div,["dblclick","keydown"]),this.width){var[r,a]=this.parent.viewportBaseDimensions;this.setAt(t*r,e*a,this.width*r,this.height*a);for(const s of c(this,_).split("\n")){var i=document.createElement("div");i.append(s?document.createTextNode(s):document.createElement("br")),this.editorDiv.append(i)}this.div.draggable=!0,this.editorDiv.contentEditable=!1}else this.div.draggable=!1,this.editorDiv.contentEditable=!0}return this.div}get contentDiv(){return this.editorDiv}static deserialize(t,e){e=super.deserialize(t,e);return u(e,S,t.fontSize),u(e,b,a.Util.makeHexColor(...t.color)),u(e,_,t.value),e}serialize(){var t,e;return this.isEmpty()?null:(t=k._internalPadding*this.parent.scaleFactor,t=this.getRect(t,t),e=i.AnnotationEditor._colorManager.convert(getComputedStyle(this.editorDiv).color),{annotationType:a.AnnotationEditorType.FREETEXT,color:e,fontSize:c(this,S),value:c(this,_),pageIndex:this.parent.pageIndex,rect:t,rotation:this.rotation})}}function P(t){const e=t=>{this.editorDiv.style.fontSize=`calc(${t}px * var(--scale-factor))`,this.translate(0,-(t-c(this,S))*this.parent.scaleFactor),u(this,S,t),d(this,C,F).call(this)},r=c(this,S);this.parent.addCommands({cmd:()=>{e(t)},undo:()=>{e(r)},mustExec:!0,type:a.AnnotationEditorParamsType.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}function T(t){const e=c(this,b);this.parent.addCommands({cmd:()=>{u(this,b,t),this.editorDiv.style.color=t},undo:()=>{u(this,b,e),this.editorDiv.style.color=e},mustExec:!0,type:a.AnnotationEditorParamsType.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}function M(){var t=this.editorDiv.getElementsByTagName("div");if(0===t.length)return this.editorDiv.innerText;var e=[];for(const a of t){var r=a.firstChild;"#text"===(null==r?void 0:r.nodeName)?e.push(r.data):e.push("")}return e.join("\n")}function F(){var[t,e]=this.parent.viewportBaseDimensions,r=this.div.getBoundingClientRect();this.width=r.width/t,this.height=r.height/e}o(e.FreeTextEditor=k,"_freeTextDefaultContent",""),o(k,"_l10nPromise",void 0),o(k,"_internalPadding",0),o(k,"_defaultColor",null),o(k,"_defaultFontSize",10),o(k,"_keyboardManager",new n.KeyboardManager([[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],k.prototype.commitOrRemove]])),o(k,"_type","freetext")},(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InkEditor=void 0,Object.defineProperty(t,"fitCurve",{enumerable:!0,get:function(){return N.fitCurve}});var v=e(1),a=e(135),N=e(154),j=e(136);function r(t,e){U(t,e),e.add(t)}function i(t,e,r){e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}function s(t,e,r){U(t,e),e.set(t,r)}function U(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function W(t,e,r){if(t!==e)throw new TypeError("Private static access of wrong provenance");return r}function b(t,e,r){e=B(t,e,"set");if(e.set)e.set.call(t,r);else{if(!e.writable)throw new TypeError("attempted to set read only private field");e.value=r}}function o(t,e){e=B(t,e,"get");return e.get?e.get.call(t):e.value}function B(t,e,r){if(e.has(t))return e.get(t);throw new TypeError("attempted to "+r+" private field on non-instance")}function _(t,e,r){if(e.has(t))return r;throw new TypeError("attempted to get private field on non-instance")}const y=16,G=100;var A=new WeakMap,S=new WeakMap,w=new WeakMap,n=new WeakMap,l=new WeakMap,h=new WeakMap,c=new WeakMap,x=new WeakMap,d=new WeakMap,u=new WeakMap,p=new WeakMap,E=new WeakMap,C=new WeakMap,f=new WeakMap,q=new WeakSet,H=new WeakSet,z=new WeakSet,V=new WeakSet,X=new WeakSet,Y=new WeakSet,K=new WeakSet,J=new WeakSet,g=new WeakSet,$=new WeakSet,m=new WeakSet,k=new WeakSet,P=new WeakSet,Q=new WeakSet,T=new WeakSet,Z=new WeakSet,tt=new WeakSet,et=new WeakSet,rt=new WeakSet,M=new WeakSet,F=new WeakSet,at=new WeakSet;class R extends a.AnnotationEditor{constructor(t){super({...t,name:"inkEditor"}),r(this,at),r(this,F),r(this,M),r(this,rt),r(this,et),r(this,tt),r(this,Z),r(this,T),r(this,Q),r(this,P),r(this,k),r(this,m),r(this,$),r(this,g),r(this,J),r(this,K),r(this,Y),r(this,X),r(this,V),r(this,z),r(this,H),r(this,q),s(this,A,{writable:!0,value:0}),s(this,S,{writable:!0,value:0}),s(this,w,{writable:!0,value:0}),s(this,n,{writable:!0,value:this.canvasPointermove.bind(this)}),s(this,l,{writable:!0,value:this.canvasPointerleave.bind(this)}),s(this,h,{writable:!0,value:this.canvasPointerup.bind(this)}),s(this,c,{writable:!0,value:this.canvasPointerdown.bind(this)}),s(this,x,{writable:!0,value:!1}),s(this,d,{writable:!0,value:!1}),s(this,u,{writable:!0,value:null}),s(this,p,{writable:!0,value:null}),s(this,E,{writable:!0,value:0}),s(this,C,{writable:!0,value:0}),s(this,f,{writable:!0,value:null}),this.color=t.color||null,this.thickness=t.thickness||null,this.opacity=t.opacity||null,this.paths=[],this.bezierPath2D=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0}static initialize(e){this._l10nPromise=new Map(["editor_ink_canvas_aria_label","editor_ink2_aria_label"].map(t=>[t,e.get(t)]))}static updateDefaultParams(t,e){switch(t){case v.AnnotationEditorParamsType.INK_THICKNESS:R._defaultThickness=e;break;case v.AnnotationEditorParamsType.INK_COLOR:R._defaultColor=e;break;case v.AnnotationEditorParamsType.INK_OPACITY:R._defaultOpacity=e/100}}updateParams(t,e){switch(t){case v.AnnotationEditorParamsType.INK_THICKNESS:_(this,q,it).call(this,e);break;case v.AnnotationEditorParamsType.INK_COLOR:_(this,H,st).call(this,e);break;case v.AnnotationEditorParamsType.INK_OPACITY:_(this,z,nt).call(this,e)}}static get defaultPropertiesToUpdate(){return[[v.AnnotationEditorParamsType.INK_THICKNESS,R._defaultThickness],[v.AnnotationEditorParamsType.INK_COLOR,R._defaultColor||a.AnnotationEditor._defaultLineColor],[v.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*R._defaultOpacity)]]}get propertiesToUpdate(){return[[v.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||R._defaultThickness],[v.AnnotationEditorParamsType.INK_COLOR,this.color||R._defaultColor||a.AnnotationEditor._defaultLineColor],[v.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??R._defaultOpacity))]]}rebuild(){super.rebuild(),null!==this.div&&(this.canvas||(_(this,m,pt).call(this),_(this,k,ft).call(this)),this.isAttachedToDOM||(this.parent.add(this),_(this,P,D).call(this)),_(this,F,I).call(this))}remove(){null!==this.canvas&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,o(this,p).disconnect(),b(this,p,null),super.remove())}enableEditMode(){o(this,x)||null===this.canvas||(super.enableEditMode(),this.div.draggable=!1,this.canvas.addEventListener("pointerdown",o(this,c)),this.canvas.addEventListener("pointerup",o(this,h)))}disableEditMode(){this.isInEditMode()&&null!==this.canvas&&(super.disableEditMode(),this.div.draggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",o(this,c)),this.canvas.removeEventListener("pointerup",o(this,h)))}onceAdded(){this.div.draggable=!this.isEmpty()}isEmpty(){return 0===this.paths.length||1===this.paths.length&&0===this.paths[0].length}commit(){o(this,x)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),b(this,x,!0),this.div.classList.add("disabled"),_(this,F,I).call(this,!0),this.parent.addInkEditorIfNeeded(!0),this.parent.moveEditorInDOM(this),this.div.focus())}focusin(t){super.focusin(t),this.enableEditMode()}canvasPointerdown(t){0===t.button&&this.isInEditMode()&&!o(this,x)&&(this.setInForeground(),"mouse"!==t.type&&this.div.focus(),t.stopPropagation(),this.canvas.addEventListener("pointerleave",o(this,l)),this.canvas.addEventListener("pointermove",o(this,n)),_(this,Y,ht).call(this,t.offsetX,t.offsetY))}canvasPointermove(t){t.stopPropagation(),_(this,K,ct).call(this,t.offsetX,t.offsetY)}canvasPointerup(t){0===t.button&&this.isInEditMode()&&0!==this.currentPath.length&&(t.stopPropagation(),_(this,$,ut).call(this,t),this.setInBackground())}canvasPointerleave(t){_(this,$,ut).call(this,t),this.setInBackground()}render(){if(!this.div){let t,e;this.width&&(t=this.x,e=this.y),super.render(),R._l10nPromise.get("editor_ink2_aria_label").then(t=>{var e;return null==(e=this.div)?void 0:e.setAttribute("aria-label",t)});var[r,a,i,s]=_(this,V,ot).call(this);this.setAt(r,a,0,0),this.setDims(i,s),_(this,m,pt).call(this),this.width?([r,a]=this.parent.viewportBaseDimensions,this.setAt(t*r,e*a,this.width*r,this.height*a),b(this,d,!0),_(this,P,D).call(this),this.setDims(this.width*r,this.height*a),_(this,g,O).call(this),_(this,at,wt).call(this),this.div.classList.add("disabled")):(this.div.classList.add("editing"),this.enableEditMode()),_(this,k,ft).call(this)}return this.div}setDimensions(t,e){var r=Math.round(t),a=Math.round(e);o(this,E)===r&&o(this,C)===a||(b(this,E,r),b(this,C,a),this.canvas.style.visibility="hidden",o(this,A)&&.01{this.thickness=t,_(this,F,I).call(this)},undo:()=>{this.thickness=e,_(this,F,I).call(this)},mustExec:!0,type:v.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})}function st(t){const e=this.color;this.parent.addCommands({cmd:()=>{this.color=t,_(this,g,O).call(this)},undo:()=>{this.color=e,_(this,g,O).call(this)},mustExec:!0,type:v.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})}function nt(t){t/=100;const e=this.opacity;this.parent.addCommands({cmd:()=>{this.opacity=t,_(this,g,O).call(this)},undo:()=>{this.opacity=e,_(this,g,O).call(this)},mustExec:!0,type:v.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})}function ot(){var{width:t,height:e,rotation:r}=this.parent.viewport;switch(r){case 90:return[0,t,t,e];case 180:return[t,e,t,e];case 270:return[e,0,t,e];default:return[0,0,t,e]}}function lt(){this.ctx.lineWidth=this.thickness*this.parent.scaleFactor/this.scaleFactor,this.ctx.lineCap="round",this.ctx.lineJoin="round",this.ctx.miterLimit=10,this.ctx.strokeStyle=""+this.color+(0,j.opacityToHex)(this.opacity)}function ht(t,e){this.isEditing=!0,o(this,d)||(b(this,d,!0),_(this,P,D).call(this),this.thickness||(this.thickness=R._defaultThickness),this.color||(this.color=R._defaultColor||a.AnnotationEditor._defaultLineColor),this.opacity??(this.opacity=R._defaultOpacity)),this.currentPath.push([t,e]),b(this,u,null),_(this,X,lt).call(this),this.ctx.beginPath(),this.ctx.moveTo(t,e),b(this,f,()=>{o(this,f)&&(o(this,u)&&(this.isEmpty()?(this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height)):_(this,g,O).call(this),this.ctx.lineTo(...o(this,u)),b(this,u,null),this.ctx.stroke()),window.requestAnimationFrame(o(this,f)))}),window.requestAnimationFrame(o(this,f))}function ct(t,e){var[r,a]=this.currentPath.at(-1);t===r&&e===a||(this.currentPath.push([t,e]),b(this,u,[t,e]))}function dt(t,e){this.ctx.closePath(),b(this,f,null),t=Math.min(Math.max(t,0),this.canvas.width),e=Math.min(Math.max(e,0),this.canvas.height);var[r,a]=this.currentPath.at(-1);t===r&&e===a||this.currentPath.push([t,e]);let i;i=1!==this.currentPath.length?(0,N.fitCurve)(this.currentPath,30,null):[[r=[t,e],r.slice(),r.slice(),r]];const s=W(R,R,vt).call(R,i);this.currentPath.length=0;this.parent.addCommands({cmd:()=>{this.paths.push(i),this.bezierPath2D.push(s),this.rebuild()},undo:()=>{this.paths.pop(),this.bezierPath2D.pop(),0===this.paths.length?this.remove():(this.canvas||(_(this,m,pt).call(this),_(this,k,ft).call(this)),_(this,F,I).call(this))},mustExec:!0})}function O(){if(this.isEmpty())_(this,T,mt).call(this);else{_(this,X,lt).call(this);var{canvas:t,ctx:e}=this;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height),_(this,T,mt).call(this);for(const r of this.bezierPath2D)e.stroke(r)}}function ut(t){_(this,J,dt).call(this,t.offsetX,t.offsetY),this.canvas.removeEventListener("pointerleave",o(this,l)),this.canvas.removeEventListener("pointermove",o(this,n)),this.parent.addToAnnotationStorage(this)}function pt(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",R._l10nPromise.get("editor_ink_canvas_aria_label").then(t=>{var e;return null==(e=this.canvas)?void 0:e.setAttribute("aria-label",t)}),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")}function ft(){let e=null;b(this,p,new ResizeObserver(t=>{t=t[0].contentRect;t.width&&t.height&&(null!==e&&clearTimeout(e),e=setTimeout(()=>{this.fixDims(),e=null},G),this.setDimensions(t.width,t.height))})),o(this,p).observe(this.div)}function D(){var t,e;o(this,d)&&([t,e]=this.parent.viewportBaseDimensions,this.canvas.width=Math.ceil(this.width*t),this.canvas.height=Math.ceil(this.height*e),_(this,T,mt).call(this))}function gt(t,e){var r=_(this,M,St).call(this),t=(t-r)/o(this,w),e=(e-r)/o(this,S);this.scaleFactor=Math.min(t,e)}function mt(){var t=_(this,M,St).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+t,this.translationY*this.scaleFactor+t)}function vt(r){var a=new Path2D;for(let t=0,e=r.length;t{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fitCurve=void 0;r=r(155);e.fitCurve=r},t=>{"use strict";function A(t,e,r,a,i){var s,n,o,l,h,c,d,u,p,f,g,m,v,b,_;if(2===t.length)return f=w.vectorLen(w.subtract(t[0],t[1]))/3,[s=[t[0],w.addArrays(t[0],w.mulItems(e,f)),w.addArrays(t[1],w.mulItems(r,f)),t[1]]];if(_=[],t.forEach((t,e)=>{m=e?v+w.vectorLen(w.subtract(t,b)):0,_.push(m),v=m,b=t}),[s,l,c]=S(t,n=_=_.map(t=>t/v),n,e,r,i),0===l||l{return r=s,e=n[e],t=t,e=w.subtract(x.q(r,t),e),a=x.qprime(r,t),i=w.mulMatrix(e,a),0===(a=w.sum(w.squareItems(a))+2*w.mulMatrix(e,x.qprimeprime(r,t)))?t:t-i/a;var r,a,i})}(s,t,o),e,r,i),l0===t)&&(u=w.subtract(t[c-1],t[c]),[u[0],u[1]]=[-u[1],u[0]]),u=w.normalize(u),p=w.mulItems(u,-1),f=(f=f.concat(A(t.slice(0,c+1),e,u,a,i))).concat(A(t.slice(c),p,r,a,i))}function S(t,e,r,a,i,s){r=function(t,e,r,a){var i,s,n,o,l,h,c,d,u,p,f,g,m,v,b=t[0],_=t[t.length-1];for(i=[b,null,null,_],s=w.zeros_Xx2x2(e.length),p=0,f=e.length;pt/s)};function s(t,e){return w.normalize(w.subtract(t,e))}class w{static zeros_Xx2x2(t){for(var e=[];t--;)e.push([0,0]);return e}static mulItems(t,e){return t.map(t=>t*e)}static mulMatrix(t,a){return t.reduce((t,e,r)=>t+e*a[r],0)}static subtract(t,r){return t.map((t,e)=>t-r[e])}static addArrays(t,r){return t.map((t,e)=>t+r[e])}static addItems(t,e){return t.map(t=>t+e)}static sum(t){return t.reduce((t,e)=>t+e)}static dot(t,e){return w.mulMatrix(t,e)}static vectorLen(t){return Math.hypot(...t)}static divItems(t,e){return t.map(t=>t/e)}static squareItems(t){return t.map(t=>t*t)}static normalize(t){return this.divItems(t,this.vectorLen(t))}}class x{static q(t,e){var r=1-e,a=w.mulItems(t[0],r*r*r),i=w.mulItems(t[1],3*r*r*e),r=w.mulItems(t[2],3*r*e*e),t=w.mulItems(t[3],e*e*e);return w.addArrays(w.addArrays(a,i),w.addArrays(r,t))}static qprime(t,e){var r=1-e,a=w.mulItems(w.subtract(t[1],t[0]),3*r*r),r=w.mulItems(w.subtract(t[2],t[1]),6*r*e),t=w.mulItems(w.subtract(t[3],t[2]),3*e*e);return w.addArrays(w.addArrays(a,r),t)}static qprimeprime(t,e){return w.addArrays(w.mulItems(w.addArrays(w.subtract(t[2],w.mulItems(t[1],2)),t[0]),6*(1-e)),w.mulItems(w.addArrays(w.subtract(t[3],w.mulItems(t[2],2)),t[1]),6*e))}}t.exports=function(a,t,e){var r,i;if(Array.isArray(a))return a.forEach(t=>{if(!Array.isArray(t)||t.some(t=>"number"!=typeof t)||t.length!==a[0].length)throw Error("Each point should be an array of numbers. Each point should have the same amount of numbers.")}),(a=a.filter((t,r)=>0===r||!t.every((t,e)=>t===a[r-1][e]))).length<2?[]:(i=a.length,r=s(a[1],a[0]),i=s(a[i-2],a[i-1]),A(a,r,i,t,e));throw new TypeError("First argument should be an array")},t.exports.fitCubic=A,t.exports.createTangent=s},(L,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AnnotationLayer=void 0;var _=e(1),c=e(137),d=e(134),a=e(157),n=e(158);function u(t,e,r){if(t!==e)throw new TypeError("Private static access of wrong provenance");return r}function r(t,e){var r=t;if(e.has(r))throw new TypeError("Cannot initialize the same private elements twice on an object");e.add(t)}const y=new WeakSet;function p(t){return{width:t[2]-t[0],height:t[3]-t[1]}}class f{static create(t){switch(t.data.annotationType){case _.AnnotationType.LINK:return new h(t);case _.AnnotationType.TEXT:return new m(t);case _.AnnotationType.WIDGET:switch(t.data.fieldType){case"Tx":return new b(t);case"Btn":return t.data.radioButton?new S(t):new(t.data.checkBox?A:w)(t);case"Ch":return new x(t)}return new v(t);case _.AnnotationType.POPUP:return new E(t);case _.AnnotationType.FREETEXT:return new k(t);case _.AnnotationType.LINE:return new P(t);case _.AnnotationType.SQUARE:return new T(t);case _.AnnotationType.CIRCLE:return new M(t);case _.AnnotationType.POLYLINE:return new F(t);case _.AnnotationType.CARET:return new j(t);case _.AnnotationType.INK:return new U(t);case _.AnnotationType.POLYGON:return new N(t);case _.AnnotationType.HIGHLIGHT:return new W(t);case _.AnnotationType.UNDERLINE:return new B(t);case _.AnnotationType.SQUIGGLY:return new G(t);case _.AnnotationType.STRIKEOUT:return new q(t);case _.AnnotationType.STAMP:return new H(t);case _.AnnotationType.FILEATTACHMENT:return new z(t);default:return new i(t)}}}class i{constructor(t){var{isRenderable:e=!1,ignoreBorder:r=!1,createQuadrilaterals:a=!1}=1{t=r.detail[t];r.target.style[e]=a.ColorConverters[t[0]+"_HTML"](t.slice(1))};return(0,_.shadow)(this,"_commonActions",{display:t=>{var e=t.detail.display%2==1;this.container.style.visibility=e?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{hidden:e,print:0===t.detail.display||3===t.detail.display})},print:t=>{this.annotationStorage.setValue(this.data.id,{print:t.detail.print})},hidden:t=>{this.container.style.visibility=t.detail.hidden?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{hidden:t.detail.hidden})},focus:t=>{setTimeout(()=>t.target.focus({preventScroll:!1}),0)},userName:t=>{t.target.title=t.detail.userName},readonly:t=>{t.detail.readonly?t.target.setAttribute("readonly",""):t.target.removeAttribute("readonly")},required:t=>{this._setRequired(t.target,t.detail.required)},bgColor:t=>{e("bgColor","backgroundColor",t)},fillColor:t=>{e("fillColor","backgroundColor",t)},fgColor:t=>{e("fgColor","color",t)},textColor:t=>{e("textColor","color",t)},borderColor:t=>{e("borderColor","borderColor",t)},strokeColor:t=>{e("strokeColor","borderColor",t)},rotation:t=>{t=t.detail.rotation;this.setRotation(t),this.annotationStorage.setValue(this.data.id,{rotation:t})}})}_dispatchEventFromSandbox(t,e){var r=this._commonActions;for(const i of Object.keys(e.detail)){var a=t[i]||r[i];null!=a&&a(e)}}_setDefaultPropertiesFromJS(t){if(this.enableScripting){var e=this.annotationStorage.getRawValue(this.data.id);if(e){var r,a,i=this._commonActions;for([r,a]of Object.entries(e)){var s=i[r];s&&(s({detail:{[r]:a},target:t}),delete e[r])}}}}_createQuadrilaterals(){var t=0{e=0===e?r:r.cloneNode();return t.append(e),t}):(this.container.className="linkAnnotation",a&&this.container.append(r),this.container)}_bindLink(t,e){t.href=this.linkService.getDestinationHash(e),t.onclick=()=>(e&&this.linkService.goToDestination(e),!1),!e&&""!==e||(t.className="internalLink")}_bindNamedAction(t,e){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeNamedAction(e),!1),t.className="internalLink"}_bindAttachment(t,e){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>{var t;return null!=(t=this.downloadManager)&&t.openOrDownloadData(this.container,e.content,e.filename),!1},t.className="internalLink"}_bindJSAction(t,e){t.href=this.linkService.getAnchorUrl("");var r=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const i of Object.keys(e.actions)){var a=r.get(i);a&&(t[a]=()=>{var t;return null!=(t=this.linkService.eventBus)&&t.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e.id,name:i}}),!1})}t.onclick||(t.onclick=()=>!1),t.className="internalLink"}_bindResetFormAction(t,v){const b=t.onclick;b||(t.href=this.linkService.getAnchorUrl("")),t.className="internalLink",this._fieldObjects?t.onclick=()=>{null!==b&&void 0!==b&&b();var{fields:t,refs:e,include:r}=v,a=[];if(0!==t.length||0!==e.length){var i,s=new Set(e);for(const u of t)for({id:i}of this._fieldObjects[u]||[])s.add(i);for(const p of Object.values(this._fieldObjects))for(const f of p)s.has(f.id)===r&&a.push(f)}else for(const g of Object.values(this._fieldObjects))a.push(...g);var n=this.annotationStorage,o=[];for(const m of a){var l=m["id"];switch(o.push(l),m.type){case"text":var h=m.defaultValue||"";n.setValue(l,{value:h});break;case"checkbox":case"radiobutton":h=m.defaultValue===m.exportValues;n.setValue(l,{value:h});break;case"combobox":case"listbox":var c=m.defaultValue||"";n.setValue(l,{value:c});break;default:continue}var d=document.querySelector(`[data-element-id="${l}"]`);d&&(y.has(d)?d.dispatchEvent(new Event("resetform")):(0,_.warn)("_bindResetFormAction - element not allowed: "+l))}return this.enableScripting&&null!=(e=this.linkService.eventBus)&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:o,name:"ResetForm"}}),!1}:((0,_.warn)('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),b||(t.onclick=()=>!1))}}function g(t,e){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeSetOCGState(e),!1),t.className="internalLink"}class m extends i{constructor(t){var e;super(t,{isRenderable:!!(t.data.hasPopup||null!=(e=t.data.titleObj)&&e.str||null!=(e=t.data.contentsObj)&&e.str||null!=(e=t.data.richText)&&e.str)})}render(){this.container.className="textAnnotation";var t=document.createElement("img");return t.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",t.alt="[{{type}} Annotation]",t.dataset.l10nId="text_annotation_type",t.dataset.l10nArgs=JSON.stringify({type:this.data.name}),this.data.hasPopup||this._createPopup(t,this.data),this.container.append(t),this.container}}class v extends i{render(){return this.data.alternativeText&&(this.container.title=this.data.alternativeText),this.container}_getKeyModifier(t){var{isWin:e,isMac:r}=i.platform;return e&&t.ctrlKey||r&&t.metaKey}_setEventListener(t,e,r,a){e.includes("mouse")?t.addEventListener(e,t=>{var e;null!=(e=this.linkService.eventBus)&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:r,value:a(t),shift:t.shiftKey,modifier:this._getKeyModifier(t)}})}):t.addEventListener(e,t=>{var e;null!=(e=this.linkService.eventBus)&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:r,value:a(t)}})})}_setEventListeners(t,e,r){for(var[a,i]of e){var s;("Action"===i||null!=(s=this.data.actions)&&s[i])&&this._setEventListener(t,a,i,r)}}_setBackgroundColor(t){var e=this.data.backgroundColor||null;t.style.backgroundColor=null===e?"transparent":_.Util.makeHexColor(e[0],e[1],e[2])}_setTextStyle(t){var e=this.data.defaultAppearanceData["fontColor"],r=this.data.defaultAppearanceData.fontSize||9,t=t.style;let a;var i,s,n=t=>Math.round(10*t)/10;a=this.data.multiLine?(s=Math.abs(this.data.rect[3]-this.data.rect[1]-2),i=Math.round(s/(_.LINE_FACTOR*r))||1,Math.min(r,n(s/i/_.LINE_FACTOR))):(s=Math.abs(this.data.rect[3]-this.data.rect[1]-2),Math.min(r,n(s/_.LINE_FACTOR))),t.fontSize=`calc(${a}px * var(--scale-factor))`,t.color=_.Util.makeHexColor(e[0],e[1],e[2]),null!==this.data.textAlignment&&(t.textAlign=["left","center","right"][this.data.textAlignment])}_setRequired(t,e){e?t.setAttribute("required",!0):t.removeAttribute("required"),t.setAttribute("aria-required",e)}}class b extends v{constructor(t){super(t,{isRenderable:t.renderForms||!t.data.hasAppearance&&!!t.data.fieldValue})}setPropertyOnSiblings(t,e,r,a){var i=this.annotationStorage;for(const s of this._getElementsByName(t.name,t.id))s.domElement&&(s.domElement[e]=r),i.setValue(s.id,{[a]:r})}render(){const a=this.annotationStorage,h=this.data.id;this.container.className="textWidgetAnnotation";let r=null;if(this.renderForms){var i=a.getValue(h,{value:this.data.fieldValue});let t=i.formattedValue||i.value||"";var s,i=a.getValue(h,{charLimit:this.data.maxLen}).charLimit;const n={userValue:t=i&&t.length>i?t.slice(0,i):t,formattedValue:null,valueOnFocus:""};this.data.multiLine?((r=document.createElement("textarea")).textContent=t,this.data.doNotScroll&&(r.style.overflowY="hidden")):((r=document.createElement("input")).type="text",r.setAttribute("value",t),this.data.doNotScroll&&(r.style.overflowX="hidden")),y.add(r),r.setAttribute("data-element-id",h),r.disabled=this.data.readOnly,r.name=this.data.fieldName,r.tabIndex=1e3,this._setRequired(r,this.data.required),i&&(r.maxLength=i),r.addEventListener("input",t=>{a.setValue(h,{value:t.target.value}),this.setPropertyOnSiblings(r,"value",t.target.value,"value")}),r.addEventListener("resetform",t=>{var e=this.data.defaultFieldValue??"";r.value=n.userValue=e,n.formattedValue=null});let e=t=>{var e=n["formattedValue"];null!=e&&(t.target.value=e),t.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){r.addEventListener("focus",t=>{n.userValue&&(t.target.value=n.userValue),n.valueOnFocus=t.target.value}),r.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({value(t){n.userValue=t.detail.value??"",a.setValue(h,{value:n.userValue.toString()}),t.target.value=n.userValue},formattedValue(t){var e=t.detail["formattedValue"];null!=(n.formattedValue=e)&&t.target!==document.activeElement&&(t.target.value=e),a.setValue(h,{formattedValue:e})},selRange(t){t.target.setSelectionRange(...t.detail.selRange)},charLimit:e=>{var r=e.detail["charLimit"],e=e["target"];if(0===r)e.removeAttribute("maxLength");else{e.setAttribute("maxLength",r);let t=n.userValue;!t||t.length<=r||(t=t.slice(0,r),e.value=n.userValue=t,a.setValue(h,{value:t}),null!=(r=this.linkService.eventBus)&&r.dispatch("dispatcheventinsandbox",{source:this,detail:{id:h,name:"Keystroke",value:t,willCommit:!0,commitKey:1,selStart:e.selectionStart,selEnd:e.selectionEnd}}))}}},t)}),r.addEventListener("keydown",t=>{var e,r;let a=-1;"Escape"===t.key?a=0:"Enter"!==t.key||this.data.multiLine?"Tab"===t.key&&(a=3):a=2,-1!==a&&(r=t.target.value,n.valueOnFocus!==r)&&(n.userValue=r,null!=(e=this.linkService.eventBus))&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:h,name:"Keystroke",value:r,willCommit:!0,commitKey:a,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}})});const o=e;e=null,r.addEventListener("blur",t=>{var e,r=t.target["value"];n.userValue=r,this._mouseState.isDown&&n.valueOnFocus!==r&&null!=(e=this.linkService.eventBus)&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:h,name:"Keystroke",value:r,willCommit:!0,commitKey:1,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}}),o(t)}),null!=(s=this.data.actions)&&s.Keystroke&&r.addEventListener("beforeinput",t=>{var{data:e,target:r}=t,{value:a,selectionStart:i,selectionEnd:s}=r;let n=i,o=s;switch(t.inputType){case"deleteWordBackward":var l=a.substring(0,i).match(/\w*[^\w]*$/);l&&(n-=l[0].length);break;case"deleteWordForward":l=a.substring(i).match(/^[^\w]*\w*/);l&&(o+=l[0].length);break;case"deleteContentBackward":i===s&&--n;break;case"deleteContentForward":i===s&&(o+=1)}t.preventDefault(),null!=(r=this.linkService.eventBus)&&r.dispatch("dispatcheventinsandbox",{source:this,detail:{id:h,name:"Keystroke",value:a,change:e||"",willCommit:!1,selStart:n,selEnd:o}})}),this._setEventListeners(r,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.value)}e&&r.addEventListener("blur",e),this.data.comb&&(s=(this.data.rect[2]-this.data.rect[0])/i,r.classList.add("comb"),r.style.letterSpacing=`calc(${s}px * var(--scale-factor) - 1ch)`)}else(r=document.createElement("div")).textContent=this.data.fieldValue,r.style.verticalAlign="middle",r.style.display="table-cell";return this._setTextStyle(r),this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class A extends v{constructor(t){super(t,{isRenderable:t.renderForms})}render(){const i=this.annotationStorage,s=this.data,n=s.id;let t=i.getValue(n,{value:s.exportValue===s.fieldValue}).value;"string"==typeof t&&(t="Off"!==t,i.setValue(n,{value:t})),this.container.className="buttonWidgetAnnotation checkBox";var e=document.createElement("input");return y.add(e),e.setAttribute("data-element-id",n),e.disabled=s.readOnly,this._setRequired(e,this.data.required),e.type="checkbox",e.name=s.fieldName,t&&e.setAttribute("checked",!0),e.setAttribute("exportValue",s.exportValue),e.tabIndex=1e3,e.addEventListener("change",t=>{var{name:t,checked:e}=t.target;for(const a of this._getElementsByName(t,n)){var r=e&&a.exportValue===s.exportValue;a.domElement&&(a.domElement.checked=r),i.setValue(a.id,{value:r})}i.setValue(n,{value:e})}),e.addEventListener("resetform",t=>{var e=s.defaultFieldValue||"Off";t.target.checked=e===s.exportValue}),this.enableScripting&&this.hasJSActions&&(e.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({value(t){t.target.checked="Off"!==t.detail.value,i.setValue(n,{value:t.target.checked})}},t)}),this._setEventListeners(e,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.checked)),this._setBackgroundColor(e),this._setDefaultPropertiesFromJS(e),this.container.append(e),this.container}}class S extends v{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.className="buttonWidgetAnnotation radioButton";const i=this.annotationStorage,r=this.data,s=r.id;let t=i.getValue(s,{value:r.fieldValue===r.buttonValue}).value;"string"==typeof t&&(t=t!==r.buttonValue,i.setValue(s,{value:t}));var e=document.createElement("input");if(y.add(e),e.setAttribute("data-element-id",s),e.disabled=r.readOnly,this._setRequired(e,this.data.required),e.type="radio",e.name=r.fieldName,t&&e.setAttribute("checked",!0),e.tabIndex=1e3,e.addEventListener("change",t=>{var{name:t,checked:e}=t.target;for(const r of this._getElementsByName(t,s))i.setValue(r.id,{value:!1});i.setValue(s,{value:e})}),e.addEventListener("resetform",t=>{var e=r.defaultFieldValue;t.target.checked=null!=e&&e===r.buttonValue}),this.enableScripting&&this.hasJSActions){const n=r.buttonValue;e.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({value:t=>{var e=n===t.detail.value;for(const a of this._getElementsByName(t.target.name)){var r=e&&a.id===s;a.domElement&&(a.domElement.checked=r),i.setValue(a.id,{value:r})}}},t)}),this._setEventListeners(e,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.checked)}return this._setBackgroundColor(e),this._setDefaultPropertiesFromJS(e),this.container.append(e),this.container}}class w extends h{constructor(t){super(t,{ignoreBorder:t.data.hasAppearance})}render(){var t=super.render(),e=(t.className="buttonWidgetAnnotation pushButton",this.data.alternativeText&&(t.title=this.data.alternativeText),t.lastChild);return this.enableScripting&&this.hasJSActions&&e&&(this._setDefaultPropertiesFromJS(e),e.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({},t)})),t}}class x extends v{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.className="choiceWidgetAnnotation";const n=this.annotationStorage,o=this.data.id;var t=n.getValue(o,{value:this.data.fieldValue});const l=document.createElement("select");y.add(l),l.setAttribute("data-element-id",o),l.disabled=this.data.readOnly,this._setRequired(l,this.data.required),l.name=this.data.fieldName,l.tabIndex=1e3;let e=this.data.combo&&0{var e=this.data.defaultFieldValue;for(const r of l.options)r.selected=r.value===e});for(const a of this.data.options){var r=document.createElement("option");r.textContent=a.displayValue,r.value=a.exportValue,t.value.includes(a.exportValue)&&(r.setAttribute("selected",!0),e=!1),l.append(r)}let i=null;if(e){const s=document.createElement("option");s.value=" ",s.setAttribute("hidden",!0),s.setAttribute("selected",!0),l.prepend(s),i=()=>{s.remove(),l.removeEventListener("input",i),i=null},l.addEventListener("input",i)}const h=(t,e)=>{const r=e?"value":"textContent";e=t.target.options;return t.target.multiple?Array.prototype.filter.call(e,t=>t.selected).map(t=>t[r]):-1===e.selectedIndex?null:e[e.selectedIndex][r]},c=t=>{t=t.target.options;return Array.prototype.map.call(t,t=>({displayValue:t.textContent,exportValue:t.value}))};return this.enableScripting&&this.hasJSActions?(l.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({value(t){null!=(e=i)&&e();var e=t.detail.value,r=new Set(Array.isArray(e)?e:[e]);for(const a of l.options)a.selected=r.has(a.value);n.setValue(o,{value:h(t,!0)})},multipleSelection(t){l.multiple=!0},remove(t){var e=l.options,r=t.detail.remove;e[r].selected=!1,l.remove(r),0t.selected)&&(e[0].selected=!0),n.setValue(o,{value:h(t,!0),items:c(t)})},clear(t){for(;0!==l.length;)l.remove(0);n.setValue(o,{value:null,items:[]})},insert(t){var{index:e,displayValue:r,exportValue:a}=t.detail.insert,e=l.children[e],i=document.createElement("option");i.textContent=r,i.value=a,e?e.before(i):l.append(i),n.setValue(o,{value:h(t,!0),items:c(t)})},items(t){for(var e=t.detail["items"];0!==l.length;)l.remove(0);for(const s of e){var{displayValue:r,exportValue:a}=s,i=document.createElement("option");i.textContent=r,i.value=a,l.append(i)}0{var e,r=h(t,!0),t=h(t,!1);n.setValue(o,{value:r}),null!=(e=this.linkService.eventBus)&&e.dispatch("dispatcheventinsandbox",{source:this,detail:{id:o,name:"Keystroke",value:t,changeEx:r,willCommit:!0,commitKey:1,keyDown:!1}})}),this._setEventListeners(l,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"]],t=>t.target.checked)):l.addEventListener("input",function(t){n.setValue(o,{value:h(t,!0)})}),this.data.combo&&this._setTextStyle(l),this._setBackgroundColor(l),this._setDefaultPropertiesFromJS(l),this.container.append(l),this.container}}class E extends i{constructor(t){var e=t["data"];super(t,{isRenderable:!E.IGNORE_TYPES.has(e.parentType)&&!!(null!=(t=e.titleObj)&&t.str||null!=(t=e.contentsObj)&&t.str||null!=(t=e.richText)&&t.str)})}render(){this.container.className="popupAnnotation";var t,e,r,a,i,s,n=this.layer.querySelectorAll(`[data-annotation-id="${this.data.parentId}"]`);return 0!==n.length&&(n=new C({container:this.container,trigger:Array.from(n),color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText}),e=this.page,t=(e=_.Util.normalizeRect([this.data.parentRect[0],e.view[3]-this.data.parentRect[1]+e.view[1],this.data.parentRect[2],e.view[3]-this.data.parentRect[3]+e.view[1]]))[0]+this.data.parentRect[2]-this.data.parentRect[0],e=e[1],[r,a,i,s]=this.viewport.viewBox,s=s-a,this.container.style.left=100*(t-r)/(i-r)+"%",this.container.style.top=100*(e-a)/s+"%",this.container.append(n.render())),this.container}}e=E,s="IGNORE_TYPES",o=new Set(["Line","Square","Circle","PolyLine","Polygon","Ink"]),s in e?Object.defineProperty(e,s,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[s]=o;class C{constructor(t){this.container=t.container,this.trigger=t.trigger,this.color=t.color,this.titleObj=t.titleObj,this.modificationDate=t.modificationDate,this.contentsObj=t.contentsObj,this.richText=t.richText,this.hideWrapper=t.hideWrapper||!1,this.pinned=!1}render(){var t=document.createElement("div"),e=(t.className="popupWrapper",this.hideElement=this.hideWrapper?t:this.container,this.hideElement.hidden=!0,document.createElement("div")),r=(e.className="popup",this.color),a=(r&&(a=.7*(255-r[0])+r[0],i=.7*(255-r[1])+r[1],r=.7*(255-r[2])+r[2],e.style.backgroundColor=_.Util.makeHexColor(0|a,0|i,0|r)),document.createElement("h1")),i=(a.dir=this.titleObj.dir,a.textContent=this.titleObj.str,e.append(a),c.PDFDateString.toDateObject(this.modificationDate));i&&((r=document.createElement("span")).className="popupDate",r.textContent="{{date}}, {{time}}",r.dataset.l10nId="annotation_date_string",r.dataset.l10nArgs=JSON.stringify({date:i.toLocaleDateString(),time:i.toLocaleTimeString()}),e.append(r)),null==(a=this.richText)||!a.str||null!=(i=this.contentsObj)&&i.str&&this.contentsObj.str!==this.richText.str?(r=this._formatContents(this.contentsObj),e.append(r)):(n.XfaLayer.render({xfaHtml:this.richText.html,intent:"richText",div:e}),e.lastChild.className="richText popupContent"),Array.isArray(this.trigger)||(this.trigger=[this.trigger]);for(const s of this.trigger)s.addEventListener("click",this._toggle.bind(this)),s.addEventListener("mouseover",this._show.bind(this,!1)),s.addEventListener("mouseout",this._hide.bind(this,!1));return e.addEventListener("click",this._hide.bind(this,!0)),t.append(e),t}_formatContents(t){var{str:t,dir:e}=t,r=document.createElement("p"),a=(r.className="popupContent",r.dir=e,t.split(/(?:\r\n?|\n)/));for(let t=0,e=a.length;t{"use strict";function a(t){return Math.floor(255*Math.max(0,Math.min(1,t))).toString(16).padStart(2,"0")}Object.defineProperty(e,"__esModule",{value:!0}),e.ColorConverters=void 0;e.ColorConverters=class{static CMYK_G(t){var[t,e,r,a]=t;return["G",1-Math.min(1,.3*t+.59*r+.11*e+a)]}static G_CMYK(t){var[t]=t;return["CMYK",0,0,0,1-t]}static G_RGB(t){var[t]=t;return["RGB",t,t,t]}static G_HTML(t){var[t]=t,t=a(t);return"#"+t+t+t}static RGB_G(t){var[t,e,r]=t;return["G",.3*t+.59*e+.11*r]}static RGB_HTML(t){var[t,e,r]=t;return"#"+a(t)+a(e)+a(r)}static T_HTML(){return"#00000000"}static CMYK_RGB(t){var[t,e,r,a]=t;return["RGB",1-Math.min(1,t+a),1-Math.min(1,r+a),1-Math.min(1,e+a)]}static CMYK_HTML(t){t=this.CMYK_RGB(t).slice(1);return this.RGB_HTML(t)}static RGB_CMYK(t){var[t,e,r]=t,t=1-t,e=1-e,r=1-r;return["CMYK",t,e,r,Math.min(t,e,r)]}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.XfaLayer=void 0;var p=r(149);e.XfaLayer=class{static setupStorage(t,e,r,a,i){var s=a.getValue(e,{value:null});switch(r.name){case"textarea":null!==s.value&&(t.textContent=s.value),"print"!==i&&t.addEventListener("input",t=>{a.setValue(e,{value:t.target.value})});break;case"input":if("radio"===r.attributes.type||"checkbox"===r.attributes.type){if(s.value===r.attributes.xfaOn?t.setAttribute("checked",!0):s.value===r.attributes.xfaOff&&t.removeAttribute("checked"),"print"===i)break;t.addEventListener("change",t=>{a.setValue(e,{value:t.target.checked?t.target.getAttribute("xfaOn"):t.target.getAttribute("xfaOff")})})}else{if(null!==s.value&&t.setAttribute("value",s.value),"print"===i)break;t.addEventListener("input",t=>{a.setValue(e,{value:t.target.value})})}break;case"select":if(null!==s.value)for(const n of r.children)n.attributes.value===s.value&&(n.attributes.selected=!0);t.addEventListener("input",t=>{t=t.target.options,t=-1===t.selectedIndex?"":t[t.selectedIndex].value;a.setValue(e,{value:t})})}}static setAttributes(t){var e,r,{html:a,element:t,storage:i=null,intent:s,linkService:n}=t,o=t["attributes"],l=a instanceof HTMLAnchorElement;"radio"===o.type&&(o.name=o.name+"-"+s);for([e,r]of Object.entries(o))if(null!==r&&void 0!==r)switch(e){case"class":r.length&&a.setAttribute(e,r.join(" "));break;case"dataId":break;case"id":a.setAttribute("data-element-id",r);break;case"style":Object.assign(a.style,r);break;case"textContent":a.textContent=r;break;default:l&&("href"===e||"newWindow"===e)||a.setAttribute(e,r)}l&&n.addLinkAttributes(a,o.href,o.newWindow),i&&o.dataId&&this.setupStorage(a,o.dataId,t,i)}static render(t){for(var e=t.annotationStorage,r=t.linkService,a=t.xfaHtml,i=t.intent||"display",s=document.createElement(a.name),n=(a.attributes&&this.setAttributes({html:s,element:a,intent:i,linkService:r}),[[a,-1,s]]),a=t.div,o=(a.append(s),t.viewport&&(s=`matrix(${t.viewport.transform.join(",")})`,a.style.transform=s),"richText"!==i&&a.setAttribute("class","xfaLayer xfaFont"),[]);0{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextLayerRenderTask=void 0,e.renderTextLayer=function(t){var e=new a({textContent:t.textContent,textContentStream:t.textContentStream,container:t.container,viewport:t.viewport,textDivs:t.textDivs,textContentItemsStr:t.textContentItemsStr});return e._render(t.timeout),e};var u=r(1);const p=30,f=.8,g=new Map;function i(t,e,r,a){var i=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:""!==e.str,hasEOL:e.hasEOL,fontSize:0},n=(t._textDivs.push(i),u.Util.transform(t._viewport.transform,e.transform));let o=Math.atan2(n[1],n[0]);var r=r[e.fontName],l=(r.vertical&&(o+=Math.PI/2),Math.hypot(n[2],n[3])),a=l*function(t,e){var r=g.get(t);if(r)return r;e.save(),e.font=p+"px "+t;let a=(r=e.measureText("")).fontBoundingBoxAscent,i=Math.abs(r.fontBoundingBoxDescent);if(a)return e.restore(),r=a/(a+i),g.set(t,r),r;e.strokeStyle="red",e.clearRect(0,0,p,p),e.strokeText("g",0,0);let s=e.getImageData(0,0,p,p).data;i=0;for(let t=s.length-1-3;0<=t;t-=4)if(0{this._textDivProperties=null,this._layoutTextCtx&&(this._layoutTextCtx.canvas.width=0,this._layoutTextCtx.canvas.height=0,this._layoutTextCtx=null)}).catch(()=>{})}get promise(){return this._capability.promise}cancel(){this._canceled=!0,this._reader&&(this._reader.cancel(new u.AbortException("TextLayer task cancelled.")).catch(()=>{}),this._reader=null),null!==this._renderTimer&&(clearTimeout(this._renderTimer),this._renderTimer=null),this._capability.reject(new Error("TextLayer task cancelled."))}_processItems(t,e){for(const a of t){var r;void 0===a.str?"beginMarkedContentProps"===a.type||"beginMarkedContent"===a.type?(r=this._container,this._container=document.createElement("span"),this._container.classList.add("markedContent"),null!==a.id&&this._container.setAttribute("id",""+a.id),r.append(this._container)):"endMarkedContent"===a.type&&(this._container=this._container.parentNode):(this._textContentItemsStr.push(a.str),i(this,a,e,this._layoutTextCtx))}}_layoutText(t){var e,r,a=this._textDivProperties.get(t);let i="";0!==a.canvasWidth&&a.hasText&&(r=t.style["fontFamily"],e=a["fontSize"],e=(e===this._layoutTextLastFontSize&&r===this._layoutTextLastFontFamily||(this._layoutTextCtx.font=e*this._devicePixelRatio+"px "+r,this._layoutTextLastFontSize=e,this._layoutTextLastFontFamily=r),this._layoutTextCtx.measureText(t.textContent))["width"],0{this._reader.read().then(t=>{var{value:t,done:e}=t;e?r.resolve():(Object.assign(a,t.styles),this._processItems(t.items,a),s())},r.reject)};this._reader=this._textContentStream.getReader(),s()}}r.promise.then(()=>{a=null,t?this._renderTimer=setTimeout(()=>{n(this),this._renderTimer=null},t):n(this)},this._capability.reject)}}e.TextLayerRenderTask=a},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SVGGraphics=void 0;var i=r(137),A=r(1),v=r(3);e.SVGGraphics=class{constructor(){(0,A.unreachable)("Not implemented: SVGGraphics")}};{const x={fontStyle:"normal",fontWeight:"normal",fillColor:"#000000"},a=["butt","round","square"],n=["miter","round","bevel"],b=function(r){var t=1>6:64,o=t+2>2]+a[(3&s)<<4|n>>4]+a[l]+a[o]}return i},l=function(){const f=new Uint8Array([137,80,78,71,13,10,26,10]),n=new Int32Array(256);for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?3988292384^e>>1&2147483647:e>>1&2147483647;n[t]=e}function g(t,e,r,a){var i=a,s=e.length,s=(r[i]=s>>24&255,r[i+1]=s>>16&255,r[i+2]=s>>8&255,r[i+3]=255&s,r[i+=4]=255&t.charCodeAt(0),r[i+1]=255&t.charCodeAt(1),r[i+2]=255&t.charCodeAt(2),r[i+3]=255&t.charCodeAt(3),r.set(e,i+=4),function(e,r,a){let i=-1;for(let t=r;t>>8^s}return-1^i}(r,a+4,i+=e.length));r[i]=s>>24&255,r[i+1]=s>>16&255,r[i+2]=s>>8&255,r[i+3]=255&s}function m(t){let e=t.length;var r=65535,a=Math.ceil(e/r),i=new Uint8Array(2+e+5*a+4);let s=0,n=(i[s++]=120,i[s++]=156,0);for(;e>r;)i[s++]=0,i[s++]=255,i[s++]=255,i[s++]=0,i[s++]=0,i.set(t.subarray(n,n+r),s),s+=r,n+=r,e-=r;i[s++]=1,i[s++]=255&e,i[s++]=e>>8&255,i[s++]=255&~e,i[s++]=(65535&~e)>>8&255,i.set(t.subarray(n),s),s+=t.length-n;a=function(e,r,a){let i=1,s=0;for(let t=r;t>24&255,i[s++]=a>>16&255,i[s++]=a>>8&255,i[s++]=255&a,i}function a(t,e,r,a){var i=t.width,s=t.height;let n,o,l;var h=t.data;switch(e){case A.ImageKind.GRAYSCALE_1BPP:o=0,n=1,l=i+7>>3;break;case A.ImageKind.RGB_24BPP:o=2,n=8,l=3*i;break;case A.ImageKind.RGBA_32BPP:o=6,n=8,l=4*i;break;default:throw new Error("invalid format")}var c=new Uint8Array((1+l)*s);let d=0,u=0;for(let t=0;t>24&255,i>>16&255,i>>8&255,255&i,s>>24&255,s>>16&255,s>>8&255,255&s,n,o,0,0,0]),e=function(e){if(v.isNodeJS)try{let t;t=8<=parseInt(process.versions.node)?e:Buffer.from(e);var r=require("zlib").deflateSync(t,{level:9});return r instanceof Uint8Array?r:new Uint8Array(r)}catch(t){(0,A.warn)("Not compressing PNG because zlib.deflateSync is unavailable: "+t)}return m(e)}(c),a=f.length+36+t.length+e.length,a=new Uint8Array(a),p=0;return a.set(f,0),g("IHDR",t,a,p+=f.length),g("IDATA",e,a,p+=12+t.length),p+=12+e.length,g("IEND",new Uint8Array(0),a,p),b(a,"image/png",r)}return function(t,e,r){return a(t,void 0===t.kind?A.ImageKind.GRAYSCALE_1BPP:t.kind,e,r)}}();class h{constructor(){this.fontSizeScale=1,this.fontWeight=x.fontWeight,this.fontSize=0,this.textMatrix=A.IDENTITY_MATRIX,this.fontMatrix=A.FONT_IDENTITY_MATRIX,this.leading=0,this.textRenderingMode=A.TextRenderingMode.FILL,this.textMatrixScale=1,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRise=0,this.fillColor=x.fillColor,this.strokeColor="#000000",this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.lineJoin="",this.lineCap="",this.miterLimit=0,this.dashArray=[],this.dashPhase=0,this.dependencies=[],this.activeClipUrl=null,this.clipGroup=null,this.maskId=""}clone(){return Object.create(this)}setCurrentPoint(t,e){this.x=t,this.y=e}}function S(t){if(Number.isInteger(t))return t.toString();var e=t.toFixed(10);let r=e.length-1;if("0"!==e[r])return e;for(;"0"===e[--r];);return e.substring(0,"."===e[r]?r:r+1)}function w(t){if(0===t[4]&&0===t[5]){if(0===t[1]&&0===t[2])return 1===t[0]&&1===t[3]?"":`scale(${S(t[0])} ${S(t[3])})`;if(t[0]===t[3]&&t[1]===-t[2])return`rotate(${S(180*Math.acos(t[0])/Math.PI)})`}else if(1===t[0]&&0===t[1]&&0===t[2]&&1===t[3])return`translate(${S(t[4])} ${S(t[5])})`;return`matrix(${S(t[0])} ${S(t[1])} ${S(t[2])} ${S(t[3])} ${S(t[4])} `+S(t[5])+")"}let s=0,o=0,f=0;e.SVGGraphics=class{constructor(t,e){var r=2{n.get(s,t)});this.current.dependencies.push(i)}return Promise.all(this.current.dependencies)}transform(t,e,r,a,i,s){this.transformMatrix=A.Util.transform(this.transformMatrix,[t,e,r,a,i,s]),this.tgrp=null}getSVG(t,e){this.viewport=e;const r=this._initialize(e);return this.loadDependencies(t).then(()=>(this.transformMatrix=A.IDENTITY_MATRIX,this.executeOpTree(this.convertOpList(t)),r))}convertOpList(e){var r=this._operatorIdMapping,a=e.argsArray,i=e.fnArray,s=[];for(let t=0,e=i.length;t{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PDFNodeStream=void 0;var s=r(1),i=r(162);const n=require("fs"),o=require("http"),l=require("https"),a=require("url"),h=/^file:\/\/\/[a-zA-Z]:\//;e.PDFNodeStream=class{constructor(t){this.source=t,this.url=function(t){var e=a.parse(t);if("file:"!==e.protocol&&!e.host){if(/^[a-z]:[/\\]/i.test(t))return a.parse("file:///"+t);e.host||(e.protocol="file:")}return e}(t.url),this.isHttp="http:"===this.url.protocol||"https:"===this.url.protocol,this.isFsUrl="file:"===this.url.protocol,this.httpHeaders=this.isHttp&&t.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var t;return(null==(t=this._fullRequestReader)?void 0:t._loaded)??0}getFullReader(){return(0,s.assert)(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=new(this.isFsUrl?g:p)(this),this._fullRequestReader}getRangeReader(t,e){return e<=this._progressiveDataLength?null:(t=new(this.isFsUrl?m:f)(this,t,e),this._rangeRequestReaders.push(t),t)}cancelAllRequests(t){var e;null!=(e=this._fullRequestReader)&&e.cancel(t);for(const r of this._rangeRequestReaders.slice(0))r.cancel(t)}};class c{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null;t=t.source;this._contentLength=t.length,this._loaded=0,this._filename=null,this._disableRange=t.disableRange||!1,this._rangeChunkSize=t.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._readableStream=null,this._readCapability=(0,s.createPromiseCapability)(),this._headersCapability=(0,s.createPromiseCapability)()}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var t;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;var e=this._readableStream.read();return null===e?(this._readCapability=(0,s.createPromiseCapability)(),this.read()):(this._loaded+=e.length,null!=(t=this.onProgress)&&t.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(e).buffer,done:!1})}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){(this._readableStream=t).on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",t=>{this._error(t)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new s.AbortException("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class d{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=(0,s.createPromiseCapability)();t=t.source;this._isStreamingSupported=!t.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){var t;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;var e=this._readableStream.read();return null===e?(this._readCapability=(0,s.createPromiseCapability)(),this.read()):(this._loaded+=e.length,null!=(t=this.onProgress)&&t.call(this,{loaded:this._loaded}),{value:new Uint8Array(e).buffer,done:!1})}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){(this._readableStream=t).on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",t=>{this._error(t)}),this._storedError&&this._readableStream.destroy(this._storedError)}}function u(t,e){return{protocol:t.protocol,auth:t.auth,host:t.hostname,port:t.port,path:t.path,method:"GET",headers:e}}class p extends c{constructor(a){super(a);var t=t=>{var e,r;404===t.statusCode?(e=new s.MissingPDFException(`Missing PDF "${this._url}".`),this._storedError=e,this._headersCapability.reject(e)):(this._headersCapability.resolve(),this._setReadableStream(t),{allowRangeRequests:t,suggestedLength:r}=(0,i.validateRangeRequestCapabilities)({getResponseHeader:e=t=>this._readableStream.headers[t.toLowerCase()],isHttp:a.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange}),this._isRangeSupported=t,this._contentLength=r||this._contentLength,this._filename=(0,i.extractFilenameFromHeader)(e))};this._request=null,"http:"===this._url.protocol?this._request=o.request(u(this._url,a.httpHeaders),t):this._request=l.request(u(this._url,a.httpHeaders),t),this._request.on("error",t=>{this._storedError=t,this._headersCapability.reject(t)}),this._request.end()}}class f extends d{constructor(t,e,r){super(t),this._httpHeaders={};for(const i in t.httpHeaders){var a=t.httpHeaders[i];void 0!==a&&(this._httpHeaders[i]=a)}this._httpHeaders.Range=`bytes=${e}-`+(r-1);e=t=>{var e;404===t.statusCode?(e=new s.MissingPDFException(`Missing PDF "${this._url}".`),this._storedError=e):this._setReadableStream(t)};this._request=null,"http:"===this._url.protocol?this._request=o.request(u(this._url,this._httpHeaders),e):this._request=l.request(u(this._url,this._httpHeaders),e),this._request.on("error",t=>{this._storedError=t}),this._request.end()}}class g extends c{constructor(t){super(t);let r=decodeURIComponent(this._url.path);h.test(this._url.href)&&(r=r.replace(/^\//,"")),n.lstat(r,(t,e)=>{t?("ENOENT"===t.code&&(t=new s.MissingPDFException(`Missing PDF "${r}".`)),this._storedError=t,this._headersCapability.reject(t)):(this._contentLength=e.size,this._setReadableStream(n.createReadStream(r)),this._headersCapability.resolve())})}}class m extends d{constructor(t,e,r){super(t);let a=decodeURIComponent(this._url.path);h.test(this._url.href)&&(a=a.replace(/^\//,"")),this._setReadableStream(n.createReadStream(a,{start:e,end:r-1}))}}},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createResponseStatusError=function(t,e){if(404===t||0===t&&e.startsWith("file:"))return new a.MissingPDFException('Missing PDF "'+e+'".');return new a.UnexpectedResponseException(`Unexpected server response (${t}) while retrieving PDF "${e}".`,t)},e.extractFilenameFromHeader=function(e){e=e("Content-Disposition");if(e){let t=(0,i.getFilenameFromContentDispositionHeader)(e);if(t.includes("%"))try{t=decodeURIComponent(t)}catch(t){}if((0,s.isPdfFile)(t))return t}return null},e.validateRangeRequestCapabilities=function(t){var{getResponseHeader:t,isHttp:e,rangeChunkSize:r,disableRange:a}=t;var i={allowRangeRequests:!1,suggestedLength:void 0},s=parseInt(t("Content-Length"),10);return!Number.isInteger(s)||(i.suggestedLength=s)<=2*r||!a&&e&&"bytes"===t("Accept-Ranges")&&"identity"===(t("Content-Encoding")||"identity")&&(i.allowRangeRequests=!0),i},e.validateResponseStatus=function(t){return 200===t||206===t};var a=r(1),i=r(163),s=r(137)},(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getFilenameFromContentDispositionHeader=function(t){let i=!0,e=o("filename\\*","i").exec(t);{var r;if(e)return r=l(e=e[1]),a(r=n(r=h(r=unescape(r))))}if(e=function(t){var a=[];var e=o("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;null!==(r=e.exec(t));){var[,r,i,s]=r;if((r=parseInt(r,10))in a){if(0===r)break}else a[r]=[i,s]}var n=[];for(let r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PDFNetworkStream=void 0;var s=r(1),n=r(162);class a{constructor(t){var e=1e.getResponseHeader(t),{allowRangeRequests:a,suggestedLength:i}=(0,n.validateRangeRequestCapabilities)({getResponseHeader:r,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});a&&(this._isRangeSupported=!0),this._contentLength=i||this._contentLength,this._filename=(0,n.extractFilenameFromHeader)(r),this._isRangeSupported&&this._manager.abortRequest(t),this._headersReceivedCapability.resolve()}_onDone(t){if(t&&(0{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PDFFetchStream=void 0;var s=r(1),n=r(162);function o(t,e,r){return{method:"GET",headers:t,signal:r.signal,mode:"cors",credentials:e?"include":"same-origin",redirect:"follow"}}function l(t){var e=new Headers;for(const a in t){var r=t[a];void 0!==r&&e.append(a,r)}return e}e.PDFFetchStream=class{constructor(t){this.source=t,this.isHttp=/^https?:/i.test(t.url),this.httpHeaders=this.isHttp&&t.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var t;return(null==(t=this._fullRequestReader)?void 0:t._loaded)??0}getFullReader(){return(0,s.assert)(!this._fullRequestReader,"PDFFetchStream.getFullReader can only be called once."),this._fullRequestReader=new a(this),this._fullRequestReader}getRangeReader(t,e){return e<=this._progressiveDataLength?null:(t=new i(this,t,e),this._rangeRequestReaders.push(t),t)}cancelAllRequests(t){var e;null!=(e=this._fullRequestReader)&&e.cancel(t);for(const r of this._rangeRequestReaders.slice(0))r.cancel(t)}};class a{constructor(t){this._stream=t,this._reader=null,this._loaded=0,this._filename=null;t=t.source;this._withCredentials=t.withCredentials||!1,this._contentLength=t.length,this._headersCapability=(0,s.createPromiseCapability)(),this._disableRange=t.disableRange||!1,this._rangeChunkSize=t.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._abortController=new AbortController,this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._headers=l(this._stream.httpHeaders);const i=t.url;fetch(i,o(this._headers,this._withCredentials,this._abortController)).then(e=>{if(!(0,n.validateResponseStatus)(e.status))throw(0,n.createResponseStatusError)(e.status,i);this._reader=e.body.getReader(),this._headersCapability.resolve();var t=t=>e.headers.get(t),{allowRangeRequests:r,suggestedLength:a}=(0,n.validateRangeRequestCapabilities)({getResponseHeader:t,isHttp:this._stream.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=r,this._contentLength=a||this._contentLength,this._filename=(0,n.extractFilenameFromHeader)(t),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new s.AbortException("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._headersCapability.promise;var{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,null!=(e=this.onProgress)&&e.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){var e;null!=(e=this._reader)&&e.cancel(t),this._abortController.abort()}}class i{constructor(t,e,r){this._stream=t,this._reader=null,this._loaded=0;t=t.source;this._withCredentials=t.withCredentials||!1,this._readCapability=(0,s.createPromiseCapability)(),this._isStreamingSupported=!t.disableStream,this._abortController=new AbortController,this._headers=l(this._stream.httpHeaders),this._headers.append("Range",`bytes=${e}-`+(r-1));const a=t.url;fetch(a,o(this._headers,this._withCredentials,this._abortController)).then(t=>{if(!(0,n.validateResponseStatus)(t.status))throw(0,n.createResponseStatusError)(t.status,a);this._readCapability.resolve(),this._reader=t.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;var{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,null!=(e=this.onProgress)&&e.call(this,{loaded:this._loaded}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){var e;null!=(e=this._reader)&&e.cancel(t),this._abortController.abort()}}}],__webpack_module_cache__={};function __w_pdfjs_require__(t){var e=__webpack_module_cache__[t];return void 0!==e||(e=__webpack_module_cache__[t]={exports:{}},__webpack_modules__[t](e,e.exports,__w_pdfjs_require__)),e.exports}var __webpack_exports__={};return(()=>{"use strict";var t=__webpack_exports__,e=(Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AnnotationEditorLayer",{enumerable:!0,get:function(){return i.AnnotationEditorLayer}}),Object.defineProperty(t,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return e.AnnotationEditorParamsType}}),Object.defineProperty(t,"AnnotationEditorType",{enumerable:!0,get:function(){return e.AnnotationEditorType}}),Object.defineProperty(t,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return s.AnnotationEditorUIManager}}),Object.defineProperty(t,"AnnotationLayer",{enumerable:!0,get:function(){return n.AnnotationLayer}}),Object.defineProperty(t,"AnnotationMode",{enumerable:!0,get:function(){return e.AnnotationMode}}),Object.defineProperty(t,"CMapCompressionType",{enumerable:!0,get:function(){return e.CMapCompressionType}}),Object.defineProperty(t,"GlobalWorkerOptions",{enumerable:!0,get:function(){return o.GlobalWorkerOptions}}),Object.defineProperty(t,"InvalidPDFException",{enumerable:!0,get:function(){return e.InvalidPDFException}}),Object.defineProperty(t,"MissingPDFException",{enumerable:!0,get:function(){return e.MissingPDFException}}),Object.defineProperty(t,"OPS",{enumerable:!0,get:function(){return e.OPS}}),Object.defineProperty(t,"PDFDataRangeTransport",{enumerable:!0,get:function(){return r.PDFDataRangeTransport}}),Object.defineProperty(t,"PDFDateString",{enumerable:!0,get:function(){return a.PDFDateString}}),Object.defineProperty(t,"PDFWorker",{enumerable:!0,get:function(){return r.PDFWorker}}),Object.defineProperty(t,"PasswordResponses",{enumerable:!0,get:function(){return e.PasswordResponses}}),Object.defineProperty(t,"PermissionFlag",{enumerable:!0,get:function(){return e.PermissionFlag}}),Object.defineProperty(t,"PixelsPerInch",{enumerable:!0,get:function(){return a.PixelsPerInch}}),Object.defineProperty(t,"RenderingCancelledException",{enumerable:!0,get:function(){return a.RenderingCancelledException}}),Object.defineProperty(t,"SVGGraphics",{enumerable:!0,get:function(){return h.SVGGraphics}}),Object.defineProperty(t,"UNSUPPORTED_FEATURES",{enumerable:!0,get:function(){return e.UNSUPPORTED_FEATURES}}),Object.defineProperty(t,"UnexpectedResponseException",{enumerable:!0,get:function(){return e.UnexpectedResponseException}}),Object.defineProperty(t,"Util",{enumerable:!0,get:function(){return e.Util}}),Object.defineProperty(t,"VerbosityLevel",{enumerable:!0,get:function(){return e.VerbosityLevel}}),Object.defineProperty(t,"XfaLayer",{enumerable:!0,get:function(){return c.XfaLayer}}),Object.defineProperty(t,"build",{enumerable:!0,get:function(){return r.build}}),Object.defineProperty(t,"createPromiseCapability",{enumerable:!0,get:function(){return e.createPromiseCapability}}),Object.defineProperty(t,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return e.createValidAbsoluteUrl}}),Object.defineProperty(t,"getDocument",{enumerable:!0,get:function(){return r.getDocument}}),Object.defineProperty(t,"getFilenameFromUrl",{enumerable:!0,get:function(){return a.getFilenameFromUrl}}),Object.defineProperty(t,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return a.getPdfFilenameFromUrl}}),Object.defineProperty(t,"getXfaPageViewport",{enumerable:!0,get:function(){return a.getXfaPageViewport}}),Object.defineProperty(t,"isPdfFile",{enumerable:!0,get:function(){return a.isPdfFile}}),Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return a.loadScript}}),Object.defineProperty(t,"renderTextLayer",{enumerable:!0,get:function(){return l.renderTextLayer}}),Object.defineProperty(t,"shadow",{enumerable:!0,get:function(){return e.shadow}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return r.version}}),__w_pdfjs_require__(1)),r=__w_pdfjs_require__(133),a=__w_pdfjs_require__(137),i=__w_pdfjs_require__(151),s=__w_pdfjs_require__(136),n=__w_pdfjs_require__(156),o=__w_pdfjs_require__(144),t=__w_pdfjs_require__(3),l=__w_pdfjs_require__(159),h=__w_pdfjs_require__(160),c=__w_pdfjs_require__(158);if(t.isNodeJS){const d=__w_pdfjs_require__(161)["PDFNodeStream"];(0,r.setPDFNetworkStreamFactory)(t=>new d(t))}else{const u=__w_pdfjs_require__(164)["PDFNetworkStream"],p=__w_pdfjs_require__(165)["PDFFetchStream"];(0,r.setPDFNetworkStreamFactory)(t=>new((0,a.isValidFetchUrl)(t.url)?p:u)(t))}})(),__webpack_exports__})()); \ No newline at end of file diff --git a/build/pdf.js.map b/build/pdf.js.map index 874bdbb..0680d9a 100644 --- a/build/pdf.js.map +++ b/build/pdf.js.map @@ -1 +1 @@ -{"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/node_modules/core-js/es/array/at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-call.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-native.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this-raw.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-null-or-undefined.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-property-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-is-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/symbol-constructor-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/try-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-global-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has-own-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/make-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-name.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/weak-map-basic-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/math-trunc.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/length-of-array-like.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/entry-unbind.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/typed-array/at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-view-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/web/structured-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterator-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterator-create-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-iter-result-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.map.constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-metadata.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-slice-simple.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-is-extensible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-non-extensible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/freezing.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterator-close.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection-strong.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-built-ins.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-species.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.set.constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.structured-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/validate-arguments-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-get-flags.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-flags.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-installable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-browser.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-deno.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/path.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.js","webpack://pdfjs-dist/build/pdf/src/display/editor/editor.js","webpack://pdfjs-dist/build/pdf/src/display/editor/tools.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/shared/murmurhash3.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.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/shared/image_utils.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/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/editor/annotation_editor_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/freetext.js","webpack://pdfjs-dist/build/pdf/src/display/editor/ink.js","webpack://pdfjs-dist/build/pdf/src/display/editor/fit_curve.js","webpack://pdfjs-dist/build/pdf/node_modules/fit-curve/src/fit-curve.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})(globalThis, () => {\nreturn ","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Skip compatibility checks for modern builds and if we already ran the module.\nif (\n typeof PDFJSDev !== \"undefined\" &&\n !PDFJSDev.test(\"SKIP_BABEL\") &&\n !globalThis._pdfjsCompatibilityChecked\n) {\n globalThis._pdfjsCompatibilityChecked = true;\n require(\"./compatibility.js\");\n}\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\n// Represent the percentage of the height of a single-line field over\n// the font size. Acrobat seems to use this value.\nconst LINE_FACTOR = 1.35;\nconst LINE_DESCENT_FACTOR = 0.35;\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\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\n\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n INK: 15,\n};\n\nconst AnnotationEditorParamsType = {\n FREETEXT_SIZE: 1,\n FREETEXT_COLOR: 2,\n FREETEXT_OPACITY: 3,\n INK_COLOR: 11,\n INK_THICKNESS: 12,\n INK_OPACITY: 13,\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};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n // PLEASE NOTE: We purposely keep any removed operators commented out, since\n // re-numbering the list would risk breaking third-party users.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n // beginAnnotations: 78,\n // endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n // paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n};\n\nconst UNSUPPORTED_FEATURES = {\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\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 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}\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}\n\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n\n static get isOffscreenCanvasSupported() {\n return shadow(\n this,\n \"isOffscreenCanvasSupported\",\n typeof OffscreenCanvas !== \"undefined\"\n );\n }\n}\n\nconst hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n // Apply a scaling matrix to some min/max values.\n // If a scaling factor is negative then min and max must be\n // swaped.\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = 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 // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'null'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n const xLow = Math.max(\n Math.min(rect1[0], rect1[2]),\n Math.min(rect2[0], rect2[2])\n );\n const xHigh = Math.min(\n Math.max(rect1[0], rect1[2]),\n Math.max(rect2[0], rect2[2])\n );\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(\n Math.min(rect1[1], rect1[3]),\n Math.min(rect2[1], rect2[3])\n );\n const yHigh = Math.min(\n Math.max(rect1[1], rect1[3]),\n Math.max(rect2[1], rect2[3])\n );\n if (yLow > yHigh) {\n return null;\n }\n\n return [xLow, yLow, xHigh, yHigh];\n }\n\n // From https://github.com/adobe-webplatform/Snap.svg/blob/b365287722a72526000ac4bfcf0ce4cac2faa015/src/path.js#L852\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] =\n mt * mt * mt * x0 +\n 3 * mt * mt * t * x1 +\n 3 * mt * t * t * x2 +\n t * t * t * x3;\n bounds[1][j] =\n mt * mt * mt * y0 +\n 3 * mt * mt * t * y1 +\n 3 * mt * t * t * y2 +\n t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return [\n Math.min(...bounds[0]),\n Math.min(...bounds[1]),\n Math.max(...bounds[0]),\n Math.max(...bounds[1]),\n ];\n }\n}\n\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n // ISO Latin 1\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\n\nfunction 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 AnnotationEditorParamsType,\n AnnotationEditorPrefix,\n AnnotationEditorType,\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 FeatureTest,\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 LINE_DESCENT_FACTOR,\n LINE_FACTOR,\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// Support: Node.js<16.0.0\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<16.0.0\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 = __non_webpack_require__(\"canvas\").DOMMatrix;\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<90, Chrome<92, Safari<15.4, Node.js<16.6.0\n(function checkArrayAt() {\n if (Array.prototype.at) {\n return;\n }\n require(\"core-js/es/array/at.js\");\n})();\n\n// Support: Firefox<90, Chrome<92, Safari<15.4, Node.js<16.6.0\n(function checkTypedArrayAt() {\n if (Uint8Array.prototype.at) {\n return;\n }\n require(\"core-js/es/typed-array/at.js\");\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","/* 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 PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nexport { isNodeJS };\n","require('../../modules/es.array.at');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'at');\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\n$({ target: 'Array', proto: true }, {\n at: function at(index) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n }\n});\n\naddToUnscopables('at');\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThisRaw(fn);\n};\n","var uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nvar toString = uncurryThisRaw({}.toString);\nvar stringSlice = uncurryThisRaw(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.26.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.26.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","module.exports = false;\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n return uncurryThis(global[CONSTRUCTOR].prototype[METHOD]);\n};\n","require('../../modules/es.typed-array.at');\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.at` method\n// https://github.com/tc39/proposal-relative-indexing-method\nexportTypedArrayMethod('at', function at(index) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return (k < 0 || k >= len) ? undefined : O[k];\n});\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineProperty = require('../internals/object-define-property').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n } });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","require('../modules/es.array.iterator');\nrequire('../modules/es.object.to-string');\nrequire('../modules/es.map');\nrequire('../modules/es.set');\nrequire('../modules/web.structured-clone');\nvar path = require('../internals/path');\n\nmodule.exports = path.structuredClone;\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n if (kind == 'keys') return createIterResultObject(index, false);\n if (kind == 'values') return createIterResultObject(target[index], false);\n return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","module.exports = {};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.map.constructor');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, constructor: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw $TypeError(tryToString(argument) + ' is not iterable');\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw $TypeError('Incorrect invocation');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n defineBuiltIns(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n defineBuiltIns(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n // return step by kind\n if (kind == 'keys') return createIterResultObject(entry.key, false);\n if (kind == 'values') return createIterResultObject(entry.value, false);\n return createIterResultObject([entry.key, entry.value], false);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.set.constructor');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var IS_PURE = require('../internals/is-pure');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltin = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar uid = require('../internals/uid');\nvar isCallable = require('../internals/is-callable');\nvar isConstructor = require('../internals/is-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar iterate = require('../internals/iterate');\nvar anObject = require('../internals/an-object');\nvar classof = require('../internals/classof');\nvar hasOwn = require('../internals/has-own-property');\nvar createProperty = require('../internals/create-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\nvar V8 = require('../internals/engine-v8-version');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar Object = global.Object;\nvar Date = global.Date;\nvar Error = global.Error;\nvar EvalError = global.EvalError;\nvar RangeError = global.RangeError;\nvar ReferenceError = global.ReferenceError;\nvar SyntaxError = global.SyntaxError;\nvar TypeError = global.TypeError;\nvar URIError = global.URIError;\nvar PerformanceMark = global.PerformanceMark;\nvar WebAssembly = global.WebAssembly;\nvar CompileError = WebAssembly && WebAssembly.CompileError || Error;\nvar LinkError = WebAssembly && WebAssembly.LinkError || Error;\nvar RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error;\nvar DOMException = getBuiltin('DOMException');\nvar Set = getBuiltin('Set');\nvar Map = getBuiltin('Map');\nvar MapPrototype = Map.prototype;\nvar mapHas = uncurryThis(MapPrototype.has);\nvar mapGet = uncurryThis(MapPrototype.get);\nvar mapSet = uncurryThis(MapPrototype.set);\nvar setAdd = uncurryThis(Set.prototype.add);\nvar objectKeys = getBuiltin('Object', 'keys');\nvar push = uncurryThis([].push);\nvar thisBooleanValue = uncurryThis(true.valueOf);\nvar thisNumberValue = uncurryThis(1.0.valueOf);\nvar thisStringValue = uncurryThis(''.valueOf);\nvar thisTimeValue = uncurryThis(Date.prototype.getTime);\nvar PERFORMANCE_MARK = uid('structuredClone');\nvar DATA_CLONE_ERROR = 'DataCloneError';\nvar TRANSFERRING = 'Transferring';\n\nvar checkBasicSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var set1 = new global.Set([7]);\n var set2 = structuredCloneImplementation(set1);\n var number = structuredCloneImplementation(Object(7));\n return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7;\n }) && structuredCloneImplementation;\n};\n\nvar checkErrorsCloning = function (structuredCloneImplementation, $Error) {\n return !fails(function () {\n var error = new $Error();\n var test = structuredCloneImplementation({ a: error, b: error });\n return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack);\n });\n};\n\n// https://github.com/whatwg/html/pull/5749\nvar checkNewErrorsCloningSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 }));\n return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3;\n });\n};\n\n// FF94+, Safari 15.4+, Chrome 98+, NodeJS 17.0+, Deno 1.13+\n// FF<103 and Safari implementations can't clone errors\n// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604\n// FF103 can clone errors, but `.stack` of clone is an empty string\n// https://bugzilla.mozilla.org/show_bug.cgi?id=1778762\n// FF104+ fixed it on usual errors, but not on DOMExceptions\n// https://bugzilla.mozilla.org/show_bug.cgi?id=1777321\n// Chrome <102 returns `null` if cloned object contains multiple references to one error\n// https://bugs.chromium.org/p/v8/issues/detail?id=12542\n// NodeJS implementation can't clone DOMExceptions\n// https://github.com/nodejs/node/issues/41038\n// only FF103+ supports new (html/5749) error cloning semantic\nvar nativeStructuredClone = global.structuredClone;\n\nvar FORCED_REPLACEMENT = IS_PURE\n || !checkErrorsCloning(nativeStructuredClone, Error)\n || !checkErrorsCloning(nativeStructuredClone, DOMException)\n || !checkNewErrorsCloningSemantic(nativeStructuredClone);\n\n// Chrome 82+, Safari 14.1+, Deno 1.11+\n// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException`\n// Chrome returns `null` if cloned object contains multiple references to one error\n// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround\n// Safari implementation can't clone errors\n// Deno 1.2-1.10 implementations too naive\n// NodeJS 16.0+ does not have `PerformanceMark` constructor\n// NodeJS <17.2 structured cloning implementation from `performance.mark` is too naive\n// and can't clone, for example, `RegExp` or some boxed primitives\n// https://github.com/nodejs/node/issues/40840\n// no one of those implementations supports new (html/5749) error cloning semantic\nvar structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) {\n return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail;\n});\n\nvar nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark;\n\nvar throwUncloneable = function (type) {\n throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR);\n};\n\nvar throwUnpolyfillable = function (type, action) {\n throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR);\n};\n\nvar createDataTransfer = function () {\n var dataTransfer;\n try {\n dataTransfer = new global.DataTransfer();\n } catch (error) {\n try {\n dataTransfer = new global.ClipboardEvent('').clipboardData;\n } catch (error2) { /* empty */ }\n }\n return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null;\n};\n\nvar structuredCloneInternal = function (value, map) {\n if (isSymbol(value)) throwUncloneable('Symbol');\n if (!isObject(value)) return value;\n // effectively preserves circular references\n if (map) {\n if (mapHas(map, value)) return mapGet(map, value);\n } else map = new Map();\n\n var type = classof(value);\n var deep = false;\n var C, name, cloned, dataTransfer, i, length, keys, key, source, target;\n\n switch (type) {\n case 'Array':\n cloned = [];\n deep = true;\n break;\n case 'Object':\n cloned = {};\n deep = true;\n break;\n case 'Map':\n cloned = new Map();\n deep = true;\n break;\n case 'Set':\n cloned = new Set();\n deep = true;\n break;\n case 'RegExp':\n // in this block because of a Safari 14.1 bug\n // old FF does not clone regexes passed to the constructor, so get the source and flags directly\n cloned = new RegExp(value.source, getRegExpFlags(value));\n break;\n case 'Error':\n name = value.name;\n switch (name) {\n case 'AggregateError':\n cloned = getBuiltin('AggregateError')([]);\n break;\n case 'EvalError':\n cloned = EvalError();\n break;\n case 'RangeError':\n cloned = RangeError();\n break;\n case 'ReferenceError':\n cloned = ReferenceError();\n break;\n case 'SyntaxError':\n cloned = SyntaxError();\n break;\n case 'TypeError':\n cloned = TypeError();\n break;\n case 'URIError':\n cloned = URIError();\n break;\n case 'CompileError':\n cloned = CompileError();\n break;\n case 'LinkError':\n cloned = LinkError();\n break;\n case 'RuntimeError':\n cloned = RuntimeError();\n break;\n default:\n cloned = Error();\n }\n deep = true;\n break;\n case 'DOMException':\n cloned = new DOMException(value.message, value.name);\n deep = true;\n break;\n case 'DataView':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'BigInt64Array':\n case 'BigUint64Array':\n C = global[type];\n // in some old engines like Safari 9, typeof C is 'object'\n // on Uint8ClampedArray or some other constructors\n if (!isObject(C)) throwUnpolyfillable(type);\n cloned = new C(\n // this is safe, since arraybuffer cannot have circular references\n structuredCloneInternal(value.buffer, map),\n value.byteOffset,\n type === 'DataView' ? value.byteLength : value.length\n );\n break;\n case 'DOMQuad':\n try {\n cloned = new DOMQuad(\n structuredCloneInternal(value.p1, map),\n structuredCloneInternal(value.p2, map),\n structuredCloneInternal(value.p3, map),\n structuredCloneInternal(value.p4, map)\n );\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n }\n break;\n case 'FileList':\n dataTransfer = createDataTransfer();\n if (dataTransfer) {\n for (i = 0, length = lengthOfArrayLike(value); i < length; i++) {\n dataTransfer.items.add(structuredCloneInternal(value[i], map));\n }\n cloned = dataTransfer.files;\n } else if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n break;\n case 'ImageData':\n // Safari 9 ImageData is a constructor, but typeof ImageData is 'object'\n try {\n cloned = new ImageData(\n structuredCloneInternal(value.data, map),\n value.width,\n value.height,\n { colorSpace: value.colorSpace }\n );\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n } break;\n default:\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else switch (type) {\n case 'BigInt':\n // can be a 3rd party polyfill\n cloned = Object(value.valueOf());\n break;\n case 'Boolean':\n cloned = Object(thisBooleanValue(value));\n break;\n case 'Number':\n cloned = Object(thisNumberValue(value));\n break;\n case 'String':\n cloned = Object(thisStringValue(value));\n break;\n case 'Date':\n cloned = new Date(thisTimeValue(value));\n break;\n case 'ArrayBuffer':\n C = global.DataView;\n // `ArrayBuffer#slice` is not available in IE10\n // `ArrayBuffer#slice` and `DataView` are not available in old FF\n if (!C && typeof value.slice != 'function') throwUnpolyfillable(type);\n // detached buffers throws in `DataView` and `.slice`\n try {\n if (typeof value.slice == 'function') {\n cloned = value.slice(0);\n } else {\n length = value.byteLength;\n cloned = new ArrayBuffer(length);\n source = new C(value);\n target = new C(cloned);\n for (i = 0; i < length; i++) {\n target.setUint8(i, source.getUint8(i));\n }\n }\n } catch (error) {\n throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR);\n } break;\n case 'SharedArrayBuffer':\n // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original\n cloned = value;\n break;\n case 'Blob':\n try {\n cloned = value.slice(0, value.size, value.type);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMPoint':\n case 'DOMPointReadOnly':\n C = global[type];\n try {\n cloned = C.fromPoint\n ? C.fromPoint(value)\n : new C(value.x, value.y, value.z, value.w);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMRect':\n case 'DOMRectReadOnly':\n C = global[type];\n try {\n cloned = C.fromRect\n ? C.fromRect(value)\n : new C(value.x, value.y, value.width, value.height);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMMatrix':\n case 'DOMMatrixReadOnly':\n C = global[type];\n try {\n cloned = C.fromMatrix\n ? C.fromMatrix(value)\n : new C(value);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone)) throwUnpolyfillable(type);\n try {\n cloned = value.clone();\n } catch (error) {\n throwUncloneable(type);\n } break;\n case 'File':\n try {\n cloned = new File([value], value.name, value);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'CropTarget':\n case 'CryptoKey':\n case 'FileSystemDirectoryHandle':\n case 'FileSystemFileHandle':\n case 'FileSystemHandle':\n case 'GPUCompilationInfo':\n case 'GPUCompilationMessage':\n case 'ImageBitmap':\n case 'RTCCertificate':\n case 'WebAssembly.Module':\n throwUnpolyfillable(type);\n // break omitted\n default:\n throwUncloneable(type);\n }\n }\n\n mapSet(map, value, cloned);\n\n if (deep) switch (type) {\n case 'Array':\n case 'Object':\n keys = objectKeys(value);\n for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) {\n key = keys[i];\n createProperty(cloned, key, structuredCloneInternal(value[key], map));\n } break;\n case 'Map':\n value.forEach(function (v, k) {\n mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map));\n });\n break;\n case 'Set':\n value.forEach(function (v) {\n setAdd(cloned, structuredCloneInternal(v, map));\n });\n break;\n case 'Error':\n createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map));\n if (hasOwn(value, 'cause')) {\n createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map));\n }\n if (name == 'AggregateError') {\n cloned.errors = structuredCloneInternal(value.errors, map);\n } // break omitted\n case 'DOMException':\n if (ERROR_STACK_INSTALLABLE) {\n createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map));\n }\n }\n\n return cloned;\n};\n\nvar PROPER_TRANSFER = nativeStructuredClone && !fails(function () {\n // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if ((IS_DENO && V8 > 92) || (IS_NODE && V8 > 94) || (IS_BROWSER && V8 > 97)) return false;\n var buffer = new ArrayBuffer(8);\n var clone = nativeStructuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength != 0 || clone.byteLength != 8;\n});\n\nvar tryToTransfer = function (rawTransfer, map) {\n if (!isObject(rawTransfer)) throw TypeError('Transfer option cannot be converted to a sequence');\n\n var transfer = [];\n\n iterate(rawTransfer, function (value) {\n push(transfer, anObject(value));\n });\n\n var i = 0;\n var length = lengthOfArrayLike(transfer);\n var value, type, C, transferredArray, transferred, canvas, context;\n\n if (PROPER_TRANSFER) {\n transferredArray = nativeStructuredClone(transfer, { transfer: transfer });\n while (i < length) mapSet(map, transfer[i], transferredArray[i++]);\n } else while (i < length) {\n value = transfer[i++];\n if (mapHas(map, value)) throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR);\n\n type = classof(value);\n\n switch (type) {\n case 'ImageBitmap':\n C = global.OffscreenCanvas;\n if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING);\n try {\n canvas = new C(value.width, value.height);\n context = canvas.getContext('bitmaprenderer');\n context.transferFromImageBitmap(value);\n transferred = canvas.transferToImageBitmap();\n } catch (error) { /* empty */ }\n break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING);\n try {\n transferred = value.clone();\n value.close();\n } catch (error) { /* empty */ }\n break;\n case 'ArrayBuffer':\n case 'MediaSourceHandle':\n case 'MessagePort':\n case 'OffscreenCanvas':\n case 'ReadableStream':\n case 'TransformStream':\n case 'WritableStream':\n throwUnpolyfillable(type, TRANSFERRING);\n }\n\n if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR);\n mapSet(map, value, transferred);\n }\n};\n\n// `structuredClone` method\n// https://html.spec.whatwg.org/multipage/structured-data.html#dom-structuredclone\n$({ global: true, enumerable: true, sham: !PROPER_TRANSFER, forced: FORCED_REPLACEMENT }, {\n structuredClone: function structuredClone(value /* , { transfer } */) {\n var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined;\n var transfer = options ? options.transfer : undefined;\n var map;\n\n if (transfer !== undefined) {\n map = new Map();\n tryToTransfer(transfer, map);\n }\n\n return structuredCloneInternal(value, map);\n }\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw $TypeError('Not enough arguments');\n return passed;\n};\n","var call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","var IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var global = require('../internals/global');\n\nmodule.exports = global;\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 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 AnnotationStorage,\n PrintAnnotationStorage,\n} from \"./annotation_storage.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 { 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\nlet DefaultCanvasFactory = DOMCanvasFactory;\nlet DefaultCMapReaderFactory = DOMCMapReaderFactory;\nlet DefaultStandardFontDataFactory = DOMStandardFontDataFactory;\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS) {\n const {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory,\n } = require(\"./node_utils.js\");\n\n DefaultCanvasFactory = NodeCanvasFactory;\n DefaultCMapReaderFactory = NodeCMapReaderFactory;\n DefaultStandardFontDataFactory = NodeStandardFontDataFactory;\n}\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 { TypedArray | ArrayBuffer | Array | string } BinaryData\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 {BinaryData} [data] - Binary PDF data.\n * Use 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} [isOffscreenCanvasSupported] - Determines if we can use\n * `OffscreenCanvas` in the worker. Primarily used to improve performance of\n * image conversion/rendering.\n * The default value is `true` in web environments and `false` in Node.js.\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 * @typedef { string | URL | TypedArray | ArrayBuffer |\n * PDFDataRangeTransport | DocumentInitParameters\n * } GetDocumentParameters\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 {GetDocumentParameters}\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, TypedArray, 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 TypedArray, \" +\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.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 (!Number.isInteger(params.rangeChunkSize) || params.rangeChunkSize < 1) {\n params.rangeChunkSize = DEFAULT_RANGE_CHUNK_SIZE;\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) || params.maxImageSize < -1) {\n params.maxImageSize = -1;\n }\n if (typeof params.cMapUrl !== \"string\") {\n params.cMapUrl = null;\n }\n if (typeof params.standardFontDataUrl !== \"string\") {\n params.standardFontDataUrl = null;\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.isOffscreenCanvasSupported !== \"boolean\") {\n params.isOffscreenCanvasSupported = !isNodeJS;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = isNodeJS;\n }\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts = !isNodeJS && !params.disableFontFace;\n }\n if (\n typeof params.ownerDocument !== \"object\" ||\n params.ownerDocument === null\n ) {\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 // Only send the required properties, and *not* the entire `source` object.\n {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n data: source.data,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length,\n docBaseUrl: source.docBaseUrl,\n enableXfa: source.enableXfa,\n evaluatorOptions: {\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n isOffscreenCanvasSupported: source.isOffscreenCanvasSupported,\n fontExtraProperties: source.fontExtraProperties,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch\n ? source.standardFontDataUrl\n : null,\n },\n }\n );\n\n // Release the TypedArray data, when it exists, since it's no longer needed\n // on the main-thread *after* it's been sent to the worker-thread.\n if (source.data) {\n source.data = null;\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 #docId = 0;\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.#docId++}`;\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\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 * {Uint8Array} containing the raw data of the PDF document.\n */\n getData() {\n return this._transport.getData();\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 return this._transport.saveDocument();\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> | 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} [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 *\n * NOTE: This option may be partially, or completely, ignored when the\n * `pageColors`-option is used.\n * @property {Object} [pageColors] - Overwrites background and foreground colors\n * with user defined ones in order to improve readability in high contrast\n * mode.\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 * @property {PrintAnnotationStorage} [printAnnotationStorage]\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 * @property {PrintAnnotationStorage} [printAnnotationStorage]\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._bitmaps = new Set();\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 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 canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null,\n }) {\n this._stats?.time(\"Overall\");\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n printAnnotationStorage\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 separateAnnots: null,\n };\n\n this._stats?.time(\"Page Request\");\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\n this._stats?.timeEnd(\"Rendering\");\n this._stats?.timeEnd(\"Overall\");\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 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 pageColors,\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 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 printAnnotationStorage = null,\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 printAnnotationStorage,\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 separateAnnots: null,\n };\n\n this._stats?.time(\"Page Request\");\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 for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n this._bitmaps.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 for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n this._bitmaps.clear();\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 this._stats?.timeEnd(\"Page Request\");\n\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n intentState.displayReadyCapability?.resolve(transparency);\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 intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\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, annotationStorageMap }) {\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: annotationStorageMap,\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 #listeners = [];\n\n #deferred = Promise.resolve();\n\n postMessage(obj, transfers) {\n const event = {\n data: structuredClone(obj, transfers),\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 // Check if URLs have the same origin. For non-HTTP based URLs, returns false.\n PDFWorkerUtil.isSameOrigin = function (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 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 #workerPorts = new WeakMap();\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 // Send global setting, e.g. verbosity level.\n this._messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\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 !PDFWorkerUtil.isWorkerDisabled &&\n !PDFWorker._mainThreadWorkerMessageHandler\n ) {\n let { workerSrc } = PDFWorker;\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 !PDFWorkerUtil.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();\n // Ensure that we can use `postMessage` transfers.\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\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 (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n PDFWorkerUtil.fallbackWorkerSrc !== null\n ) {\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 `