{"version":3,"file":"pdf_viewer.js","mappings":"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","sources":["webpack://pdfjs-dist/web/pdf_viewer/webpack/universalModuleDefinition","webpack://pdfjs-dist/web/pdf_viewer/web/default_factory.js","webpack://pdfjs-dist/web/pdf_viewer/web/annotation_editor_layer_builder.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdfjs.js","webpack://pdfjs-dist/web/pdf_viewer/web/l10n_utils.js","webpack://pdfjs-dist/web/pdf_viewer/web/annotation_layer_builder.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_link_service.js","webpack://pdfjs-dist/web/pdf_viewer/web/ui_utils.js","webpack://pdfjs-dist/web/pdf_viewer/web/struct_tree_layer_builder.js","webpack://pdfjs-dist/web/pdf_viewer/web/text_layer_builder.js","webpack://pdfjs-dist/web/pdf_viewer/web/xfa_layer_builder.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_viewer.js","webpack://pdfjs-dist/web/pdf_viewer/web/base_viewer.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_page_view.js","webpack://pdfjs-dist/web/pdf_viewer/web/app_options.js","webpack://pdfjs-dist/web/pdf_viewer/web/text_accessibility.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_rendering_queue.js","webpack://pdfjs-dist/web/pdf_viewer/web/text_highlighter.js","webpack://pdfjs-dist/web/pdf_viewer/web/download_manager.js","webpack://pdfjs-dist/web/pdf_viewer/web/event_utils.js","webpack://pdfjs-dist/web/pdf_viewer/web/genericl10n.js","webpack://pdfjs-dist/web/pdf_viewer/external/webL10n/l10n.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_find_controller.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_find_utils.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_history.js","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_scripting_manager.js","webpack://pdfjs-dist/web/pdf_viewer/web/generic_scripting.js","webpack://pdfjs-dist/web/pdf_viewer/webpack/bootstrap","webpack://pdfjs-dist/web/pdf_viewer/web/pdf_viewer.component.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/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n})(globalThis, () => {\nreturn ","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./event_utils\").EventBus} EventBus */\n/** @typedef {import(\"./interfaces\").IDownloadManager} IDownloadManager */\n/** @typedef {import(\"./interfaces\").IL10n} IL10n */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFAnnotationLayerFactory} IPDFAnnotationLayerFactory */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFAnnotationEditorLayerFactory} IPDFAnnotationEditorLayerFactory */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFStructTreeLayerFactory} IPDFStructTreeLayerFactory */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFTextLayerFactory} IPDFTextLayerFactory */\n/** @typedef {import(\"./interfaces\").IPDFXfaLayerFactory} IPDFXfaLayerFactory */\n/** @typedef {import(\"./text_highlighter\").TextHighlighter} TextHighlighter */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./text_accessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n\nimport { AnnotationEditorLayerBuilder } from \"./annotation_editor_layer_builder.js\";\nimport { AnnotationLayerBuilder } from \"./annotation_layer_builder.js\";\nimport { NullL10n } from \"./l10n_utils.js\";\nimport { SimpleLinkService } from \"./pdf_link_service.js\";\nimport { StructTreeLayerBuilder } from \"./struct_tree_layer_builder.js\";\nimport { TextLayerBuilder } from \"./text_layer_builder.js\";\nimport { XfaLayerBuilder } from \"./xfa_layer_builder.js\";\n\n/**\n * @implements IPDFAnnotationLayerFactory\n */\nclass DefaultAnnotationLayerFactory {\n /**\n * @typedef {Object} CreateAnnotationLayerBuilderParameters\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {AnnotationStorage} [annotationStorage] - Storage for annotation\n * data in forms.\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n * for annotation icons. Include trailing slash.\n * @property {boolean} renderForms\n * @property {IL10n} l10n\n * @property {boolean} [enableScripting]\n * @property {Promise} [hasJSActionsPromise]\n * @property {Object} [mouseState]\n * @property {Promise> | null>}\n * [fieldObjectsPromise]\n * @property {Map} [annotationCanvasMap] - Map some\n * annotation ids with canvases used to render them.\n * @property {TextAccessibilityManager} [accessibilityManager]\n */\n\n /**\n * @param {CreateAnnotationLayerBuilderParameters}\n * @returns {AnnotationLayerBuilder}\n */\n createAnnotationLayerBuilder({\n pageDiv,\n pdfPage,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n l10n = NullL10n,\n enableScripting = false,\n hasJSActionsPromise = null,\n mouseState = null,\n fieldObjectsPromise = null,\n annotationCanvasMap = null,\n accessibilityManager = null,\n }) {\n return new AnnotationLayerBuilder({\n pageDiv,\n pdfPage,\n imageResourcesPath,\n renderForms,\n linkService: new SimpleLinkService(),\n l10n,\n annotationStorage,\n enableScripting,\n hasJSActionsPromise,\n fieldObjectsPromise,\n mouseState,\n annotationCanvasMap,\n accessibilityManager,\n });\n }\n}\n\n/**\n * @implements IPDFAnnotationEditorLayerFactory\n */\nclass DefaultAnnotationEditorLayerFactory {\n /**\n * @typedef {Object} CreateAnnotationEditorLayerBuilderParameters\n * @property {AnnotationEditorUIManager} [uiManager]\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {IL10n} l10n\n * @property {AnnotationStorage} [annotationStorage] - Storage for annotation\n * @property {TextAccessibilityManager} [accessibilityManager]\n * data in forms.\n */\n\n /**\n * @param {CreateAnnotationEditorLayerBuilderParameters}\n * @returns {AnnotationEditorLayerBuilder}\n */\n createAnnotationEditorLayerBuilder({\n uiManager = null,\n pageDiv,\n pdfPage,\n accessibilityManager = null,\n l10n,\n annotationStorage = null,\n }) {\n return new AnnotationEditorLayerBuilder({\n uiManager,\n pageDiv,\n pdfPage,\n accessibilityManager,\n l10n,\n annotationStorage,\n });\n }\n}\n\n/**\n * @implements IPDFStructTreeLayerFactory\n */\nclass DefaultStructTreeLayerFactory {\n /**\n * @typedef {Object} CreateStructTreeLayerBuilderParameters\n * @property {PDFPageProxy} pdfPage\n */\n\n /**\n * @param {CreateStructTreeLayerBuilderParameters}\n * @returns {StructTreeLayerBuilder}\n */\n createStructTreeLayerBuilder({ pdfPage }) {\n return new StructTreeLayerBuilder({\n pdfPage,\n });\n }\n}\n\n/**\n * @implements IPDFTextLayerFactory\n */\nclass DefaultTextLayerFactory {\n /**\n * @typedef {Object} CreateTextLayerBuilderParameters\n * @property {HTMLDivElement} textLayerDiv\n * @property {number} pageIndex\n * @property {PageViewport} viewport\n * @property {boolean} [enhanceTextSelection]\n * @property {EventBus} eventBus\n * @property {TextHighlighter} highlighter\n * @property {TextAccessibilityManager} [accessibilityManager]\n */\n\n /**\n * @param {CreateTextLayerBuilderParameters}\n * @returns {TextLayerBuilder}\n */\n createTextLayerBuilder({\n textLayerDiv,\n pageIndex,\n viewport,\n enhanceTextSelection = false,\n eventBus,\n highlighter,\n accessibilityManager = null,\n }) {\n return new TextLayerBuilder({\n textLayerDiv,\n pageIndex,\n viewport,\n enhanceTextSelection,\n eventBus,\n highlighter,\n accessibilityManager,\n });\n }\n}\n\n/**\n * @implements IPDFXfaLayerFactory\n */\nclass DefaultXfaLayerFactory {\n /**\n * @typedef {Object} CreateXfaLayerBuilderParameters\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {AnnotationStorage} [annotationStorage] - Storage for annotation\n * data in forms.\n */\n\n /**\n * @param {CreateXfaLayerBuilderParameters}\n * @returns {XfaLayerBuilder}\n */\n createXfaLayerBuilder({ pageDiv, pdfPage, annotationStorage = null }) {\n return new XfaLayerBuilder({\n pageDiv,\n pdfPage,\n annotationStorage,\n linkService: new SimpleLinkService(),\n });\n }\n}\n\nexport {\n DefaultAnnotationEditorLayerFactory,\n DefaultAnnotationLayerFactory,\n DefaultStructTreeLayerFactory,\n DefaultTextLayerFactory,\n DefaultXfaLayerFactory,\n};\n","/* Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/editor/tools.js\").AnnotationEditorUIManager} AnnotationEditorUIManager */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../annotation_storage.js\").AnnotationStorage} AnnotationStorage */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./text_accessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n/** @typedef {import(\"./interfaces\").IL10n} IL10n */\n\nimport { AnnotationEditorLayer } from \"pdfjs-lib\";\nimport { NullL10n } from \"./l10n_utils.js\";\n\n/**\n * @typedef {Object} AnnotationEditorLayerBuilderOptions\n * @property {number} mode - Editor mode\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {TextAccessibilityManager} accessibilityManager\n * @property {AnnotationStorage} annotationStorage\n * @property {IL10n} l10n - Localization service.\n * @property {AnnotationEditorUIManager} uiManager\n */\n\nclass AnnotationEditorLayerBuilder {\n #uiManager;\n\n /**\n * @param {AnnotationEditorLayerBuilderOptions} options\n */\n constructor(options) {\n this.pageDiv = options.pageDiv;\n this.pdfPage = options.pdfPage;\n this.annotationStorage = options.annotationStorage || null;\n this.accessibilityManager = options.accessibilityManager;\n this.l10n = options.l10n || NullL10n;\n this.annotationEditorLayer = null;\n this.div = null;\n this._cancelled = false;\n this.#uiManager = options.uiManager;\n }\n\n /**\n * @param {PageViewport} viewport\n * @param {string} intent (default value is 'display')\n */\n async render(viewport, intent = \"display\") {\n if (intent !== \"display\") {\n return;\n }\n\n if (this._cancelled) {\n return;\n }\n\n const clonedViewport = viewport.clone({ dontFlip: true });\n if (this.div) {\n this.annotationEditorLayer.update({ viewport: clonedViewport });\n this.show();\n return;\n }\n\n // Create an AnnotationEditor layer div\n this.div = document.createElement(\"div\");\n this.div.className = \"annotationEditorLayer\";\n this.div.tabIndex = 0;\n this.pageDiv.append(this.div);\n\n this.annotationEditorLayer = new AnnotationEditorLayer({\n uiManager: this.#uiManager,\n div: this.div,\n annotationStorage: this.annotationStorage,\n accessibilityManager: this.accessibilityManager,\n pageIndex: this.pdfPage._pageIndex,\n l10n: this.l10n,\n viewport: clonedViewport,\n });\n\n const parameters = {\n viewport: clonedViewport,\n div: this.div,\n annotations: null,\n intent,\n };\n\n this.annotationEditorLayer.render(parameters);\n }\n\n cancel() {\n this._cancelled = true;\n this.destroy();\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n\n show() {\n if (!this.div) {\n return;\n }\n this.div.hidden = false;\n }\n\n destroy() {\n if (!this.div) {\n return;\n }\n this.pageDiv = null;\n this.annotationEditorLayer.destroy();\n this.div.remove();\n }\n}\n\nexport { AnnotationEditorLayerBuilder };\n","/* Copyright 2016 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 module, __non_webpack_require__ */\n\n\"use strict\";\n\nlet pdfjsLib;\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = __non_webpack_require__(\"../build/pdf.js\");\n}\nmodule.exports = pdfjsLib;\n","/* Copyright 2021 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * A subset of the l10n strings in the `l10n/en-US/viewer.properties` file.\n */\nconst DEFAULT_L10N_STRINGS = {\n of_pages: \"of {{pagesCount}}\",\n page_of_pages: \"({{pageNumber}} of {{pagesCount}})\",\n\n document_properties_kb: \"{{size_kb}} KB ({{size_b}} bytes)\",\n document_properties_mb: \"{{size_mb}} MB ({{size_b}} bytes)\",\n document_properties_date_string: \"{{date}}, {{time}}\",\n document_properties_page_size_unit_inches: \"in\",\n document_properties_page_size_unit_millimeters: \"mm\",\n document_properties_page_size_orientation_portrait: \"portrait\",\n document_properties_page_size_orientation_landscape: \"landscape\",\n document_properties_page_size_name_a3: \"A3\",\n document_properties_page_size_name_a4: \"A4\",\n document_properties_page_size_name_letter: \"Letter\",\n document_properties_page_size_name_legal: \"Legal\",\n document_properties_page_size_dimension_string:\n \"{{width}} × {{height}} {{unit}} ({{orientation}})\",\n document_properties_page_size_dimension_name_string:\n \"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})\",\n document_properties_linearized_yes: \"Yes\",\n document_properties_linearized_no: \"No\",\n\n print_progress_percent: \"{{progress}}%\",\n\n \"toggle_sidebar.title\": \"Toggle Sidebar\",\n \"toggle_sidebar_notification2.title\":\n \"Toggle Sidebar (document contains outline/attachments/layers)\",\n\n additional_layers: \"Additional Layers\",\n page_landmark: \"Page {{page}}\",\n thumb_page_title: \"Page {{page}}\",\n thumb_page_canvas: \"Thumbnail of Page {{page}}\",\n\n find_reached_top: \"Reached top of document, continued from bottom\",\n find_reached_bottom: \"Reached end of document, continued from top\",\n \"find_match_count[one]\": \"{{current}} of {{total}} match\",\n \"find_match_count[other]\": \"{{current}} of {{total}} matches\",\n \"find_match_count_limit[one]\": \"More than {{limit}} match\",\n \"find_match_count_limit[other]\": \"More than {{limit}} matches\",\n find_not_found: \"Phrase not found\",\n\n error_version_info: \"PDF.js v{{version}} (build: {{build}})\",\n error_message: \"Message: {{message}}\",\n error_stack: \"Stack: {{stack}}\",\n error_file: \"File: {{file}}\",\n error_line: \"Line: {{line}}\",\n rendering_error: \"An error occurred while rendering the page.\",\n\n page_scale_width: \"Page Width\",\n page_scale_fit: \"Page Fit\",\n page_scale_auto: \"Automatic Zoom\",\n page_scale_actual: \"Actual Size\",\n page_scale_percent: \"{{scale}}%\",\n\n loading: \"Loading…\",\n loading_error: \"An error occurred while loading the PDF.\",\n invalid_file_error: \"Invalid or corrupted PDF file.\",\n missing_file_error: \"Missing PDF file.\",\n unexpected_response_error: \"Unexpected server response.\",\n\n printing_not_supported:\n \"Warning: Printing is not fully supported by this browser.\",\n printing_not_ready: \"Warning: The PDF is not fully loaded for printing.\",\n web_fonts_disabled:\n \"Web fonts are disabled: unable to use embedded PDF fonts.\",\n\n free_text_default_content: \"Enter text…\",\n editor_free_text_aria_label: \"FreeText Editor\",\n editor_ink_aria_label: \"Ink Editor\",\n editor_ink_canvas_aria_label: \"User-created image\",\n};\n\nfunction getL10nFallback(key, args) {\n switch (key) {\n case \"find_match_count\":\n key = `find_match_count[${args.total === 1 ? \"one\" : \"other\"}]`;\n break;\n case \"find_match_count_limit\":\n key = `find_match_count_limit[${args.limit === 1 ? \"one\" : \"other\"}]`;\n break;\n }\n return DEFAULT_L10N_STRINGS[key] || \"\";\n}\n\nconst PARTIAL_LANG_CODES = {\n en: \"en-US\",\n es: \"es-ES\",\n fy: \"fy-NL\",\n ga: \"ga-IE\",\n gu: \"gu-IN\",\n hi: \"hi-IN\",\n hy: \"hy-AM\",\n nb: \"nb-NO\",\n ne: \"ne-NP\",\n nn: \"nn-NO\",\n pa: \"pa-IN\",\n pt: \"pt-PT\",\n sv: \"sv-SE\",\n zh: \"zh-CN\",\n};\n\n// Try to support \"incompletely\" specified language codes (see issue 13689).\nfunction fixupLangCode(langCode) {\n return PARTIAL_LANG_CODES[langCode?.toLowerCase()] || langCode;\n}\n\n// Replaces {{arguments}} with their values.\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\n/**\n * No-op implementation of the localization service.\n * @implements {IL10n}\n */\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n\n async getDirection() {\n return \"ltr\";\n },\n\n async get(key, args = null, fallback = getL10nFallback(key, args)) {\n return formatL10nValue(fallback, args);\n },\n\n async translate(element) {},\n};\n\nexport { fixupLangCode, getL10nFallback, NullL10n };\n","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./interfaces\").IDownloadManager} IDownloadManager */\n/** @typedef {import(\"./interfaces\").IL10n} IL10n */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./textaccessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n\nimport { AnnotationLayer } from \"pdfjs-lib\";\nimport { NullL10n } from \"./l10n_utils.js\";\n\n/**\n * @typedef {Object} AnnotationLayerBuilderOptions\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {AnnotationStorage} [annotationStorage]\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n * for annotation icons. Include trailing slash.\n * @property {boolean} renderForms\n * @property {IPDFLinkService} linkService\n * @property {IDownloadManager} downloadManager\n * @property {IL10n} l10n - Localization service.\n * @property {boolean} [enableScripting]\n * @property {Promise} [hasJSActionsPromise]\n * @property {Promise> | null>}\n * [fieldObjectsPromise]\n * @property {Object} [mouseState]\n * @property {Map} [annotationCanvasMap]\n * @property {TextAccessibilityManager} accessibilityManager\n */\n\nclass AnnotationLayerBuilder {\n /**\n * @param {AnnotationLayerBuilderOptions} options\n */\n constructor({\n pageDiv,\n pdfPage,\n linkService,\n downloadManager,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n l10n = NullL10n,\n enableScripting = false,\n hasJSActionsPromise = null,\n fieldObjectsPromise = null,\n mouseState = null,\n annotationCanvasMap = null,\n accessibilityManager = null,\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderForms = renderForms;\n this.l10n = l10n;\n this.annotationStorage = annotationStorage;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise;\n this._fieldObjectsPromise = fieldObjectsPromise;\n this._mouseState = mouseState;\n this._annotationCanvasMap = annotationCanvasMap;\n this._accessibilityManager = accessibilityManager;\n\n this.div = null;\n this._cancelled = false;\n }\n\n /**\n * @param {PageViewport} viewport\n * @param {string} intent (default value is 'display')\n * @returns {Promise} A promise that is resolved when rendering of the\n * annotations is complete.\n */\n async render(viewport, intent = \"display\") {\n const [annotations, hasJSActions = false, fieldObjects = null] =\n await Promise.all([\n this.pdfPage.getAnnotations({ intent }),\n this._hasJSActionsPromise,\n this._fieldObjectsPromise,\n ]);\n\n if (this._cancelled || annotations.length === 0) {\n return;\n }\n\n const parameters = {\n viewport: viewport.clone({ dontFlip: true }),\n div: this.div,\n annotations,\n page: this.pdfPage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n annotationStorage: this.annotationStorage,\n enableScripting: this.enableScripting,\n hasJSActions,\n fieldObjects,\n mouseState: this._mouseState,\n annotationCanvasMap: this._annotationCanvasMap,\n accessibilityManager: this._accessibilityManager,\n };\n\n if (this.div) {\n // If an annotationLayer already exists, refresh its children's\n // transformation matrices.\n AnnotationLayer.update(parameters);\n } else {\n // Create an annotation layer div and render the annotations\n // if there is at least one annotation.\n this.div = document.createElement(\"div\");\n this.div.className = \"annotationLayer\";\n this.pageDiv.append(this.div);\n parameters.div = this.div;\n\n AnnotationLayer.render(parameters);\n this.l10n.translate(this.div);\n }\n }\n\n cancel() {\n this._cancelled = true;\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n}\n\nexport { AnnotationLayerBuilder };\n","/* Copyright 2015 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/** @typedef {import(\"./event_utils\").EventBus} EventBus */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n\nimport { parseQueryString, removeNullCharacters } from \"./ui_utils.js\";\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\n\nconst LinkTarget = {\n NONE: 0, // Default value.\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4,\n};\n\n/**\n * @typedef {Object} ExternalLinkParameters\n * @property {string} url - An absolute URL.\n * @property {LinkTarget} [target] - The link target. The default value is\n * `LinkTarget.NONE`.\n * @property {string} [rel] - The link relationship. The default value is\n * `DEFAULT_LINK_REL`.\n * @property {boolean} [enabled] - Whether the link should be enabled. The\n * default value is true.\n */\n\n/**\n * Adds various attributes (href, title, target, rel) to hyperlinks.\n * @param {HTMLAnchorElement} link - The link element.\n * @param {ExternalLinkParameters} params\n */\nfunction addLinkAttributes(link, { url, target, rel, enabled = true } = {}) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n\n const urlNullRemoved = removeNullCharacters(url);\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n link.onclick = () => {\n return false;\n };\n }\n\n let targetStr = \"\"; // LinkTarget.NONE\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\n/**\n * @typedef {Object} PDFLinkServiceOptions\n * @property {EventBus} eventBus - The application event bus.\n * @property {number} [externalLinkTarget] - Specifies the `target` attribute\n * for external links. Must use one of the values from {LinkTarget}.\n * Defaults to using no target.\n * @property {string} [externalLinkRel] - Specifies the `rel` attribute for\n * external links. Defaults to stripping the referrer.\n * @property {boolean} [ignoreDestinationZoom] - Ignores the zoom argument,\n * thus preserving the current zoom level in the viewer, when navigating\n * to internal destinations. The default value is `false`.\n */\n\n/**\n * Performs navigation functions inside PDF, such as opening specified page,\n * or destination.\n * @implements {IPDFLinkService}\n */\nclass PDFLinkService {\n #pagesRefCache = new Map();\n\n /**\n * @param {PDFLinkServiceOptions} options\n */\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false,\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this.#pagesRefCache.clear();\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n\n /**\n * @type {number}\n */\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n\n /**\n * @type {number}\n */\n get page() {\n return this.pdfViewer.currentPageNumber;\n }\n\n /**\n * @param {number} value\n */\n set page(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n\n /**\n * @type {number}\n */\n get rotation() {\n return this.pdfViewer.pagesRotation;\n }\n\n /**\n * @param {number} value\n */\n set rotation(value) {\n this.pdfViewer.pagesRotation = value;\n }\n\n #goToDestinationHelper(rawDest, namedDest = null, explicitDest) {\n // Dest array looks like that: \n const destRef = explicitDest[0];\n let pageNumber;\n\n if (typeof destRef === \"object\" && destRef !== null) {\n pageNumber = this._cachedPageNumber(destRef);\n\n if (!pageNumber) {\n // Fetch the page reference if it's not yet available. This could\n // only occur during loading, before all pages have been resolved.\n this.pdfDocument\n .getPageIndex(destRef)\n .then(pageIndex => {\n this.cachePageRef(pageIndex + 1, destRef);\n this.#goToDestinationHelper(rawDest, namedDest, explicitDest);\n })\n .catch(() => {\n console.error(\n `PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` +\n `a valid page reference, for dest=\"${rawDest}\".`\n );\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(\n `PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` +\n `a valid destination reference, for dest=\"${rawDest}\".`\n );\n return;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\n `PDFLinkService.#goToDestinationHelper: \"${pageNumber}\" is not ` +\n `a valid page number, for dest=\"${rawDest}\".`\n );\n return;\n }\n\n if (this.pdfHistory) {\n // Update the browser history before scrolling the new destination into\n // view, to be able to accurately capture the current document position.\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({ namedDest, explicitDest, pageNumber });\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom,\n });\n }\n\n /**\n * This method will, when available, also update the browser history.\n *\n * @param {string|Array} dest - The named, or explicit, PDF destination.\n */\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n let namedDest, explicitDest;\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n if (!Array.isArray(explicitDest)) {\n console.error(\n `PDFLinkService.goToDestination: \"${explicitDest}\" is not ` +\n `a valid destination array, for dest=\"${dest}\".`\n );\n return;\n }\n this.#goToDestinationHelper(dest, namedDest, explicitDest);\n }\n\n /**\n * This method will, when available, also update the browser history.\n *\n * @param {number|string} val - The page number, or page label.\n */\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n const pageNumber =\n (typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val)) ||\n val | 0;\n if (\n !(\n Number.isInteger(pageNumber) &&\n pageNumber > 0 &&\n pageNumber <= this.pagesCount\n )\n ) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n\n if (this.pdfHistory) {\n // Update the browser history before scrolling the new page into view,\n // to be able to accurately capture the current document position.\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n\n this.pdfViewer.scrollPageIntoView({ pageNumber });\n }\n\n /**\n * Wrapper around the `addLinkAttributes` helper function.\n * @param {HTMLAnchorElement} link\n * @param {string} url\n * @param {boolean} [newWindow]\n */\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, {\n url,\n target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel: this.externalLinkRel,\n enabled: this.externalLinkEnabled,\n });\n }\n\n /**\n * @param {string|Array} dest - The PDF destination object.\n * @returns {string} The hyperlink to the PDF object.\n */\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n return this.getAnchorUrl(\"\");\n }\n\n /**\n * Prefix the full url on anchor links to make sure that links are resolved\n * relative to the current URL instead of the one defined in .\n * @param {string} anchor - The anchor hash, including the #.\n * @returns {string} The hyperlink to the PDF object.\n */\n getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n\n /**\n * @param {string} hash\n */\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n let pageNumber, dest;\n if (hash.includes(\"=\")) {\n const params = parseQueryString(hash);\n if (params.has(\"search\")) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.get(\"search\").replace(/\"/g, \"\"),\n phraseSearch: params.get(\"phrase\") === \"true\",\n });\n }\n // borrowing syntax from \"Parameters for Opening PDF Files\"\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n if (params.has(\"zoom\")) {\n // Build the destination array.\n const zoomArgs = params.get(\"zoom\").split(\",\"); // scale,left,top\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n // If the zoomArg is a number, it has to get divided by 100. If it's\n // a string, it should stay as it is.\n dest = [\n null,\n { name: \"XYZ\" },\n zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n zoomArgs.length > 2 ? zoomArgs[2] | 0 : null,\n zoomArgNumber ? zoomArgNumber / 100 : zoomArg,\n ];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, { name: zoomArg }];\n } else if (\n zoomArg === \"FitH\" ||\n zoomArg === \"FitBH\" ||\n zoomArg === \"FitV\" ||\n zoomArg === \"FitBV\"\n ) {\n dest = [\n null,\n { name: zoomArg },\n zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n ];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error(\n 'PDFLinkService.setHash: Not enough parameters for \"FitR\".'\n );\n } else {\n dest = [\n null,\n { name: zoomArg },\n zoomArgs[1] | 0,\n zoomArgs[2] | 0,\n zoomArgs[3] | 0,\n zoomArgs[4] | 0,\n ];\n }\n } else {\n console.error(\n `PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`\n );\n }\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true,\n });\n } else if (pageNumber) {\n this.page = pageNumber; // simple page\n }\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\"),\n });\n }\n // Ensure that this parameter is *always* handled last, in order to\n // guarantee that it won't be overridden (e.g. by the \"page\" parameter).\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n } else {\n // Named (or explicit) destination.\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n // Avoid incorrectly rejecting a valid named destination, such as\n // e.g. \"4.3\" or \"true\", because `JSON.parse` converted its type.\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (\n typeof dest === \"string\" ||\n PDFLinkService.#isValidExplicitDestination(dest)\n ) {\n this.goToDestination(dest);\n return;\n }\n console.error(\n `PDFLinkService.setHash: \"${unescape(\n hash\n )}\" is not a valid destination.`\n );\n }\n }\n\n /**\n * @param {string} action\n */\n executeNamedAction(action) {\n // See PDF reference, table 8.45 - Named action\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break; // No action according to spec\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action,\n });\n }\n\n /**\n * @param {number} pageNum - page number.\n * @param {Object} pageRef - reference to the page.\n */\n cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n const refStr =\n pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n this.#pagesRefCache.set(refStr, pageNum);\n }\n\n /**\n * @ignore\n */\n _cachedPageNumber(pageRef) {\n if (!pageRef) {\n return null;\n }\n const refStr =\n pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n return this.#pagesRefCache.get(refStr) || null;\n }\n\n /**\n * @param {number} pageNumber\n */\n isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n\n /**\n * @param {number} pageNumber\n */\n isPageCached(pageNumber) {\n return this.pdfViewer.isPageCached(pageNumber);\n }\n\n static #isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n const destLength = dest.length;\n if (destLength < 2) {\n return false;\n }\n const page = dest[0];\n if (\n !(\n typeof page === \"object\" &&\n Number.isInteger(page.num) &&\n Number.isInteger(page.gen)\n ) &&\n !(Number.isInteger(page) && page >= 0)\n ) {\n return false;\n }\n const zoom = dest[1];\n if (!(typeof zoom === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n let allowNull = true;\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n break;\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n break;\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n allowNull = false;\n break;\n default:\n return false;\n }\n for (let i = 2; i < destLength; i++) {\n const param = dest[i];\n if (!(typeof param === \"number\" || (allowNull && param === null))) {\n return false;\n }\n }\n return true;\n }\n}\n\n/**\n * @implements {IPDFLinkService}\n */\nclass SimpleLinkService {\n constructor() {\n this.externalLinkEnabled = true;\n }\n\n /**\n * @type {number}\n */\n get pagesCount() {\n return 0;\n }\n\n /**\n * @type {number}\n */\n get page() {\n return 0;\n }\n\n /**\n * @param {number} value\n */\n set page(value) {}\n\n /**\n * @type {number}\n */\n get rotation() {\n return 0;\n }\n\n /**\n * @param {number} value\n */\n set rotation(value) {}\n\n /**\n * @param {string|Array} dest - The named, or explicit, PDF destination.\n */\n async goToDestination(dest) {}\n\n /**\n * @param {number|string} val - The page number, or page label.\n */\n goToPage(val) {}\n\n /**\n * @param {HTMLAnchorElement} link\n * @param {string} url\n * @param {boolean} [newWindow]\n */\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, { url, enabled: this.externalLinkEnabled });\n }\n\n /**\n * @param dest - The PDF destination object.\n * @returns {string} The hyperlink to the PDF object.\n */\n getDestinationHash(dest) {\n return \"#\";\n }\n\n /**\n * @param hash - The PDF parameters/hash.\n * @returns {string} The hyperlink to the PDF object.\n */\n getAnchorUrl(hash) {\n return \"#\";\n }\n\n /**\n * @param {string} hash\n */\n setHash(hash) {}\n\n /**\n * @param {string} action\n */\n executeNamedAction(action) {}\n\n /**\n * @param {number} pageNum - page number.\n * @param {Object} pageRef - reference to the page.\n */\n cachePageRef(pageNum, pageRef) {}\n\n /**\n * @param {number} pageNumber\n */\n isPageVisible(pageNumber) {\n return true;\n }\n\n /**\n * @param {number} pageNumber\n */\n isPageCached(pageNumber) {\n return true;\n }\n}\n\nexport { LinkTarget, PDFLinkService, SimpleLinkService };\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\nconst DEFAULT_SCALE_VALUE = \"auto\";\nconst DEFAULT_SCALE = 1.0;\nconst DEFAULT_SCALE_DELTA = 1.1;\nconst MIN_SCALE = 0.1;\nconst MAX_SCALE = 10.0;\nconst UNKNOWN_SCALE = 0;\nconst MAX_AUTO_SCALE = 1.25;\nconst SCROLLBAR_PADDING = 40;\nconst VERTICAL_PADDING = 5;\n\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3,\n};\n\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3,\n};\n\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1, // Default value.\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4,\n};\n\nconst RendererType =\n typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"!PRODUCTION || GENERIC\")\n ? {\n CANVAS: \"canvas\",\n SVG: \"svg\",\n }\n : null;\n\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2,\n};\n\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0, // Default value.\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3,\n};\n\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0, // Default value.\n ODD: 1,\n EVEN: 2,\n};\n\n// Used by `PDFViewerApplication`, and by the API unit-tests.\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\n\n/**\n * Scale factors for the canvas, necessary with HiDPI displays.\n */\nclass OutputScale {\n constructor() {\n const pixelRatio = window.devicePixelRatio || 1;\n\n /**\n * @type {number} Horizontal scale.\n */\n this.sx = pixelRatio;\n\n /**\n * @type {number} Vertical scale.\n */\n this.sy = pixelRatio;\n }\n\n /**\n * @type {boolean} Returns `true` when scaling is required, `false` otherwise.\n */\n get scaled() {\n return this.sx !== 1 || this.sy !== 1;\n }\n}\n\n/**\n * Scrolls specified element into view of its parent.\n * @param {Object} element - The element to be visible.\n * @param {Object} spot - An object with optional top and left properties,\n * specifying the offset from the top left edge.\n * @param {boolean} [scrollMatches] - When scrolling search results into view,\n * ignore elements that either: Contains marked content identifiers,\n * or have the CSS-rule `overflow: hidden;` set. The default value is `false`.\n */\nfunction scrollIntoView(element, spot, scrollMatches = false) {\n // Assuming offsetParent is available (it's not available when viewer is in\n // hidden iframe or object). We have to scroll: if the offsetParent is not set\n // producing the error. See also animationStarted.\n let parent = element.offsetParent;\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n while (\n (parent.clientHeight === parent.scrollHeight &&\n parent.clientWidth === parent.scrollWidth) ||\n (scrollMatches &&\n (parent.classList.contains(\"markedContent\") ||\n getComputedStyle(parent).overflow === \"hidden\"))\n ) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n\n parent = parent.offsetParent;\n if (!parent) {\n return; // no need to scroll\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\n\n/**\n * Helper function to start monitoring the scroll event and converting them into\n * PDF.js friendly one: with scroll debounce and scroll direction.\n */\nfunction watchScroll(viewAreaElement, callback) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n // schedule an invocation of scroll for next animation frame.\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll,\n };\n\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\n/**\n * Helper function to parse query string (e.g. ?param1=value¶m2=...).\n * @param {string}\n * @returns {Map}\n */\nfunction parseQueryString(query) {\n const params = new Map();\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n return params;\n}\n\nconst NullCharactersRegExp = /\\x00/g;\nconst InvisibleCharactersRegExp = /[\\x01-\\x1F]/g;\n\n/**\n * @param {string} str\n * @param {boolean} [replaceInvisible]\n */\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (typeof str !== \"string\") {\n console.error(`The argument must be a string.`);\n return str;\n }\n if (replaceInvisible) {\n str = str.replace(InvisibleCharactersRegExp, \" \");\n }\n return str.replace(NullCharactersRegExp, \"\");\n}\n\n/**\n * Use binary search to find the index of the first item in a given array which\n * passes a given condition. The items are expected to be sorted in the sense\n * that if the condition is true for one item in the array, then it is also true\n * for all following items.\n *\n * @returns {number} Index of the first array element to pass the test,\n * or |items.length| if no such element exists.\n */\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n const currentIndex = (minIndex + maxIndex) >> 1;\n const currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex; /* === maxIndex */\n}\n\n/**\n * Approximates float number as a fraction using Farey sequence (max order\n * of 8).\n * @param {number} x - Positive float number.\n * @returns {Array} Estimated fraction: the first array item is a numerator,\n * the second one is a denominator.\n */\nfunction approximateFraction(x) {\n // Fast paths for int numbers or their inversions.\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n const xinv = 1 / x;\n const limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n const x_ = x > 1 ? xinv : x;\n // a/b and c/d are neighbours in Farey sequence.\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n // Limiting search to order 8.\n while (true) {\n // Generating next term in sequence (order of q).\n const p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n let result;\n // Select closest of the neighbours to x.\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n}\n\nfunction roundToDivide(x, div) {\n const r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\n/**\n * @typedef {Object} GetPageSizeInchesParameters\n * @property {number[]} view\n * @property {number} userUnit\n * @property {number} rotate\n */\n\n/**\n * @typedef {Object} PageSize\n * @property {number} width - In inches.\n * @property {number} height - In inches.\n */\n\n/**\n * Gets the size of the specified page, converted from PDF units to inches.\n * @param {GetPageSizeInchesParameters} params\n * @returns {PageSize}\n */\nfunction getPageSizeInches({ view, userUnit, rotate }) {\n const [x1, y1, x2, y2] = view;\n // We need to take the page rotation into account as well.\n const changeOrientation = rotate % 180 !== 0;\n\n const width = ((x2 - x1) / 72) * userUnit;\n const height = ((y2 - y1) / 72) * userUnit;\n\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height,\n };\n}\n\n/**\n * Helper function for getVisibleElements.\n *\n * @param {number} index - initial guess at the first visible element\n * @param {Array} views - array of pages, into which `index` is an index\n * @param {number} top - the top of the scroll pane\n * @returns {number} less than or equal to `index` that is definitely at or\n * before the first visible element in `views`, but not by too much. (Usually,\n * this will be the first element in the first partially visible row in\n * `views`, although sometimes it goes back one row further.)\n */\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n // binarySearchFirstItem's assumption is that the input is ordered, with only\n // one index where the conditions flips from false to true: [false ...,\n // true...]. With vertical scrolling and spreads, it is possible to have\n // [false ..., true, false, true ...]. With wrapped scrolling we can have a\n // similar sequence, with many more mixed true and false in the middle.\n //\n // So there is no guarantee that the binary search yields the index of the\n // first visible element. It could have been any of the other visible elements\n // that were preceded by a hidden element.\n\n // Of course, if either this element or the previous (hidden) element is also\n // the first element, there's nothing to worry about.\n if (index < 2) {\n return index;\n }\n\n // That aside, the possible cases are represented below.\n //\n // **** = fully hidden\n // A*B* = mix of partially visible and/or hidden pages\n // CDEF = fully visible\n //\n // (1) Binary search could have returned A, in which case we can stop.\n // (2) Binary search could also have returned B, in which case we need to\n // check the whole row.\n // (3) Binary search could also have returned C, in which case we need to\n // check the whole previous row.\n //\n // There's one other possibility:\n //\n // **** = fully hidden\n // ABCD = mix of fully and/or partially visible pages\n //\n // (4) Binary search could only have returned A.\n\n // Initially assume that we need to find the beginning of the current row\n // (case 1, 2, or 4), which means finding a page that is above the current\n // page's top. If the found page is partially visible, we're definitely not in\n // case 3, and this assumption is correct.\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n // The found page is fully visible, so we're actually either in case 3 or 4,\n // and unfortunately we can't tell the difference between them without\n // scanning the entire previous row, so we just conservatively assume that\n // we do need to backtrack to that row. In both cases, the previous page is\n // in the previous row, so use its top instead.\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n // Now we backtrack to the first page that still has its bottom below\n // `pageTop`, which is the top of a page in the first visible row (unless\n // we're in case 4, in which case it's the row before that).\n // `index` is found by binary search, so the page at `index - 1` is\n // invisible and we can start looking for potentially visible pages from\n // `index - 2`. (However, if this loop terminates on its first iteration,\n // which is the case when pages are stacked vertically, `index` should remain\n // unchanged, so we use a distinct loop variable.)\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n // We have reached the previous row, so stop now.\n // This loop is expected to terminate relatively quickly because the\n // number of pages per row is expected to be small.\n break;\n }\n index = i;\n }\n return index;\n}\n\n/**\n * @typedef {Object} GetVisibleElementsParameters\n * @property {HTMLElement} scrollEl - A container that can possibly scroll.\n * @property {Array} views - Objects with a `div` property that contains an\n * HTMLElement, which should all be descendants of `scrollEl` satisfying the\n * relevant layout assumptions.\n * @property {boolean} sortByVisibility - If `true`, the returned elements are\n * sorted in descending order of the percent of their padding box that is\n * visible. The default value is `false`.\n * @property {boolean} horizontal - If `true`, the elements are assumed to be\n * laid out horizontally instead of vertically. The default value is `false`.\n * @property {boolean} rtl - If `true`, the `scrollEl` container is assumed to\n * be in right-to-left mode. The default value is `false`.\n */\n\n/**\n * Generic helper to find out what elements are visible within a scroll pane.\n *\n * Well, pretty generic. There are some assumptions placed on the elements\n * referenced by `views`:\n * - If `horizontal`, no left of any earlier element is to the right of the\n * left of any later element.\n * - Otherwise, `views` can be split into contiguous rows where, within a row,\n * no top of any element is below the bottom of any other element, and\n * between rows, no bottom of any element in an earlier row is below the\n * top of any element in a later row.\n *\n * (Here, top, left, etc. all refer to the padding edge of the element in\n * question. For pages, that ends up being equivalent to the bounding box of the\n * rendering canvas. Earlier and later refer to index in `views`, not page\n * layout.)\n *\n * @param {GetVisibleElementsParameters}\n * @returns {Object} `{ first, last, views: [{ id, x, y, view, percent }] }`\n */\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false,\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n // Throughout this \"generic\" function, comments will assume we're working with\n // PDF document pages, which is the most important and complex case. In this\n // case, the visible elements we're actually interested is the page canvas,\n // which is contained in a wrapper which adds no padding/border/margin, which\n // is itself contained in `view.div` which adds no padding (but does add a\n // border). So, as specified in this function's doc comment, this function\n // does all of its work on the padding edge of the provided views, starting at\n // offsetLeft/Top (which includes margin) and adding clientLeft/Top (which is\n // the border). Adding clientWidth/Height gets us the bottom-right corner of\n // the padding edge.\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom =\n element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(\n views,\n horizontal\n ? isElementNextAfterViewHorizontally\n : isElementBottomAfterViewTop\n );\n\n // Please note the return value of the `binarySearchFirstItem` function when\n // no valid element is found (hence the `firstVisibleElementInd` check below).\n if (\n firstVisibleElementInd > 0 &&\n firstVisibleElementInd < numViews &&\n !horizontal\n ) {\n // In wrapped scrolling (or vertical scrolling with spreads), with some page\n // sizes, isElementBottomAfterViewTop doesn't satisfy the binary search\n // condition: there can be pages with bottoms above the view top between\n // pages with bottoms below. This function detects and corrects that error;\n // see it for more comments.\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(\n firstVisibleElementInd,\n views,\n top\n );\n }\n\n // lastEdge acts as a cutoff for us to stop looping, because we know all\n // subsequent pages will be hidden.\n //\n // When using wrapped scrolling or vertical scrolling with spreads, we can't\n // simply stop the first time we reach a page below the bottom of the view;\n // the tops of subsequent pages on the same row could still be visible. In\n // horizontal scrolling, we don't have that issue, so we can stop as soon as\n // we pass `right`, without needing the code below that handles the -1 case.\n let lastEdge = horizontal ? right : -1;\n\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n // As commented above, this is only needed in non-horizontal cases.\n // Setting lastEdge to the bottom of the first page that is partially\n // visible ensures that the next page fully below lastEdge is on the\n // next row, which has to be fully hidden along with all subsequent rows.\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (\n viewBottom <= top ||\n currentHeight >= bottom ||\n viewRight <= left ||\n currentWidth >= right\n ) {\n continue;\n }\n\n const hiddenHeight =\n Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth =\n Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = (fractionHeight * fractionWidth * 100) | 0;\n\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent,\n widthPercent: (fractionWidth * 100) | 0,\n });\n ids.add(view.id);\n }\n\n const first = visible[0],\n last = visible.at(-1);\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id; // ensure stability\n });\n }\n return { first, last, views: visible, ids };\n}\n\n/**\n * Event handler to suppress context menu.\n */\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n // All that is left-up oriented has to change the sign.\n delta = -delta;\n }\n return delta;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n let delta = normalizeWheelEventDirection(evt);\n\n const MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n const MOUSE_DOM_DELTA_LINE_MODE = 1;\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n\n // Converts delta to per-page units\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return (\n Number.isInteger(mode) &&\n Object.values(ScrollMode).includes(mode) &&\n mode !== ScrollMode.UNKNOWN\n );\n}\n\nfunction isValidSpreadMode(mode) {\n return (\n Number.isInteger(mode) &&\n Object.values(SpreadMode).includes(mode) &&\n mode !== SpreadMode.UNKNOWN\n );\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\n/**\n * Promise that is resolved when DOM window becomes visible.\n */\nconst animationStarted = new Promise(function (resolve) {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof window === \"undefined\"\n ) {\n // Prevent \"ReferenceError: window is not defined\" errors when running the\n // unit-tests in Node.js environments.\n setTimeout(resolve, 20);\n return;\n }\n window.requestAnimationFrame(resolve);\n});\n\nconst docStyle =\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof document === \"undefined\"\n ? null\n : document.documentElement.style;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nclass ProgressBar {\n #classList = null;\n\n #percent = 0;\n\n #visible = true;\n\n constructor(id) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n arguments.length > 1\n ) {\n throw new Error(\n \"ProgressBar no longer accepts any additional options, \" +\n \"please use CSS rules to modify its appearance instead.\"\n );\n }\n const bar = document.getElementById(id);\n this.#classList = bar.classList;\n }\n\n get percent() {\n return this.#percent;\n }\n\n set percent(val) {\n this.#percent = clamp(val, 0, 100);\n\n if (isNaN(val)) {\n this.#classList.add(\"indeterminate\");\n return;\n }\n this.#classList.remove(\"indeterminate\");\n\n docStyle.setProperty(\"--progressBar-percent\", `${this.#percent}%`);\n }\n\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n docStyle.setProperty(\"--progressBar-end-offset\", `${scrollbarWidth}px`);\n }\n }\n\n hide() {\n if (!this.#visible) {\n return;\n }\n this.#visible = false;\n this.#classList.add(\"hidden\");\n }\n\n show() {\n if (this.#visible) {\n return;\n }\n this.#visible = true;\n this.#classList.remove(\"hidden\");\n }\n}\n\n/**\n * Get the active or focused element in current DOM.\n *\n * Recursively search for the truly active or focused element in case there are\n * shadow DOMs.\n *\n * @returns {Element} the truly active or focused element.\n */\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused =\n curRoot.activeElement || curRoot.querySelector(\":focus\");\n\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused =\n curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n\n return curActiveOrFocused;\n}\n\n/**\n * Converts API PageLayout values to the format used by `BaseViewer`.\n * NOTE: This is supported to the extent that the viewer implements the\n * necessary Scroll/Spread modes (since SinglePage, TwoPageLeft,\n * and TwoPageRight all suggests using non-continuous scrolling).\n * @param {string} mode - The API PageLayout value.\n * @returns {Object}\n */\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n case \"OneColumn\":\n break;\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n /* falls through */\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n /* falls through */\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n return { scrollMode, spreadMode };\n}\n\n/**\n * Converts API PageMode values to the format used by `PDFSidebar`.\n * NOTE: There's also a \"FullScreen\" parameter which is not possible to support,\n * since the Fullscreen API used in browsers requires that entering\n * fullscreen mode only occurs as a result of a user-initiated event.\n * @param {string} mode - The API PageMode value.\n * @returns {number} A value from {SidebarView}.\n */\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n return SidebarView.NONE; // Default value.\n}\n\nexport {\n animationStarted,\n apiPageLayoutToViewerModes,\n apiPageModeToSidebarView,\n approximateFraction,\n AutoPrintRegExp,\n backtrackBeforeAllVisibleElements, // only exported for testing\n binarySearchFirstItem,\n DEFAULT_SCALE,\n DEFAULT_SCALE_DELTA,\n DEFAULT_SCALE_VALUE,\n docStyle,\n getActiveOrFocusedElement,\n getPageSizeInches,\n getVisibleElements,\n isPortraitOrientation,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n MAX_AUTO_SCALE,\n MAX_SCALE,\n MIN_SCALE,\n noContextMenuHandler,\n normalizeWheelEventDelta,\n normalizeWheelEventDirection,\n OutputScale,\n parseQueryString,\n PresentationModeState,\n ProgressBar,\n removeNullCharacters,\n RendererType,\n RenderingStates,\n roundToDivide,\n SCROLLBAR_PADDING,\n scrollIntoView,\n ScrollMode,\n SidebarView,\n SpreadMode,\n TextLayerMode,\n UNKNOWN_SCALE,\n VERTICAL_PADDING,\n watchScroll,\n};\n","/* Copyright 2021 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n\nconst PDF_ROLE_TO_HTML_ROLE = {\n // Document level structure types\n Document: null, // There's a \"document\" role, but it doesn't make sense here.\n DocumentFragment: null,\n // Grouping level structure types\n Part: \"group\",\n Sect: \"group\", // XXX: There's a \"section\" role, but it's abstract.\n Div: \"group\",\n Aside: \"note\",\n NonStruct: \"none\",\n // Block level structure types\n P: null,\n // H,\n H: \"heading\",\n Title: null,\n FENote: \"note\",\n // Sub-block level structure type\n Sub: \"group\",\n // General inline level structure types\n Lbl: null,\n Span: null,\n Em: null,\n Strong: null,\n Link: \"link\",\n Annot: \"note\",\n Form: \"form\",\n // Ruby and Warichu structure types\n Ruby: null,\n RB: null,\n RT: null,\n RP: null,\n Warichu: null,\n WT: null,\n WP: null,\n // List standard structure types\n L: \"list\",\n LI: \"listitem\",\n LBody: null,\n // Table standard structure types\n Table: \"table\",\n TR: \"row\",\n TH: \"columnheader\",\n TD: \"cell\",\n THead: \"columnheader\",\n TBody: null,\n TFoot: null,\n // Standard structure type Caption\n Caption: null,\n // Standard structure type Figure\n Figure: \"figure\",\n // Standard structure type Formula\n Formula: null,\n // standard structure type Artifact\n Artifact: null,\n};\n\nconst HEADING_PATTERN = /^H(\\d+)$/;\n\n/**\n * @typedef {Object} StructTreeLayerBuilderOptions\n * @property {PDFPageProxy} pdfPage\n */\n\nclass StructTreeLayerBuilder {\n /**\n * @param {StructTreeLayerBuilderOptions} options\n */\n constructor({ pdfPage }) {\n this.pdfPage = pdfPage;\n }\n\n render(structTree) {\n return this._walk(structTree);\n }\n\n _setAttributes(structElement, htmlElement) {\n if (structElement.alt !== undefined) {\n htmlElement.setAttribute(\"aria-label\", structElement.alt);\n }\n if (structElement.id !== undefined) {\n htmlElement.setAttribute(\"aria-owns\", structElement.id);\n }\n if (structElement.lang !== undefined) {\n htmlElement.setAttribute(\"lang\", structElement.lang);\n }\n }\n\n _walk(node) {\n if (!node) {\n return null;\n }\n\n const element = document.createElement(\"span\");\n if (\"role\" in node) {\n const { role } = node;\n const match = role.match(HEADING_PATTERN);\n if (match) {\n element.setAttribute(\"role\", \"heading\");\n element.setAttribute(\"aria-level\", match[1]);\n } else if (PDF_ROLE_TO_HTML_ROLE[role]) {\n element.setAttribute(\"role\", PDF_ROLE_TO_HTML_ROLE[role]);\n }\n }\n\n this._setAttributes(node, element);\n\n if (node.children) {\n if (node.children.length === 1 && \"id\" in node.children[0]) {\n // Often there is only one content node so just set the values on the\n // parent node to avoid creating an extra span.\n this._setAttributes(node.children[0], element);\n } else {\n for (const kid of node.children) {\n element.append(this._walk(kid));\n }\n }\n }\n return element;\n }\n}\n\nexport { StructTreeLayerBuilder };\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// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./event_utils\").EventBus} EventBus */\n/** @typedef {import(\"./text_highlighter\").TextHighlighter} TextHighlighter */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./text_accessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n\nimport { renderTextLayer } from \"pdfjs-lib\";\n\nconst EXPAND_DIVS_TIMEOUT = 300; // ms\n\n/**\n * @typedef {Object} TextLayerBuilderOptions\n * @property {HTMLDivElement} textLayerDiv - The text layer container.\n * @property {EventBus} eventBus - The application event bus.\n * @property {number} pageIndex - The page index.\n * @property {PageViewport} viewport - The viewport of the text layer.\n * @property {TextHighlighter} highlighter - Optional object that will handle\n * highlighting text from the find controller.\n * @property {boolean} enhanceTextSelection - Option to turn on improved\n * text selection.\n * @property {TextAccessibilityManager} [accessibilityManager]\n */\n\n/**\n * The text layer builder provides text selection functionality for the PDF.\n * It does this by creating overlay divs over the PDF's text. These divs\n * contain text that matches the PDF text they are overlaying.\n */\nclass TextLayerBuilder {\n constructor({\n textLayerDiv,\n eventBus,\n pageIndex,\n viewport,\n highlighter = null,\n enhanceTextSelection = false,\n accessibilityManager = null,\n }) {\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageNumber = pageIndex + 1;\n this.viewport = viewport;\n this.textDivs = [];\n this.textLayerRenderTask = null;\n this.highlighter = highlighter;\n this.enhanceTextSelection = enhanceTextSelection;\n this.accessibilityManager = accessibilityManager;\n\n this._bindMouse();\n }\n\n /**\n * @private\n */\n _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n const endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.append(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length,\n });\n }\n\n /**\n * Renders the text layer.\n *\n * @param {number} [timeout] - Wait for a specified amount of milliseconds\n * before rendering.\n */\n render(timeout = 0) {\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n this.cancel();\n\n this.textDivs.length = 0;\n this.highlighter?.setTextMapping(this.textDivs, this.textContentItemsStr);\n this.accessibilityManager?.setTextMapping(this.textDivs);\n\n const textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = renderTextLayer({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout,\n enhanceTextSelection: this.enhanceTextSelection,\n });\n this.textLayerRenderTask.promise.then(\n () => {\n this.textLayerDiv.append(textLayerFrag);\n this._finishRendering();\n this.highlighter?.enable();\n this.accessibilityManager?.enable();\n },\n function (reason) {\n // Cancelled or failed to render text layer; skipping errors.\n }\n );\n }\n\n /**\n * Cancel rendering of the text layer.\n */\n cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n this.highlighter?.disable();\n this.accessibilityManager?.disable();\n }\n\n setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n\n setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n\n /**\n * Improves text selection by adding an additional div where the mouse was\n * clicked. This reduces flickering of the content if the mouse is slowly\n * dragged up or down.\n *\n * @private\n */\n _bindMouse() {\n const div = this.textLayerDiv;\n let expandDivsTimer = null;\n\n div.addEventListener(\"mousedown\", evt => {\n if (this.enhanceTextSelection && this.textLayerRenderTask) {\n this.textLayerRenderTask.expandTextDivs(true);\n if (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) &&\n expandDivsTimer\n ) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n return;\n }\n\n const end = div.querySelector(\".endOfContent\");\n if (!end) {\n return;\n }\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n // On non-Firefox browsers, the selection will feel better if the height\n // of the `endOfContent` div is adjusted to start at mouse click\n // location. This avoids flickering when the selection moves up.\n // However it does not work when selection is started on empty space.\n let adjustTop = evt.target !== div;\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n adjustTop =\n adjustTop &&\n window\n .getComputedStyle(end)\n .getPropertyValue(\"-moz-user-select\") !== \"none\";\n }\n if (adjustTop) {\n const divBounds = div.getBoundingClientRect();\n const r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n }\n end.classList.add(\"active\");\n });\n\n div.addEventListener(\"mouseup\", () => {\n if (this.enhanceTextSelection && this.textLayerRenderTask) {\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n expandDivsTimer = setTimeout(() => {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.expandTextDivs(false);\n }\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n } else {\n this.textLayerRenderTask.expandTextDivs(false);\n }\n return;\n }\n\n const end = div.querySelector(\".endOfContent\");\n if (!end) {\n return;\n }\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n end.style.top = \"\";\n }\n end.classList.remove(\"active\");\n });\n }\n}\n\nexport { TextLayerBuilder };\n","/* Copyright 2021 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n\nimport { XfaLayer } from \"pdfjs-lib\";\n\n/**\n * @typedef {Object} XfaLayerBuilderOptions\n * @property {HTMLDivElement} pageDiv\n * @property {PDFPageProxy} pdfPage\n * @property {AnnotationStorage} [annotationStorage]\n * @property {IPDFLinkService} linkService\n * @property {Object} [xfaHtml]\n */\n\nclass XfaLayerBuilder {\n /**\n * @param {XfaLayerBuilderOptions} options\n */\n constructor({\n pageDiv,\n pdfPage,\n annotationStorage = null,\n linkService,\n xfaHtml = null,\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.annotationStorage = annotationStorage;\n this.linkService = linkService;\n this.xfaHtml = xfaHtml;\n\n this.div = null;\n this._cancelled = false;\n }\n\n /**\n * @param {PageViewport} viewport\n * @param {string} intent (default value is 'display')\n * @returns {Promise} A promise that is resolved when rendering\n * of the XFA layer is complete. The first rendering will return an object\n * with a `textDivs` property that can be used with the TextHighlighter.\n */\n render(viewport, intent = \"display\") {\n if (intent === \"print\") {\n const parameters = {\n viewport: viewport.clone({ dontFlip: true }),\n div: this.div,\n xfaHtml: this.xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent,\n };\n\n // Create an xfa layer div and render the form\n const div = document.createElement(\"div\");\n this.pageDiv.append(div);\n parameters.div = div;\n\n const result = XfaLayer.render(parameters);\n return Promise.resolve(result);\n }\n\n // intent === \"display\"\n return this.pdfPage\n .getXfa()\n .then(xfaHtml => {\n if (this._cancelled || !xfaHtml) {\n return { textDivs: [] };\n }\n\n const parameters = {\n viewport: viewport.clone({ dontFlip: true }),\n div: this.div,\n xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent,\n };\n\n if (this.div) {\n return XfaLayer.update(parameters);\n }\n // Create an xfa layer div and render the form\n this.div = document.createElement(\"div\");\n this.pageDiv.append(this.div);\n parameters.div = this.div;\n return XfaLayer.render(parameters);\n })\n .catch(error => {\n console.error(error);\n });\n }\n\n cancel() {\n this._cancelled = true;\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n}\n\nexport { XfaLayerBuilder };\n","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ScrollMode, SpreadMode } from \"./ui_utils.js\";\nimport { BaseViewer } from \"./base_viewer.js\";\n\nclass PDFViewer extends BaseViewer {}\n\nclass PDFSinglePageViewer extends BaseViewer {\n _resetView() {\n super._resetView();\n this._scrollMode = ScrollMode.PAGE;\n this._spreadMode = SpreadMode.NONE;\n }\n\n // eslint-disable-next-line accessor-pairs\n set scrollMode(mode) {}\n\n _updateScrollMode() {}\n\n // eslint-disable-next-line accessor-pairs\n set spreadMode(mode) {}\n\n _updateSpreadMode() {}\n}\n\nexport { PDFSinglePageViewer, PDFViewer };\n","/* Copyright 2014 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** @typedef {import(\"../src/display/api\").PDFDocumentProxy} PDFDocumentProxy */\n/** @typedef {import(\"../src/display/api\").PDFPageProxy} PDFPageProxy */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"../src/display/display_utils\").PageViewport} PageViewport */\n/** @typedef {import(\"./event_utils\").EventBus} EventBus */\n/** @typedef {import(\"./interfaces\").IDownloadManager} IDownloadManager */\n/** @typedef {import(\"./interfaces\").IL10n} IL10n */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFAnnotationLayerFactory} IPDFAnnotationLayerFactory */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFAnnotationEditorLayerFactory} IPDFAnnotationEditorLayerFactory */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFStructTreeLayerFactory} IPDFStructTreeLayerFactory */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./interfaces\").IPDFTextLayerFactory} IPDFTextLayerFactory */\n/** @typedef {import(\"./interfaces\").IPDFXfaLayerFactory} IPDFXfaLayerFactory */\n// eslint-disable-next-line max-len\n/** @typedef {import(\"./text_accessibility.js\").TextAccessibilityManager} TextAccessibilityManager */\n\nimport {\n AnnotationEditorType,\n AnnotationEditorUIManager,\n AnnotationMode,\n createPromiseCapability,\n PermissionFlag,\n PixelsPerInch,\n version,\n} from \"pdfjs-lib\";\nimport {\n DEFAULT_SCALE,\n DEFAULT_SCALE_DELTA,\n DEFAULT_SCALE_VALUE,\n docStyle,\n getVisibleElements,\n isPortraitOrientation,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n MAX_AUTO_SCALE,\n MAX_SCALE,\n MIN_SCALE,\n PresentationModeState,\n RendererType,\n RenderingStates,\n SCROLLBAR_PADDING,\n scrollIntoView,\n ScrollMode,\n SpreadMode,\n TextLayerMode,\n UNKNOWN_SCALE,\n VERTICAL_PADDING,\n watchScroll,\n} from \"./ui_utils.js\";\nimport { AnnotationEditorLayerBuilder } from \"./annotation_editor_layer_builder.js\";\nimport { AnnotationLayerBuilder } from \"./annotation_layer_builder.js\";\nimport { NullL10n } from \"./l10n_utils.js\";\nimport { PDFPageView } from \"./pdf_page_view.js\";\nimport { PDFRenderingQueue } from \"./pdf_rendering_queue.js\";\nimport { SimpleLinkService } from \"./pdf_link_service.js\";\nimport { StructTreeLayerBuilder } from \"./struct_tree_layer_builder.js\";\nimport { TextHighlighter } from \"./text_highlighter.js\";\nimport { TextLayerBuilder } from \"./text_layer_builder.js\";\nimport { XfaLayerBuilder } from \"./xfa_layer_builder.js\";\n\nconst DEFAULT_CACHE_SIZE = 10;\nconst ENABLE_PERMISSIONS_CLASS = \"enablePermissions\";\n\nconst PagesCountLimit = {\n FORCE_SCROLL_MODE_PAGE: 15000,\n FORCE_LAZY_PAGE_INIT: 7500,\n PAUSE_EAGER_PAGE_INIT: 250,\n};\n\nfunction isValidAnnotationEditorMode(mode) {\n return (\n Object.values(AnnotationEditorType).includes(mode) &&\n mode !== AnnotationEditorType.DISABLE\n );\n}\n\n/**\n * @typedef {Object} PDFViewerOptions\n * @property {HTMLDivElement} container - The container for the viewer element.\n * @property {HTMLDivElement} [viewer] - The viewer element.\n * @property {EventBus} eventBus - The application event bus.\n * @property {IPDFLinkService} linkService - The navigation/linking service.\n * @property {IDownloadManager} [downloadManager] - The download manager\n * component.\n * @property {PDFFindController} [findController] - The find controller\n * component.\n * @property {PDFScriptingManager} [scriptingManager] - The scripting manager\n * component.\n * @property {PDFRenderingQueue} [renderingQueue] - The rendering queue object.\n * @property {boolean} [removePageBorders] - Removes the border shadow around\n * the pages. The default value is `false`.\n * @property {number} [textLayerMode] - Controls if the text layer used for\n * selection and searching is created, and if the improved text selection\n * behaviour is enabled. The constants from {TextLayerMode} should be used.\n * The default value is `TextLayerMode.ENABLE`.\n * @property {number} [annotationMode] - Controls if the annotation layer is\n * created, and if interactive form elements or `AnnotationStorage`-data are\n * being rendered. The constants from {@link AnnotationMode} should be used;\n * see also {@link RenderParameters} and {@link GetOperatorListParameters}.\n * The default value is `AnnotationMode.ENABLE_FORMS`.\n * @property {number} [annotationEditorMode] - Enables the creation and editing\n * of new Annotations. The constants from {@link AnnotationEditorType} should\n * be used. The default value is `AnnotationEditorType.DISABLE`.\n * @property {string} [imageResourcesPath] - Path for image resources, mainly\n * mainly for annotation icons. Include trailing slash.\n * @property {boolean} [enablePrintAutoRotate] - Enables automatic rotation of\n * landscape pages upon printing. The default is `false`.\n * @property {boolean} [useOnlyCssZoom] - Enables CSS only zooming. The default\n * value is `false`.\n * @property {number} [maxCanvasPixels] - The maximum supported canvas size in\n * total pixels, i.e. width * height. Use -1 for no limit. The default value\n * is 4096 * 4096 (16 mega-pixels).\n * @property {IL10n} l10n - Localization service.\n * @property {boolean} [enablePermissions] - Enables PDF document permissions,\n * when they exist. The default value is `false`.\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 */\n\nclass PDFPageViewBuffer {\n // Here we rely on the fact that `Set`s preserve the insertion order.\n #buf = new Set();\n\n #size = 0;\n\n constructor(size) {\n this.#size = size;\n }\n\n push(view) {\n const buf = this.#buf;\n if (buf.has(view)) {\n buf.delete(view); // Move the view to the \"end\" of the buffer.\n }\n buf.add(view);\n\n if (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n\n /**\n * After calling resize, the size of the buffer will be `newSize`.\n * The optional parameter `idsToKeep` is, if present, a Set of page-ids to\n * push to the back of the buffer, delaying their destruction. The size of\n * `idsToKeep` has no impact on the final size of the buffer; if `idsToKeep`\n * is larger than `newSize`, some of those pages will be destroyed anyway.\n */\n resize(newSize, idsToKeep = null) {\n this.#size = newSize;\n\n const buf = this.#buf;\n if (idsToKeep) {\n const ii = buf.size;\n let i = 1;\n for (const view of buf) {\n if (idsToKeep.has(view.id)) {\n buf.delete(view); // Move the view to the \"end\" of the buffer.\n buf.add(view);\n }\n if (++i > ii) {\n break;\n }\n }\n }\n\n while (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n\n has(view) {\n return this.#buf.has(view);\n }\n\n [Symbol.iterator]() {\n return this.#buf.keys();\n }\n\n #destroyFirstView() {\n const firstView = this.#buf.keys().next().value;\n\n firstView?.destroy();\n this.#buf.delete(firstView);\n }\n}\n\n/**\n * Simple viewer control to display PDF content/pages.\n *\n * @implements {IPDFAnnotationLayerFactory}\n * @implements {IPDFAnnotationEditorLayerFactory}\n * @implements {IPDFStructTreeLayerFactory}\n * @implements {IPDFTextLayerFactory}\n * @implements {IPDFXfaLayerFactory}\n */\nclass BaseViewer {\n #buffer = null;\n\n #annotationEditorMode = AnnotationEditorType.DISABLE;\n\n #annotationEditorUIManager = null;\n\n #annotationMode = AnnotationMode.ENABLE_FORMS;\n\n #enablePermissions = false;\n\n #previousContainerHeight = 0;\n\n #scrollModePageState = null;\n\n #onVisibilityChange = null;\n\n /**\n * @param {PDFViewerOptions} options\n */\n constructor(options) {\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n const viewerVersion =\n typeof PDFJSDev !== \"undefined\" ? PDFJSDev.eval(\"BUNDLE_VERSION\") : null;\n if (version !== viewerVersion) {\n throw new Error(\n `The API version \"${version}\" does not match the Viewer version \"${viewerVersion}\".`\n );\n }\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || GENERIC\")\n ) {\n if (\n !(\n this.container?.tagName.toUpperCase() === \"DIV\" &&\n this.viewer?.tagName.toUpperCase() === \"DIV\"\n )\n ) {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n\n if (\n this.container.offsetParent &&\n getComputedStyle(this.container).position !== \"absolute\"\n ) {\n throw new Error(\"The `container` must be absolutely positioned.\");\n }\n }\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this._scriptingManager = options.scriptingManager || null;\n this.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = options.textLayerMode ?? TextLayerMode.ENABLE;\n this.#annotationMode =\n options.annotationMode ?? AnnotationMode.ENABLE_FORMS;\n this.#annotationEditorMode =\n options.annotationEditorMode ?? AnnotationEditorType.DISABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || GENERIC\")\n ) {\n this.renderer = options.renderer || RendererType.CANVAS;\n }\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || NullL10n;\n this.#enablePermissions = options.enablePermissions || false;\n this.pageColors = options.pageColors || null;\n\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n if (\n this.pageColors &&\n !(\n CSS.supports(\"color\", this.pageColors.background) &&\n CSS.supports(\"color\", this.pageColors.foreground)\n )\n ) {\n if (this.pageColors.background || this.pageColors.foreground) {\n console.warn(\n \"BaseViewer: Ignoring `pageColors`-option, since the browser doesn't support the values used.\"\n );\n }\n this.pageColors = null;\n }\n }\n\n this.defaultRenderingQueue = !options.renderingQueue;\n if (this.defaultRenderingQueue) {\n // Custom rendering queue is not specified, using default one\n this.renderingQueue = new PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this.scroll = watchScroll(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n this.updateContainerHeightCss();\n }\n\n get pagesCount() {\n return this._pages.length;\n }\n\n getPageView(index) {\n return this._pages[index];\n }\n\n /**\n * @type {boolean} - True if all {PDFPageView} objects are initialized.\n */\n get pageViewsReady() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n // Prevent printing errors when 'disableAutoFetch' is set, by ensuring\n // that *all* pages have in fact been completely loaded.\n return this._pages.every(function (pageView) {\n return pageView?.pdfPage;\n });\n }\n\n /**\n * @type {boolean}\n */\n get renderForms() {\n return this.#annotationMode === AnnotationMode.ENABLE_FORMS;\n }\n\n /**\n * @type {boolean}\n */\n get enableScripting() {\n return !!this._scriptingManager;\n }\n\n /**\n * @type {number}\n */\n get currentPageNumber() {\n return this._currentPageNumber;\n }\n\n /**\n * @param {number} val - The page number.\n */\n set currentPageNumber(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n // The intent can be to just reset a scroll position and/or scale.\n if (!this._setCurrentPageNumber(val, /* resetCurrentPageView = */ true)) {\n console.error(`currentPageNumber: \"${val}\" is not a valid page.`);\n }\n }\n\n /**\n * @returns {boolean} Whether the pageNumber is valid (within bounds).\n * @private\n */\n _setCurrentPageNumber(val, resetCurrentPageView = false) {\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n const previous = this._currentPageNumber;\n this._currentPageNumber = val;\n\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels?.[val - 1] ?? null,\n previous,\n });\n\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n\n /**\n * @type {string|null} Returns the current page label, or `null` if no page\n * labels exist.\n */\n get currentPageLabel() {\n return this._pageLabels?.[this._currentPageNumber - 1] ?? null;\n }\n\n /**\n * @param {string} val - The page label.\n */\n set currentPageLabel(val) {\n if (!this.pdfDocument) {\n return;\n }\n let page = val | 0; // Fallback page number.\n if (this._pageLabels) {\n const i = this._pageLabels.indexOf(val);\n if (i >= 0) {\n page = i + 1;\n }\n }\n // The intent can be to just reset a scroll position and/or scale.\n if (!this._setCurrentPageNumber(page, /* resetCurrentPageView = */ true)) {\n console.error(`currentPageLabel: \"${val}\" is not a valid page.`);\n }\n }\n\n /**\n * @type {number}\n */\n get currentScale() {\n return this._currentScale !== UNKNOWN_SCALE\n ? this._currentScale\n : DEFAULT_SCALE;\n }\n\n /**\n * @param {number} val - Scale of the pages in percents.\n */\n set currentScale(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n this._setScale(val, false);\n }\n\n /**\n * @type {string}\n */\n get currentScaleValue() {\n return this._currentScaleValue;\n }\n\n /**\n * @param val - The scale of the pages (in percent or predefined value).\n */\n set currentScaleValue(val) {\n if (!this.pdfDocument) {\n return;\n }\n this._setScale(val, false);\n }\n\n /**\n * @type {number}\n */\n get pagesRotation() {\n return this._pagesRotation;\n }\n\n /**\n * @param {number} rotation - The rotation of the pages (0, 90, 180, 270).\n */\n set pagesRotation(rotation) {\n if (!isValidRotation(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n // Normalize the rotation, by clamping it to the [0, 360) range.\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n if (this._pagesRotation === rotation) {\n return; // The rotation didn't change.\n }\n this._pagesRotation = rotation;\n\n const pageNumber = this._currentPageNumber;\n\n const updateArgs = { rotation };\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n // Prevent errors in case the rotation changes *before* the scale has been\n // set to a non-default value.\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber,\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n\n get firstPagePromise() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n\n get onePageRendered() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n\n get pagesPromise() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n\n /**\n * Currently only *some* permissions are supported.\n * @returns {Object}\n */\n #initializePermissions(permissions) {\n const params = {\n annotationEditorMode: this.#annotationEditorMode,\n annotationMode: this.#annotationMode,\n textLayerMode: this.textLayerMode,\n };\n if (!permissions) {\n return params;\n }\n\n if (!permissions.includes(PermissionFlag.COPY)) {\n this.viewer.classList.add(ENABLE_PERMISSIONS_CLASS);\n }\n\n if (!permissions.includes(PermissionFlag.MODIFY_CONTENTS)) {\n params.annotationEditorMode = AnnotationEditorType.DISABLE;\n }\n\n if (\n !permissions.includes(PermissionFlag.MODIFY_ANNOTATIONS) &&\n !permissions.includes(PermissionFlag.FILL_INTERACTIVE_FORMS) &&\n this.#annotationMode === AnnotationMode.ENABLE_FORMS\n ) {\n params.annotationMode = AnnotationMode.ENABLE;\n }\n\n return params;\n }\n\n #onePageRenderedOrForceFetch() {\n // Unless the viewer *and* its pages are visible, rendering won't start and\n // `this._onePageRenderedCapability` thus won't be resolved.\n // To ensure that automatic printing, on document load, still works even in\n // those cases we force-allow fetching of all pages when:\n // - The current window/tab is inactive, which will prevent rendering since\n // `requestAnimationFrame` is being used; fixes bug 1746213.\n // - The viewer is hidden in the DOM, e.g. in a `display: none`