From: Vincent Vanwaelscappel Date: Wed, 25 May 2022 10:58:16 +0000 (+0200) Subject: wip #5295 @2 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=e7f1e70de530f8123a6cf2b2da388c3fd60ed8f0;p=fluidbook-toolbox.git wip #5295 @2 --- diff --git a/app/Models/ELearningMedia.php b/app/Models/ELearningMedia.php index b95195809..f6e66386f 100644 --- a/app/Models/ELearningMedia.php +++ b/app/Models/ELearningMedia.php @@ -102,7 +102,7 @@ class ELearningMedia extends ToolboxModel $vdir->copyDirectory(resource_path('elearningmedia/dist/css'), 'css'); $vdir->copyDirectory(resource_path('elearningmedia/dist/js'), 'js'); if ($type === 'pdf') { - $vdir->copyDirectory(resource_path('pdfjs'), 'pdfjs'); + $vdir->copyDirectory(resource_path('pdfjs-legacy-min'), 'pdfjs'); $css = file_get_contents(resource_path('pdfjs/web/viewer.css')); $css .= 'body{--sidebar-width:400px;}'; $css .= '.article #sidebarContainer, .article .toolbar {display:none !important;}'; diff --git a/resources/minify-pdfjs b/resources/minify-pdfjs new file mode 100644 index 000000000..c38b16a6f --- /dev/null +++ b/resources/minify-pdfjs @@ -0,0 +1,7 @@ +#!/bin/sh +rm -rf pdfjs-min +cp -r pdfjs pdfjs-min +./terser_path pdfjs-min +rm -rf pdfjs-legacy-min +cp -r pdfjs-legacy pdfjs-legacy-min +./terser_path pdfjs-legacy-min diff --git a/resources/pdfjs-legacy/LICENSE b/resources/pdfjs-legacy/LICENSE new file mode 100644 index 000000000..f433b1a53 --- /dev/null +++ b/resources/pdfjs-legacy/LICENSE @@ -0,0 +1,177 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/resources/pdfjs-legacy/build/pdf.js b/resources/pdfjs-legacy/build/pdf.js new file mode 100644 index 000000000..2553f88f1 --- /dev/null +++ b/resources/pdfjs-legacy/build/pdf.js @@ -0,0 +1,25361 @@ +/** + * @licstart The following is the entire license notice for the + * JavaScript code in this page + * + * Copyright 2022 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @licend The above is the entire license notice for the + * JavaScript code in this page + */ + +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("pdfjs-dist/build/pdf", [], factory); + else if(typeof exports === 'object') + exports["pdfjs-dist/build/pdf"] = factory(); + else + root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory(); +})(this, () => { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.UNSUPPORTED_FEATURES = exports.TextRenderingMode = exports.StreamType = exports.RenderingIntentFlag = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0; +exports.arrayByteLength = arrayByteLength; +exports.arraysToBytes = arraysToBytes; +exports.assert = assert; +exports.bytesToString = bytesToString; +exports.createPromiseCapability = createPromiseCapability; +exports.createValidAbsoluteUrl = createValidAbsoluteUrl; +exports.escapeString = escapeString; +exports.getModificationDate = getModificationDate; +exports.getVerbosityLevel = getVerbosityLevel; +exports.info = info; +exports.isArrayBuffer = isArrayBuffer; +exports.isArrayEqual = isArrayEqual; +exports.isAscii = isAscii; +exports.objectFromMap = objectFromMap; +exports.objectSize = objectSize; +exports.setVerbosityLevel = setVerbosityLevel; +exports.shadow = shadow; +exports.string32 = string32; +exports.stringToBytes = stringToBytes; +exports.stringToPDFString = stringToPDFString; +exports.stringToUTF16BEString = stringToUTF16BEString; +exports.stringToUTF8String = stringToUTF8String; +exports.unreachable = unreachable; +exports.utf8StringToString = utf8StringToString; +exports.warn = warn; + +__w_pdfjs_require__(2); + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0]; +exports.IDENTITY_MATRIX = IDENTITY_MATRIX; +var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0]; +exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX; +var RenderingIntentFlag = { + ANY: 0x01, + DISPLAY: 0x02, + PRINT: 0x04, + ANNOTATIONS_FORMS: 0x10, + ANNOTATIONS_STORAGE: 0x20, + ANNOTATIONS_DISABLE: 0x40, + OPLIST: 0x100 +}; +exports.RenderingIntentFlag = RenderingIntentFlag; +var AnnotationMode = { + DISABLE: 0, + ENABLE: 1, + ENABLE_FORMS: 2, + ENABLE_STORAGE: 3 +}; +exports.AnnotationMode = AnnotationMode; +var PermissionFlag = { + PRINT: 0x04, + MODIFY_CONTENTS: 0x08, + COPY: 0x10, + MODIFY_ANNOTATIONS: 0x20, + FILL_INTERACTIVE_FORMS: 0x100, + COPY_FOR_ACCESSIBILITY: 0x200, + ASSEMBLE: 0x400, + PRINT_HIGH_QUALITY: 0x800 +}; +exports.PermissionFlag = PermissionFlag; +var TextRenderingMode = { + FILL: 0, + STROKE: 1, + FILL_STROKE: 2, + INVISIBLE: 3, + FILL_ADD_TO_PATH: 4, + STROKE_ADD_TO_PATH: 5, + FILL_STROKE_ADD_TO_PATH: 6, + ADD_TO_PATH: 7, + FILL_STROKE_MASK: 3, + ADD_TO_PATH_FLAG: 4 +}; +exports.TextRenderingMode = TextRenderingMode; +var ImageKind = { + GRAYSCALE_1BPP: 1, + RGB_24BPP: 2, + RGBA_32BPP: 3 +}; +exports.ImageKind = ImageKind; +var AnnotationType = { + TEXT: 1, + LINK: 2, + FREETEXT: 3, + LINE: 4, + SQUARE: 5, + CIRCLE: 6, + POLYGON: 7, + POLYLINE: 8, + HIGHLIGHT: 9, + UNDERLINE: 10, + SQUIGGLY: 11, + STRIKEOUT: 12, + STAMP: 13, + CARET: 14, + INK: 15, + POPUP: 16, + FILEATTACHMENT: 17, + SOUND: 18, + MOVIE: 19, + WIDGET: 20, + SCREEN: 21, + PRINTERMARK: 22, + TRAPNET: 23, + WATERMARK: 24, + THREED: 25, + REDACT: 26 +}; +exports.AnnotationType = AnnotationType; +var AnnotationStateModelType = { + MARKED: "Marked", + REVIEW: "Review" +}; +exports.AnnotationStateModelType = AnnotationStateModelType; +var AnnotationMarkedState = { + MARKED: "Marked", + UNMARKED: "Unmarked" +}; +exports.AnnotationMarkedState = AnnotationMarkedState; +var AnnotationReviewState = { + ACCEPTED: "Accepted", + REJECTED: "Rejected", + CANCELLED: "Cancelled", + COMPLETED: "Completed", + NONE: "None" +}; +exports.AnnotationReviewState = AnnotationReviewState; +var AnnotationReplyType = { + GROUP: "Group", + REPLY: "R" +}; +exports.AnnotationReplyType = AnnotationReplyType; +var AnnotationFlag = { + INVISIBLE: 0x01, + HIDDEN: 0x02, + PRINT: 0x04, + NOZOOM: 0x08, + NOROTATE: 0x10, + NOVIEW: 0x20, + READONLY: 0x40, + LOCKED: 0x80, + TOGGLENOVIEW: 0x100, + LOCKEDCONTENTS: 0x200 +}; +exports.AnnotationFlag = AnnotationFlag; +var AnnotationFieldFlag = { + READONLY: 0x0000001, + REQUIRED: 0x0000002, + NOEXPORT: 0x0000004, + MULTILINE: 0x0001000, + PASSWORD: 0x0002000, + NOTOGGLETOOFF: 0x0004000, + RADIO: 0x0008000, + PUSHBUTTON: 0x0010000, + COMBO: 0x0020000, + EDIT: 0x0040000, + SORT: 0x0080000, + FILESELECT: 0x0100000, + MULTISELECT: 0x0200000, + DONOTSPELLCHECK: 0x0400000, + DONOTSCROLL: 0x0800000, + COMB: 0x1000000, + RICHTEXT: 0x2000000, + RADIOSINUNISON: 0x2000000, + COMMITONSELCHANGE: 0x4000000 +}; +exports.AnnotationFieldFlag = AnnotationFieldFlag; +var AnnotationBorderStyleType = { + SOLID: 1, + DASHED: 2, + BEVELED: 3, + INSET: 4, + UNDERLINE: 5 +}; +exports.AnnotationBorderStyleType = AnnotationBorderStyleType; +var AnnotationActionEventType = { + E: "Mouse Enter", + X: "Mouse Exit", + D: "Mouse Down", + U: "Mouse Up", + Fo: "Focus", + Bl: "Blur", + PO: "PageOpen", + PC: "PageClose", + PV: "PageVisible", + PI: "PageInvisible", + K: "Keystroke", + F: "Format", + V: "Validate", + C: "Calculate" +}; +exports.AnnotationActionEventType = AnnotationActionEventType; +var DocumentActionEventType = { + WC: "WillClose", + WS: "WillSave", + DS: "DidSave", + WP: "WillPrint", + DP: "DidPrint" +}; +exports.DocumentActionEventType = DocumentActionEventType; +var PageActionEventType = { + O: "PageOpen", + C: "PageClose" +}; +exports.PageActionEventType = PageActionEventType; +var StreamType = { + UNKNOWN: "UNKNOWN", + FLATE: "FLATE", + LZW: "LZW", + DCT: "DCT", + JPX: "JPX", + JBIG: "JBIG", + A85: "A85", + AHX: "AHX", + CCF: "CCF", + RLX: "RLX" +}; +exports.StreamType = StreamType; +var FontType = { + UNKNOWN: "UNKNOWN", + TYPE1: "TYPE1", + TYPE1STANDARD: "TYPE1STANDARD", + TYPE1C: "TYPE1C", + CIDFONTTYPE0: "CIDFONTTYPE0", + CIDFONTTYPE0C: "CIDFONTTYPE0C", + TRUETYPE: "TRUETYPE", + CIDFONTTYPE2: "CIDFONTTYPE2", + TYPE3: "TYPE3", + OPENTYPE: "OPENTYPE", + TYPE0: "TYPE0", + MMTYPE1: "MMTYPE1" +}; +exports.FontType = FontType; +var VerbosityLevel = { + ERRORS: 0, + WARNINGS: 1, + INFOS: 5 +}; +exports.VerbosityLevel = VerbosityLevel; +var CMapCompressionType = { + NONE: 0, + BINARY: 1, + STREAM: 2 +}; +exports.CMapCompressionType = CMapCompressionType; +var OPS = { + dependency: 1, + setLineWidth: 2, + setLineCap: 3, + setLineJoin: 4, + setMiterLimit: 5, + setDash: 6, + setRenderingIntent: 7, + setFlatness: 8, + setGState: 9, + save: 10, + restore: 11, + transform: 12, + moveTo: 13, + lineTo: 14, + curveTo: 15, + curveTo2: 16, + curveTo3: 17, + closePath: 18, + rectangle: 19, + stroke: 20, + closeStroke: 21, + fill: 22, + eoFill: 23, + fillStroke: 24, + eoFillStroke: 25, + closeFillStroke: 26, + closeEOFillStroke: 27, + endPath: 28, + clip: 29, + eoClip: 30, + beginText: 31, + endText: 32, + setCharSpacing: 33, + setWordSpacing: 34, + setHScale: 35, + setLeading: 36, + setFont: 37, + setTextRenderingMode: 38, + setTextRise: 39, + moveText: 40, + setLeadingMoveText: 41, + setTextMatrix: 42, + nextLine: 43, + showText: 44, + showSpacedText: 45, + nextLineShowText: 46, + nextLineSetSpacingShowText: 47, + setCharWidth: 48, + setCharWidthAndBounds: 49, + setStrokeColorSpace: 50, + setFillColorSpace: 51, + setStrokeColor: 52, + setStrokeColorN: 53, + setFillColor: 54, + setFillColorN: 55, + setStrokeGray: 56, + setFillGray: 57, + setStrokeRGBColor: 58, + setFillRGBColor: 59, + setStrokeCMYKColor: 60, + setFillCMYKColor: 61, + shadingFill: 62, + beginInlineImage: 63, + beginImageData: 64, + endInlineImage: 65, + paintXObject: 66, + markPoint: 67, + markPointProps: 68, + beginMarkedContent: 69, + beginMarkedContentProps: 70, + endMarkedContent: 71, + beginCompat: 72, + endCompat: 73, + paintFormXObjectBegin: 74, + paintFormXObjectEnd: 75, + beginGroup: 76, + endGroup: 77, + beginAnnotations: 78, + endAnnotations: 79, + beginAnnotation: 80, + endAnnotation: 81, + paintJpegXObject: 82, + paintImageMaskXObject: 83, + paintImageMaskXObjectGroup: 84, + paintImageXObject: 85, + paintInlineImageXObject: 86, + paintInlineImageXObjectGroup: 87, + paintImageXObjectRepeat: 88, + paintImageMaskXObjectRepeat: 89, + paintSolidColorImageMask: 90, + constructPath: 91 +}; +exports.OPS = OPS; +var UNSUPPORTED_FEATURES = { + unknown: "unknown", + forms: "forms", + javaScript: "javaScript", + signatures: "signatures", + smask: "smask", + shadingPattern: "shadingPattern", + font: "font", + errorTilingPattern: "errorTilingPattern", + errorExtGState: "errorExtGState", + errorXObject: "errorXObject", + errorFontLoadType3: "errorFontLoadType3", + errorFontState: "errorFontState", + errorFontMissing: "errorFontMissing", + errorFontTranslate: "errorFontTranslate", + errorColorSpace: "errorColorSpace", + errorOperatorList: "errorOperatorList", + errorFontToUnicode: "errorFontToUnicode", + errorFontLoadNative: "errorFontLoadNative", + errorFontBuildPath: "errorFontBuildPath", + errorFontGetPath: "errorFontGetPath", + errorMarkedContent: "errorMarkedContent", + errorContentSubStream: "errorContentSubStream" +}; +exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES; +var PasswordResponses = { + NEED_PASSWORD: 1, + INCORRECT_PASSWORD: 2 +}; +exports.PasswordResponses = PasswordResponses; +var verbosity = VerbosityLevel.WARNINGS; + +function setVerbosityLevel(level) { + if (Number.isInteger(level)) { + verbosity = level; + } +} + +function getVerbosityLevel() { + return verbosity; +} + +function info(msg) { + if (verbosity >= VerbosityLevel.INFOS) { + console.log("Info: ".concat(msg)); + } +} + +function warn(msg) { + if (verbosity >= VerbosityLevel.WARNINGS) { + console.log("Warning: ".concat(msg)); + } +} + +function unreachable(msg) { + throw new Error(msg); +} + +function assert(cond, msg) { + if (!cond) { + unreachable(msg); + } +} + +function _isValidProtocol(url) { + if (!url) { + return false; + } + + switch (url.protocol) { + case "http:": + case "https:": + case "ftp:": + case "mailto:": + case "tel:": + return true; + + default: + return false; + } +} + +function createValidAbsoluteUrl(url) { + var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + if (!url) { + return null; + } + + try { + if (options && typeof url === "string") { + if (options.addDefaultProtocol && url.startsWith("www.")) { + var dots = url.match(/\./g); + + if (dots && dots.length >= 2) { + url = "http://".concat(url); + } + } + + if (options.tryConvertEncoding) { + try { + url = stringToUTF8String(url); + } catch (ex) {} + } + } + + var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url); + + if (_isValidProtocol(absoluteUrl)) { + return absoluteUrl; + } + } catch (ex) {} + + return null; +} + +function shadow(obj, prop, value) { + Object.defineProperty(obj, prop, { + value: value, + enumerable: true, + configurable: true, + writable: false + }); + return value; +} + +var BaseException = function BaseExceptionClosure() { + function BaseException(message, name) { + if (this.constructor === BaseException) { + unreachable("Cannot initialize BaseException."); + } + + this.message = message; + this.name = name; + } + + BaseException.prototype = new Error(); + BaseException.constructor = BaseException; + return BaseException; +}(); + +exports.BaseException = BaseException; + +var PasswordException = /*#__PURE__*/function (_BaseException) { + _inherits(PasswordException, _BaseException); + + var _super = _createSuper(PasswordException); + + function PasswordException(msg, code) { + var _this; + + _classCallCheck(this, PasswordException); + + _this = _super.call(this, msg, "PasswordException"); + _this.code = code; + return _this; + } + + return _createClass(PasswordException); +}(BaseException); + +exports.PasswordException = PasswordException; + +var UnknownErrorException = /*#__PURE__*/function (_BaseException2) { + _inherits(UnknownErrorException, _BaseException2); + + var _super2 = _createSuper(UnknownErrorException); + + function UnknownErrorException(msg, details) { + var _this2; + + _classCallCheck(this, UnknownErrorException); + + _this2 = _super2.call(this, msg, "UnknownErrorException"); + _this2.details = details; + return _this2; + } + + return _createClass(UnknownErrorException); +}(BaseException); + +exports.UnknownErrorException = UnknownErrorException; + +var InvalidPDFException = /*#__PURE__*/function (_BaseException3) { + _inherits(InvalidPDFException, _BaseException3); + + var _super3 = _createSuper(InvalidPDFException); + + function InvalidPDFException(msg) { + _classCallCheck(this, InvalidPDFException); + + return _super3.call(this, msg, "InvalidPDFException"); + } + + return _createClass(InvalidPDFException); +}(BaseException); + +exports.InvalidPDFException = InvalidPDFException; + +var MissingPDFException = /*#__PURE__*/function (_BaseException4) { + _inherits(MissingPDFException, _BaseException4); + + var _super4 = _createSuper(MissingPDFException); + + function MissingPDFException(msg) { + _classCallCheck(this, MissingPDFException); + + return _super4.call(this, msg, "MissingPDFException"); + } + + return _createClass(MissingPDFException); +}(BaseException); + +exports.MissingPDFException = MissingPDFException; + +var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) { + _inherits(UnexpectedResponseException, _BaseException5); + + var _super5 = _createSuper(UnexpectedResponseException); + + function UnexpectedResponseException(msg, status) { + var _this3; + + _classCallCheck(this, UnexpectedResponseException); + + _this3 = _super5.call(this, msg, "UnexpectedResponseException"); + _this3.status = status; + return _this3; + } + + return _createClass(UnexpectedResponseException); +}(BaseException); + +exports.UnexpectedResponseException = UnexpectedResponseException; + +var FormatError = /*#__PURE__*/function (_BaseException6) { + _inherits(FormatError, _BaseException6); + + var _super6 = _createSuper(FormatError); + + function FormatError(msg) { + _classCallCheck(this, FormatError); + + return _super6.call(this, msg, "FormatError"); + } + + return _createClass(FormatError); +}(BaseException); + +exports.FormatError = FormatError; + +var AbortException = /*#__PURE__*/function (_BaseException7) { + _inherits(AbortException, _BaseException7); + + var _super7 = _createSuper(AbortException); + + function AbortException(msg) { + _classCallCheck(this, AbortException); + + return _super7.call(this, msg, "AbortException"); + } + + return _createClass(AbortException); +}(BaseException); + +exports.AbortException = AbortException; + +function bytesToString(bytes) { + if (_typeof(bytes) !== "object" || bytes === null || bytes.length === undefined) { + unreachable("Invalid argument for bytesToString"); + } + + var length = bytes.length; + var MAX_ARGUMENT_COUNT = 8192; + + if (length < MAX_ARGUMENT_COUNT) { + return String.fromCharCode.apply(null, bytes); + } + + var strBuf = []; + + for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) { + var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length); + var chunk = bytes.subarray(i, chunkEnd); + strBuf.push(String.fromCharCode.apply(null, chunk)); + } + + return strBuf.join(""); +} + +function stringToBytes(str) { + if (typeof str !== "string") { + unreachable("Invalid argument for stringToBytes"); + } + + var length = str.length; + var bytes = new Uint8Array(length); + + for (var i = 0; i < length; ++i) { + bytes[i] = str.charCodeAt(i) & 0xff; + } + + return bytes; +} + +function arrayByteLength(arr) { + if (arr.length !== undefined) { + return arr.length; + } + + if (arr.byteLength !== undefined) { + return arr.byteLength; + } + + unreachable("Invalid argument for arrayByteLength"); +} + +function arraysToBytes(arr) { + var length = arr.length; + + if (length === 1 && arr[0] instanceof Uint8Array) { + return arr[0]; + } + + var resultLength = 0; + + for (var i = 0; i < length; i++) { + resultLength += arrayByteLength(arr[i]); + } + + var pos = 0; + var data = new Uint8Array(resultLength); + + for (var _i = 0; _i < length; _i++) { + var item = arr[_i]; + + if (!(item instanceof Uint8Array)) { + if (typeof item === "string") { + item = stringToBytes(item); + } else { + item = new Uint8Array(item); + } + } + + var itemLength = item.byteLength; + data.set(item, pos); + pos += itemLength; + } + + return data; +} + +function string32(value) { + return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff); +} + +function objectSize(obj) { + return Object.keys(obj).length; +} + +function objectFromMap(map) { + var obj = Object.create(null); + + var _iterator = _createForOfIteratorHelper(map), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + key = _step$value[0], + value = _step$value[1]; + + obj[key] = value; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return obj; +} + +function isLittleEndian() { + var buffer8 = new Uint8Array(4); + buffer8[0] = 1; + var view32 = new Uint32Array(buffer8.buffer, 0, 1); + return view32[0] === 1; +} + +function isEvalSupported() { + try { + new Function(""); + return true; + } catch (e) { + return false; + } +} + +var FeatureTest = /*#__PURE__*/function () { + function FeatureTest() { + _classCallCheck(this, FeatureTest); + } + + _createClass(FeatureTest, null, [{ + key: "isLittleEndian", + get: function get() { + return shadow(this, "isLittleEndian", isLittleEndian()); + } + }, { + key: "isEvalSupported", + get: function get() { + return shadow(this, "isEvalSupported", isEvalSupported()); + } + }, { + key: "isOffscreenCanvasSupported", + get: function get() { + return shadow(this, "isOffscreenCanvasSupported", typeof OffscreenCanvas !== "undefined"); + } + }]); + + return FeatureTest; +}(); + +exports.FeatureTest = FeatureTest; + +var hexNumbers = _toConsumableArray(Array(256).keys()).map(function (n) { + return n.toString(16).padStart(2, "0"); +}); + +var Util = /*#__PURE__*/function () { + function Util() { + _classCallCheck(this, Util); + } + + _createClass(Util, null, [{ + key: "makeHexColor", + value: function makeHexColor(r, g, b) { + return "#".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b]); + } + }, { + key: "scaleMinMax", + value: function scaleMinMax(transform, minMax) { + var temp; + + if (transform[0]) { + if (transform[0] < 0) { + temp = minMax[0]; + minMax[0] = minMax[1]; + minMax[1] = temp; + } + + minMax[0] *= transform[0]; + minMax[1] *= transform[0]; + + if (transform[3] < 0) { + temp = minMax[2]; + minMax[2] = minMax[3]; + minMax[3] = temp; + } + + minMax[2] *= transform[3]; + minMax[3] *= transform[3]; + } else { + temp = minMax[0]; + minMax[0] = minMax[2]; + minMax[2] = temp; + temp = minMax[1]; + minMax[1] = minMax[3]; + minMax[3] = temp; + + if (transform[1] < 0) { + temp = minMax[2]; + minMax[2] = minMax[3]; + minMax[3] = temp; + } + + minMax[2] *= transform[1]; + minMax[3] *= transform[1]; + + if (transform[2] < 0) { + temp = minMax[0]; + minMax[0] = minMax[1]; + minMax[1] = temp; + } + + minMax[0] *= transform[2]; + minMax[1] *= transform[2]; + } + + minMax[0] += transform[4]; + minMax[1] += transform[4]; + minMax[2] += transform[5]; + minMax[3] += transform[5]; + } + }, { + key: "transform", + value: function transform(m1, m2) { + return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]]; + } + }, { + key: "applyTransform", + value: function applyTransform(p, m) { + var xt = p[0] * m[0] + p[1] * m[2] + m[4]; + var yt = p[0] * m[1] + p[1] * m[3] + m[5]; + return [xt, yt]; + } + }, { + key: "applyInverseTransform", + value: function applyInverseTransform(p, m) { + var d = m[0] * m[3] - m[1] * m[2]; + var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d; + var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d; + return [xt, yt]; + } + }, { + key: "getAxialAlignedBoundingBox", + value: function getAxialAlignedBoundingBox(r, m) { + var p1 = Util.applyTransform(r, m); + var p2 = Util.applyTransform(r.slice(2, 4), m); + var p3 = Util.applyTransform([r[0], r[3]], m); + var p4 = Util.applyTransform([r[2], r[1]], m); + return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])]; + } + }, { + key: "inverseTransform", + value: function inverseTransform(m) { + var d = m[0] * m[3] - m[1] * m[2]; + return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d]; + } + }, { + key: "apply3dTransform", + value: function apply3dTransform(m, v) { + return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]]; + } + }, { + key: "singularValueDecompose2dScale", + value: function singularValueDecompose2dScale(m) { + var transpose = [m[0], m[2], m[1], m[3]]; + var a = m[0] * transpose[0] + m[1] * transpose[2]; + var b = m[0] * transpose[1] + m[1] * transpose[3]; + var c = m[2] * transpose[0] + m[3] * transpose[2]; + var d = m[2] * transpose[1] + m[3] * transpose[3]; + var first = (a + d) / 2; + var second = Math.sqrt(Math.pow(a + d, 2) - 4 * (a * d - c * b)) / 2; + var sx = first + second || 1; + var sy = first - second || 1; + return [Math.sqrt(sx), Math.sqrt(sy)]; + } + }, { + key: "normalizeRect", + value: function normalizeRect(rect) { + var r = rect.slice(0); + + if (rect[0] > rect[2]) { + r[0] = rect[2]; + r[2] = rect[0]; + } + + if (rect[1] > rect[3]) { + r[1] = rect[3]; + r[3] = rect[1]; + } + + return r; + } + }, { + key: "intersect", + value: function intersect(rect1, rect2) { + var xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2])); + var xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2])); + + if (xLow > xHigh) { + return null; + } + + var yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3])); + var yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3])); + + if (yLow > yHigh) { + return null; + } + + return [xLow, yLow, xHigh, yHigh]; + } + }, { + key: "bezierBoundingBox", + value: function bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) { + var tvalues = [], + bounds = [[], []]; + var a, b, c, t, t1, t2, b2ac, sqrtb2ac; + + for (var i = 0; i < 2; ++i) { + if (i === 0) { + b = 6 * x0 - 12 * x1 + 6 * x2; + a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3; + c = 3 * x1 - 3 * x0; + } else { + b = 6 * y0 - 12 * y1 + 6 * y2; + a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3; + c = 3 * y1 - 3 * y0; + } + + if (Math.abs(a) < 1e-12) { + if (Math.abs(b) < 1e-12) { + continue; + } + + t = -c / b; + + if (0 < t && t < 1) { + tvalues.push(t); + } + + continue; + } + + b2ac = b * b - 4 * c * a; + sqrtb2ac = Math.sqrt(b2ac); + + if (b2ac < 0) { + continue; + } + + t1 = (-b + sqrtb2ac) / (2 * a); + + if (0 < t1 && t1 < 1) { + tvalues.push(t1); + } + + t2 = (-b - sqrtb2ac) / (2 * a); + + if (0 < t2 && t2 < 1) { + tvalues.push(t2); + } + } + + var j = tvalues.length, + mt; + var jlen = j; + + while (j--) { + t = tvalues[j]; + mt = 1 - t; + bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3; + bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3; + } + + bounds[0][jlen] = x0; + bounds[1][jlen] = y0; + bounds[0][jlen + 1] = x3; + bounds[1][jlen + 1] = y3; + bounds[0].length = bounds[1].length = jlen + 2; + return [Math.min.apply(Math, _toConsumableArray(bounds[0])), Math.min.apply(Math, _toConsumableArray(bounds[1])), Math.max.apply(Math, _toConsumableArray(bounds[0])), Math.max.apply(Math, _toConsumableArray(bounds[1]))]; + } + }]); + + return Util; +}(); + +exports.Util = Util; +var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac]; + +function stringToPDFString(str) { + if (str[0] >= "\xEF") { + var encoding; + + if (str[0] === "\xFE" && str[1] === "\xFF") { + encoding = "utf-16be"; + } else if (str[0] === "\xFF" && str[1] === "\xFE") { + encoding = "utf-16le"; + } else if (str[0] === "\xEF" && str[1] === "\xBB" && str[2] === "\xBF") { + encoding = "utf-8"; + } + + if (encoding) { + try { + var decoder = new TextDecoder(encoding, { + fatal: true + }); + var buffer = stringToBytes(str); + return decoder.decode(buffer); + } catch (ex) { + warn("stringToPDFString: \"".concat(ex, "\".")); + } + } + } + + var strBuf = []; + + for (var i = 0, ii = str.length; i < ii; i++) { + var code = PDFStringTranslateTable[str.charCodeAt(i)]; + strBuf.push(code ? String.fromCharCode(code) : str.charAt(i)); + } + + return strBuf.join(""); +} + +function escapeString(str) { + return str.replace(/([()\\\n\r])/g, function (match) { + if (match === "\n") { + return "\\n"; + } else if (match === "\r") { + return "\\r"; + } + + return "\\".concat(match); + }); +} + +function isAscii(str) { + return /^[\x00-\x7F]*$/.test(str); +} + +function stringToUTF16BEString(str) { + var buf = ["\xFE\xFF"]; + + for (var i = 0, ii = str.length; i < ii; i++) { + var _char = str.charCodeAt(i); + + buf.push(String.fromCharCode(_char >> 8 & 0xff), String.fromCharCode(_char & 0xff)); + } + + return buf.join(""); +} + +function stringToUTF8String(str) { + return decodeURIComponent(escape(str)); +} + +function utf8StringToString(str) { + return unescape(encodeURIComponent(str)); +} + +function isArrayBuffer(v) { + return _typeof(v) === "object" && v !== null && v.byteLength !== undefined; +} + +function isArrayEqual(arr1, arr2) { + if (arr1.length !== arr2.length) { + return false; + } + + for (var i = 0, ii = arr1.length; i < ii; i++) { + if (arr1[i] !== arr2[i]) { + return false; + } + } + + return true; +} + +function getModificationDate() { + var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); + var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, "0"), date.getUTCDate().toString().padStart(2, "0"), date.getUTCHours().toString().padStart(2, "0"), date.getUTCMinutes().toString().padStart(2, "0"), date.getUTCSeconds().toString().padStart(2, "0")]; + return buffer.join(""); +} + +function createPromiseCapability() { + var capability = Object.create(null); + var isSettled = false; + Object.defineProperty(capability, "settled", { + get: function get() { + return isSettled; + } + }); + capability.promise = new Promise(function (resolve, reject) { + capability.resolve = function (data) { + isSettled = true; + resolve(data); + }; + + capability.reject = function (reason) { + isSettled = true; + reject(reason); + }; + }); + return capability; +} + +/***/ }), +/* 2 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + + +var _is_node = __w_pdfjs_require__(3); + +if (!globalThis._pdfjsCompatibilityChecked) { + globalThis._pdfjsCompatibilityChecked = true; + + (function checkNodeBtoa() { + if (globalThis.btoa || !_is_node.isNodeJS) { + return; + } + + globalThis.btoa = function (chars) { + return Buffer.from(chars, "binary").toString("base64"); + }; + })(); + + (function checkNodeAtob() { + if (globalThis.atob || !_is_node.isNodeJS) { + return; + } + + globalThis.atob = function (input) { + return Buffer.from(input, "base64").toString("binary"); + }; + })(); + + (function checkDOMMatrix() { + if (globalThis.DOMMatrix || !_is_node.isNodeJS) { + return; + } + + globalThis.DOMMatrix = require("dommatrix/dist/dommatrix.js"); + })(); + + (function checkPromise() { + if (globalThis.Promise.allSettled) { + return; + } + + globalThis.Promise = __w_pdfjs_require__(4); + })(); + + (function checkReadableStream() { + if (globalThis.ReadableStream || !_is_node.isNodeJS) { + return; + } + + globalThis.ReadableStream = require("web-streams-polyfill/dist/ponyfill.js").ReadableStream; + })(); + + (function checkStructuredClone() { + if (globalThis.structuredClone) { + return; + } + + __w_pdfjs_require__(137); + })(); +} + +/***/ }), +/* 3 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.isNodeJS = void 0; + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +var isNodeJS = (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser"); +exports.isNodeJS = isNodeJS; + +/***/ }), +/* 4 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(5); +__w_pdfjs_require__(91); +__w_pdfjs_require__(97); +__w_pdfjs_require__(99); +__w_pdfjs_require__(131); +__w_pdfjs_require__(132); +__w_pdfjs_require__(133); +__w_pdfjs_require__(134); +var path = __w_pdfjs_require__(136); +module.exports = path.Promise; + +/***/ }), +/* 5 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(6); + +/***/ }), +/* 6 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var global = __w_pdfjs_require__(8); +var isPrototypeOf = __w_pdfjs_require__(27); +var getPrototypeOf = __w_pdfjs_require__(69); +var setPrototypeOf = __w_pdfjs_require__(71); +var copyConstructorProperties = __w_pdfjs_require__(57); +var create = __w_pdfjs_require__(73); +var createNonEnumerableProperty = __w_pdfjs_require__(46); +var createPropertyDescriptor = __w_pdfjs_require__(15); +var clearErrorStack = __w_pdfjs_require__(77); +var installErrorCause = __w_pdfjs_require__(78); +var iterate = __w_pdfjs_require__(79); +var normalizeStringArgument = __w_pdfjs_require__(88); +var wellKnownSymbol = __w_pdfjs_require__(36); +var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(90); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var Error = global.Error; +var push = [].push; +var $AggregateError = function AggregateError(errors, message) { + var options = arguments.length > 2 ? arguments[2] : undefined; + var isInstance = isPrototypeOf(AggregateErrorPrototype, this); + var that; + if (setPrototypeOf) { + that = setPrototypeOf(new Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype); + } else { + that = isInstance ? this : create(AggregateErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); + } + if (message !== undefined) + createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); + if (ERROR_STACK_INSTALLABLE) + createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1)); + installErrorCause(that, options); + var errorsArray = []; + iterate(errors, push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; +if (setPrototypeOf) + setPrototypeOf($AggregateError, Error); +else + copyConstructorProperties($AggregateError, Error, { name: true }); +var AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, { + constructor: createPropertyDescriptor(1, $AggregateError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'AggregateError') +}); +$({ global: true }, { AggregateError: $AggregateError }); + +/***/ }), +/* 7 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var getOwnPropertyDescriptor = (__w_pdfjs_require__(9).f); +var createNonEnumerableProperty = __w_pdfjs_require__(46); +var redefine = __w_pdfjs_require__(50); +var setGlobal = __w_pdfjs_require__(40); +var copyConstructorProperties = __w_pdfjs_require__(57); +var isForced = __w_pdfjs_require__(68); +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global[TARGET] || {}).prototype; + } + if (target) + for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else + targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) + continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + if (options.sham || targetProperty && targetProperty.sham) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + redefine(target, key, sourceProperty, options); + } +}; + +/***/ }), +/* 8 */ +/***/ ((module) => { + +var check = function (it) { + return it && it.Math == Math && it; +}; +module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || (function () { + return this; +}()) || Function('return this')(); + +/***/ }), +/* 9 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(10); +var call = __w_pdfjs_require__(12); +var propertyIsEnumerableModule = __w_pdfjs_require__(14); +var createPropertyDescriptor = __w_pdfjs_require__(15); +var toIndexedObject = __w_pdfjs_require__(16); +var toPropertyKey = __w_pdfjs_require__(21); +var hasOwn = __w_pdfjs_require__(41); +var IE8_DOM_DEFINE = __w_pdfjs_require__(44); +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) + try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { + } + if (hasOwn(O, P)) + return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + +/***/ }), +/* 10 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(11); +module.exports = !fails(function () { + return Object.defineProperty({}, 1, { + get: function () { + return 7; + } + })[1] != 7; +}); + +/***/ }), +/* 11 */ +/***/ ((module) => { + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +/***/ }), +/* 12 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_BIND = __w_pdfjs_require__(13); +var call = Function.prototype.call; +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + +/***/ }), +/* 13 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(11); +module.exports = !fails(function () { + var test = function () { + }.bind(); + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + +/***/ }), +/* 14 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + +/***/ }), +/* 15 */ +/***/ ((module) => { + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +/***/ }), +/* 16 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var IndexedObject = __w_pdfjs_require__(17); +var requireObjectCoercible = __w_pdfjs_require__(20); +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + +/***/ }), +/* 17 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var uncurryThis = __w_pdfjs_require__(18); +var fails = __w_pdfjs_require__(11); +var classof = __w_pdfjs_require__(19); +var Object = global.Object; +var split = uncurryThis(''.split); +module.exports = fails(function () { + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) == 'String' ? split(it, '') : Object(it); +} : Object; + +/***/ }), +/* 18 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_BIND = __w_pdfjs_require__(13); +var FunctionPrototype = Function.prototype; +var bind = FunctionPrototype.bind; +var call = FunctionPrototype.call; +var uncurryThis = NATIVE_BIND && bind.bind(call, call); +module.exports = NATIVE_BIND ? function (fn) { + return fn && uncurryThis(fn); +} : function (fn) { + return fn && function () { + return call.apply(fn, arguments); + }; +}; + +/***/ }), +/* 19 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + +/***/ }), +/* 20 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var TypeError = global.TypeError; +module.exports = function (it) { + if (it == undefined) + throw TypeError("Can't call method on " + it); + return it; +}; + +/***/ }), +/* 21 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toPrimitive = __w_pdfjs_require__(22); +var isSymbol = __w_pdfjs_require__(25); +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + +/***/ }), +/* 22 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var call = __w_pdfjs_require__(12); +var isObject = __w_pdfjs_require__(23); +var isSymbol = __w_pdfjs_require__(25); +var getMethod = __w_pdfjs_require__(32); +var ordinaryToPrimitive = __w_pdfjs_require__(35); +var wellKnownSymbol = __w_pdfjs_require__(36); +var TypeError = global.TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) + return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) + pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) + return result; + throw TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) + pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + +/***/ }), +/* 23 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var isCallable = __w_pdfjs_require__(24); +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + +/***/ }), +/* 24 */ +/***/ ((module) => { + +module.exports = function (argument) { + return typeof argument == 'function'; +}; + +/***/ }), +/* 25 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var getBuiltIn = __w_pdfjs_require__(26); +var isCallable = __w_pdfjs_require__(24); +var isPrototypeOf = __w_pdfjs_require__(27); +var USE_SYMBOL_AS_UID = __w_pdfjs_require__(28); +var Object = global.Object; +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it)); +}; + +/***/ }), +/* 26 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var isCallable = __w_pdfjs_require__(24); +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; +}; + +/***/ }), +/* 27 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +module.exports = uncurryThis({}.isPrototypeOf); + +/***/ }), +/* 28 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_SYMBOL = __w_pdfjs_require__(29); +module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; + +/***/ }), +/* 29 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var V8_VERSION = __w_pdfjs_require__(30); +var fails = __w_pdfjs_require__(11); +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol(); + return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + +/***/ }), +/* 30 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var userAgent = __w_pdfjs_require__(31); +var process = global.process; +var Deno = global.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; +if (v8) { + match = v8.split('.'); + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) + version = +match[1]; + } +} +module.exports = version; + +/***/ }), +/* 31 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var getBuiltIn = __w_pdfjs_require__(26); +module.exports = getBuiltIn('navigator', 'userAgent') || ''; + +/***/ }), +/* 32 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var aCallable = __w_pdfjs_require__(33); +module.exports = function (V, P) { + var func = V[P]; + return func == null ? undefined : aCallable(func); +}; + +/***/ }), +/* 33 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var isCallable = __w_pdfjs_require__(24); +var tryToString = __w_pdfjs_require__(34); +var TypeError = global.TypeError; +module.exports = function (argument) { + if (isCallable(argument)) + return argument; + throw TypeError(tryToString(argument) + ' is not a function'); +}; + +/***/ }), +/* 34 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var String = global.String; +module.exports = function (argument) { + try { + return String(argument); + } catch (error) { + return 'Object'; + } +}; + +/***/ }), +/* 35 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var call = __w_pdfjs_require__(12); +var isCallable = __w_pdfjs_require__(24); +var isObject = __w_pdfjs_require__(23); +var TypeError = global.TypeError; +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) + return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + throw TypeError("Can't convert object to primitive value"); +}; + +/***/ }), +/* 36 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var shared = __w_pdfjs_require__(37); +var hasOwn = __w_pdfjs_require__(41); +var uid = __w_pdfjs_require__(43); +var NATIVE_SYMBOL = __w_pdfjs_require__(29); +var USE_SYMBOL_AS_UID = __w_pdfjs_require__(28); +var WellKnownSymbolsStore = shared('wks'); +var Symbol = global.Symbol; +var symbolFor = Symbol && Symbol['for']; +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { + var description = 'Symbol.' + name; + if (NATIVE_SYMBOL && hasOwn(Symbol, name)) { + WellKnownSymbolsStore[name] = Symbol[name]; + } else if (USE_SYMBOL_AS_UID && symbolFor) { + WellKnownSymbolsStore[name] = symbolFor(description); + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol(description); + } + } + return WellKnownSymbolsStore[name]; +}; + +/***/ }), +/* 37 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var IS_PURE = __w_pdfjs_require__(38); +var store = __w_pdfjs_require__(39); +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.22.3', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.22.3/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + +/***/ }), +/* 38 */ +/***/ ((module) => { + +module.exports = false; + +/***/ }), +/* 39 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var setGlobal = __w_pdfjs_require__(40); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || setGlobal(SHARED, {}); +module.exports = store; + +/***/ }), +/* 40 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var defineProperty = Object.defineProperty; +module.exports = function (key, value) { + try { + defineProperty(global, key, { + value: value, + configurable: true, + writable: true + }); + } catch (error) { + global[key] = value; + } + return value; +}; + +/***/ }), +/* 41 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +var toObject = __w_pdfjs_require__(42); +var hasOwnProperty = uncurryThis({}.hasOwnProperty); +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + +/***/ }), +/* 42 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var requireObjectCoercible = __w_pdfjs_require__(20); +var Object = global.Object; +module.exports = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + +/***/ }), +/* 43 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + +/***/ }), +/* 44 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(10); +var fails = __w_pdfjs_require__(11); +var createElement = __w_pdfjs_require__(45); +module.exports = !DESCRIPTORS && !fails(function () { + return Object.defineProperty(createElement('div'), 'a', { + get: function () { + return 7; + } + }).a != 7; +}); + +/***/ }), +/* 45 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var isObject = __w_pdfjs_require__(23); +var document = global.document; +var EXISTS = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + +/***/ }), +/* 46 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(10); +var definePropertyModule = __w_pdfjs_require__(47); +var createPropertyDescriptor = __w_pdfjs_require__(15); +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +/***/ }), +/* 47 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var DESCRIPTORS = __w_pdfjs_require__(10); +var IE8_DOM_DEFINE = __w_pdfjs_require__(44); +var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(48); +var anObject = __w_pdfjs_require__(49); +var toPropertyKey = __w_pdfjs_require__(21); +var TypeError = global.TypeError; +var $defineProperty = Object.defineProperty; +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } + return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) + try { + return $defineProperty(O, P, Attributes); + } catch (error) { + } + if ('get' in Attributes || 'set' in Attributes) + throw TypeError('Accessors not supported'); + if ('value' in Attributes) + O[P] = Attributes.value; + return O; +}; + +/***/ }), +/* 48 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(10); +var fails = __w_pdfjs_require__(11); +module.exports = DESCRIPTORS && fails(function () { + return Object.defineProperty(function () { + }, 'prototype', { + value: 42, + writable: false + }).prototype != 42; +}); + +/***/ }), +/* 49 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var isObject = __w_pdfjs_require__(23); +var String = global.String; +var TypeError = global.TypeError; +module.exports = function (argument) { + if (isObject(argument)) + return argument; + throw TypeError(String(argument) + ' is not an object'); +}; + +/***/ }), +/* 50 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var isCallable = __w_pdfjs_require__(24); +var hasOwn = __w_pdfjs_require__(41); +var createNonEnumerableProperty = __w_pdfjs_require__(46); +var setGlobal = __w_pdfjs_require__(40); +var inspectSource = __w_pdfjs_require__(51); +var InternalStateModule = __w_pdfjs_require__(52); +var CONFIGURABLE_FUNCTION_NAME = (__w_pdfjs_require__(56).CONFIGURABLE); +var getInternalState = InternalStateModule.get; +var enforceInternalState = InternalStateModule.enforce; +var TEMPLATE = String(String).split('String'); +(module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + var name = options && options.name !== undefined ? options.name : key; + var state; + if (isCallable(value)) { + if (String(name).slice(0, 7) === 'Symbol(') { + name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (!hasOwn(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { + createNonEnumerableProperty(value, 'name', name); + } + state = enforceInternalState(value); + if (!state.source) { + state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); + } + } + if (O === global) { + if (simple) + O[key] = value; + else + setGlobal(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) + O[key] = value; + else + createNonEnumerableProperty(O, key, value); +})(Function.prototype, 'toString', function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}); + +/***/ }), +/* 51 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +var isCallable = __w_pdfjs_require__(24); +var store = __w_pdfjs_require__(39); +var functionToString = uncurryThis(Function.toString); +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} +module.exports = store.inspectSource; + +/***/ }), +/* 52 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_WEAK_MAP = __w_pdfjs_require__(53); +var global = __w_pdfjs_require__(8); +var uncurryThis = __w_pdfjs_require__(18); +var isObject = __w_pdfjs_require__(23); +var createNonEnumerableProperty = __w_pdfjs_require__(46); +var hasOwn = __w_pdfjs_require__(41); +var shared = __w_pdfjs_require__(39); +var sharedKey = __w_pdfjs_require__(54); +var hiddenKeys = __w_pdfjs_require__(55); +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = global.TypeError; +var WeakMap = global.WeakMap; +var set, get, has; +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } + return state; + }; +}; +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + var wmget = uncurryThis(store.get); + var wmhas = uncurryThis(store.has); + var wmset = uncurryThis(store.set); + set = function (it, metadata) { + if (wmhas(store, it)) + throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + wmset(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget(store, it) || {}; + }; + has = function (it) { + return wmhas(store, it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) + throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +/***/ }), +/* 53 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var isCallable = __w_pdfjs_require__(24); +var inspectSource = __w_pdfjs_require__(51); +var WeakMap = global.WeakMap; +module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap)); + +/***/ }), +/* 54 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var shared = __w_pdfjs_require__(37); +var uid = __w_pdfjs_require__(43); +var keys = shared('keys'); +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + +/***/ }), +/* 55 */ +/***/ ((module) => { + +module.exports = {}; + +/***/ }), +/* 56 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(10); +var hasOwn = __w_pdfjs_require__(41); +var FunctionPrototype = Function.prototype; +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; +var EXISTS = hasOwn(FunctionPrototype, 'name'); +var PROPER = EXISTS && function something() { +}.name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable); +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + +/***/ }), +/* 57 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var hasOwn = __w_pdfjs_require__(41); +var ownKeys = __w_pdfjs_require__(58); +var getOwnPropertyDescriptorModule = __w_pdfjs_require__(9); +var definePropertyModule = __w_pdfjs_require__(47); +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +/***/ }), +/* 58 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var getBuiltIn = __w_pdfjs_require__(26); +var uncurryThis = __w_pdfjs_require__(18); +var getOwnPropertyNamesModule = __w_pdfjs_require__(59); +var getOwnPropertySymbolsModule = __w_pdfjs_require__(67); +var anObject = __w_pdfjs_require__(49); +var concat = uncurryThis([].concat); +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + +/***/ }), +/* 59 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +var internalObjectKeys = __w_pdfjs_require__(60); +var enumBugKeys = __w_pdfjs_require__(66); +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + +/***/ }), +/* 60 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +var hasOwn = __w_pdfjs_require__(41); +var toIndexedObject = __w_pdfjs_require__(16); +var indexOf = (__w_pdfjs_require__(61).indexOf); +var hiddenKeys = __w_pdfjs_require__(55); +var push = uncurryThis([].push); +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) + !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + while (names.length > i) + if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + +/***/ }), +/* 61 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toIndexedObject = __w_pdfjs_require__(16); +var toAbsoluteIndex = __w_pdfjs_require__(62); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + var index = toAbsoluteIndex(fromIndex, length); + var value; + if (IS_INCLUDES && el != el) + while (length > index) { + value = O[index++]; + if (value != value) + return true; + } + else + for (; length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) + return IS_INCLUDES || index || 0; + } + return !IS_INCLUDES && -1; + }; +}; +module.exports = { + includes: createMethod(true), + indexOf: createMethod(false) +}; + +/***/ }), +/* 62 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toIntegerOrInfinity = __w_pdfjs_require__(63); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +/***/ }), +/* 63 */ +/***/ ((module) => { + +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (argument) { + var number = +argument; + return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number); +}; + +/***/ }), +/* 64 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toLength = __w_pdfjs_require__(65); +module.exports = function (obj) { + return toLength(obj.length); +}; + +/***/ }), +/* 65 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toIntegerOrInfinity = __w_pdfjs_require__(63); +var min = Math.min; +module.exports = function (argument) { + return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; +}; + +/***/ }), +/* 66 */ +/***/ ((module) => { + +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +/***/ }), +/* 67 */ +/***/ ((__unused_webpack_module, exports) => { + +exports.f = Object.getOwnPropertySymbols; + +/***/ }), +/* 68 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(11); +var isCallable = __w_pdfjs_require__(24); +var replacement = /#|\.prototype\./; +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection; +}; +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; +module.exports = isForced; + +/***/ }), +/* 69 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var hasOwn = __w_pdfjs_require__(41); +var isCallable = __w_pdfjs_require__(24); +var toObject = __w_pdfjs_require__(42); +var sharedKey = __w_pdfjs_require__(54); +var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(70); +var IE_PROTO = sharedKey('IE_PROTO'); +var Object = global.Object; +var ObjectPrototype = Object.prototype; +module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) + return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } + return object instanceof Object ? ObjectPrototype : null; +}; + +/***/ }), +/* 70 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(11); +module.exports = !fails(function () { + function F() { + } + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + +/***/ }), +/* 71 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +var anObject = __w_pdfjs_require__(49); +var aPossiblePrototype = __w_pdfjs_require__(72); +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? (function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { + } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) + setter(O, proto); + else + O.__proto__ = proto; + return O; + }; +}()) : undefined); + +/***/ }), +/* 72 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var isCallable = __w_pdfjs_require__(24); +var String = global.String; +var TypeError = global.TypeError; +module.exports = function (argument) { + if (typeof argument == 'object' || isCallable(argument)) + return argument; + throw TypeError("Can't set " + String(argument) + ' as a prototype'); +}; + +/***/ }), +/* 73 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(49); +var definePropertiesModule = __w_pdfjs_require__(74); +var enumBugKeys = __w_pdfjs_require__(66); +var hiddenKeys = __w_pdfjs_require__(55); +var html = __w_pdfjs_require__(76); +var documentCreateElement = __w_pdfjs_require__(45); +var sharedKey = __w_pdfjs_require__(54); +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); +var EmptyConstructor = function () { +}; +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; + return temp; +}; +var NullProtoObjectViaIFrame = function () { + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { + } + NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); + var length = enumBugKeys.length; + while (length--) + delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; +hiddenKeys[IE_PROTO] = true; +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + result[IE_PROTO] = O; + } else + result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + +/***/ }), +/* 74 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(10); +var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(48); +var definePropertyModule = __w_pdfjs_require__(47); +var anObject = __w_pdfjs_require__(49); +var toIndexedObject = __w_pdfjs_require__(16); +var objectKeys = __w_pdfjs_require__(75); +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) + definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + +/***/ }), +/* 75 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var internalObjectKeys = __w_pdfjs_require__(60); +var enumBugKeys = __w_pdfjs_require__(66); +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + +/***/ }), +/* 76 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var getBuiltIn = __w_pdfjs_require__(26); +module.exports = getBuiltIn('document', 'documentElement'); + +/***/ }), +/* 77 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +var $Error = Error; +var replace = uncurryThis(''.replace); +var TEST = function (arg) { + return String($Error(arg).stack); +}('zxcasd'); +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) + stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } + return stack; +}; + +/***/ }), +/* 78 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var isObject = __w_pdfjs_require__(23); +var createNonEnumerableProperty = __w_pdfjs_require__(46); +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + +/***/ }), +/* 79 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var bind = __w_pdfjs_require__(80); +var call = __w_pdfjs_require__(12); +var anObject = __w_pdfjs_require__(49); +var tryToString = __w_pdfjs_require__(34); +var isArrayIteratorMethod = __w_pdfjs_require__(81); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var isPrototypeOf = __w_pdfjs_require__(27); +var getIterator = __w_pdfjs_require__(83); +var getIteratorMethod = __w_pdfjs_require__(84); +var iteratorClose = __w_pdfjs_require__(87); +var TypeError = global.TypeError; +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; +var ResultPrototype = Result.prototype; +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + var stop = function (condition) { + if (iterator) + iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } + return INTERRUPTED ? fn(value, stop) : fn(value); + }; + if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) + throw TypeError(tryToString(iterable) + ' is not iterable'); + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) + return result; + } + return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + next = iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) + return result; + } + return new Result(false); +}; + +/***/ }), +/* 80 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +var aCallable = __w_pdfjs_require__(33); +var NATIVE_BIND = __w_pdfjs_require__(13); +var bind = uncurryThis(uncurryThis.bind); +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function () { + return fn.apply(that, arguments); + }; +}; + +/***/ }), +/* 81 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(36); +var Iterators = __w_pdfjs_require__(82); +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + +/***/ }), +/* 82 */ +/***/ ((module) => { + +module.exports = {}; + +/***/ }), +/* 83 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var call = __w_pdfjs_require__(12); +var aCallable = __w_pdfjs_require__(33); +var anObject = __w_pdfjs_require__(49); +var tryToString = __w_pdfjs_require__(34); +var getIteratorMethod = __w_pdfjs_require__(84); +var TypeError = global.TypeError; +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) + return anObject(call(iteratorMethod, argument)); + throw TypeError(tryToString(argument) + ' is not iterable'); +}; + +/***/ }), +/* 84 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var classof = __w_pdfjs_require__(85); +var getMethod = __w_pdfjs_require__(32); +var Iterators = __w_pdfjs_require__(82); +var wellKnownSymbol = __w_pdfjs_require__(36); +var ITERATOR = wellKnownSymbol('iterator'); +module.exports = function (it) { + if (it != undefined) + return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)]; +}; + +/***/ }), +/* 85 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(86); +var isCallable = __w_pdfjs_require__(24); +var classofRaw = __w_pdfjs_require__(19); +var wellKnownSymbol = __w_pdfjs_require__(36); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var Object = global.Object; +var CORRECT_ARGUMENTS = classofRaw((function () { + return arguments; +}())) == 'Arguments'; +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { + } +}; +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + +/***/ }), +/* 86 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(36); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; +test[TO_STRING_TAG] = 'z'; +module.exports = String(test) === '[object z]'; + +/***/ }), +/* 87 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var call = __w_pdfjs_require__(12); +var anObject = __w_pdfjs_require__(49); +var getMethod = __w_pdfjs_require__(32); +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') + throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') + throw value; + if (innerError) + throw innerResult; + anObject(innerResult); + return value; +}; + +/***/ }), +/* 88 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toString = __w_pdfjs_require__(89); +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + +/***/ }), +/* 89 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var classof = __w_pdfjs_require__(85); +var String = global.String; +module.exports = function (argument) { + if (classof(argument) === 'Symbol') + throw TypeError('Cannot convert a Symbol value to a string'); + return String(argument); +}; + +/***/ }), +/* 90 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(11); +var createPropertyDescriptor = __w_pdfjs_require__(15); +module.exports = !fails(function () { + var error = Error('a'); + if (!('stack' in error)) + return true; + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + +/***/ }), +/* 91 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var toIndexedObject = __w_pdfjs_require__(16); +var addToUnscopables = __w_pdfjs_require__(92); +var Iterators = __w_pdfjs_require__(82); +var InternalStateModule = __w_pdfjs_require__(52); +var defineProperty = (__w_pdfjs_require__(47).f); +var defineIterator = __w_pdfjs_require__(93); +var IS_PURE = __w_pdfjs_require__(38); +var DESCRIPTORS = __w_pdfjs_require__(10); +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), + index: 0, + kind: kind + }); +}, function () { + var state = getInternalState(this); + var target = state.target; + var kind = state.kind; + var index = state.index++; + if (!target || index >= target.length) { + state.target = undefined; + return { + value: undefined, + done: true + }; + } + if (kind == 'keys') + return { + value: index, + done: false + }; + if (kind == 'values') + return { + value: target[index], + done: false + }; + return { + value: [ + index, + target[index] + ], + done: false + }; +}, 'values'); +var values = Iterators.Arguments = Iterators.Array; +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') + try { + defineProperty(values, 'name', { value: 'values' }); + } catch (error) { + } + +/***/ }), +/* 92 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(36); +var create = __w_pdfjs_require__(73); +var definePropertyModule = __w_pdfjs_require__(47); +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; +if (ArrayPrototype[UNSCOPABLES] == undefined) { + definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + +/***/ }), +/* 93 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(12); +var IS_PURE = __w_pdfjs_require__(38); +var FunctionName = __w_pdfjs_require__(56); +var isCallable = __w_pdfjs_require__(24); +var createIteratorConstructor = __w_pdfjs_require__(94); +var getPrototypeOf = __w_pdfjs_require__(69); +var setPrototypeOf = __w_pdfjs_require__(71); +var setToStringTag = __w_pdfjs_require__(96); +var createNonEnumerableProperty = __w_pdfjs_require__(46); +var redefine = __w_pdfjs_require__(50); +var wellKnownSymbol = __w_pdfjs_require__(36); +var Iterators = __w_pdfjs_require__(82); +var IteratorsCore = __w_pdfjs_require__(95); +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; +var returnThis = function () { + return this; +}; +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) + return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) + return IterablePrototype[KIND]; + switch (KIND) { + case KEYS: + return function keys() { + return new IteratorConstructor(this, KIND); + }; + case VALUES: + return function values() { + return new IteratorConstructor(this, KIND); + }; + case ENTRIES: + return function entries() { + return new IteratorConstructor(this, KIND); + }; + } + return function () { + return new IteratorConstructor(this); + }; + }; + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + redefine(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) + Iterators[TO_STRING_TAG] = returnThis; + } + } + if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { + return call(nativeIterator, this); + }; + } + } + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) + for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + redefine(IterablePrototype, KEY, methods[KEY]); + } + } + else + $({ + target: NAME, + proto: true, + forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME + }, methods); + } + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; + return methods; +}; + +/***/ }), +/* 94 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var IteratorPrototype = (__w_pdfjs_require__(95).IteratorPrototype); +var create = __w_pdfjs_require__(73); +var createPropertyDescriptor = __w_pdfjs_require__(15); +var setToStringTag = __w_pdfjs_require__(96); +var Iterators = __w_pdfjs_require__(82); +var returnThis = function () { + return this; +}; +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + +/***/ }), +/* 95 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var fails = __w_pdfjs_require__(11); +var isCallable = __w_pdfjs_require__(24); +var create = __w_pdfjs_require__(73); +var getPrototypeOf = __w_pdfjs_require__(69); +var redefine = __w_pdfjs_require__(50); +var wellKnownSymbol = __w_pdfjs_require__(36); +var IS_PURE = __w_pdfjs_require__(38); +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; +if ([].keys) { + arrayIterator = [].keys(); + if (!('next' in arrayIterator)) + BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) + IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} +var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { + var test = {}; + return IteratorPrototype[ITERATOR].call(test) !== test; +}); +if (NEW_ITERATOR_PROTOTYPE) + IteratorPrototype = {}; +else if (IS_PURE) + IteratorPrototype = create(IteratorPrototype); +if (!isCallable(IteratorPrototype[ITERATOR])) { + redefine(IteratorPrototype, ITERATOR, function () { + return this; + }); +} +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + +/***/ }), +/* 96 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var defineProperty = (__w_pdfjs_require__(47).f); +var hasOwn = __w_pdfjs_require__(41); +var wellKnownSymbol = __w_pdfjs_require__(36); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +module.exports = function (target, TAG, STATIC) { + if (target && !STATIC) + target = target.prototype; + if (target && !hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { + configurable: true, + value: TAG + }); + } +}; + +/***/ }), +/* 97 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(86); +var redefine = __w_pdfjs_require__(50); +var toString = __w_pdfjs_require__(98); +if (!TO_STRING_TAG_SUPPORT) { + redefine(Object.prototype, 'toString', toString, { unsafe: true }); +} + +/***/ }), +/* 98 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(86); +var classof = __w_pdfjs_require__(85); +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + +/***/ }), +/* 99 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(100); +__w_pdfjs_require__(123); +__w_pdfjs_require__(126); +__w_pdfjs_require__(127); +__w_pdfjs_require__(128); +__w_pdfjs_require__(129); + +/***/ }), +/* 100 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var IS_PURE = __w_pdfjs_require__(38); +var IS_NODE = __w_pdfjs_require__(101); +var global = __w_pdfjs_require__(8); +var call = __w_pdfjs_require__(12); +var redefine = __w_pdfjs_require__(50); +var redefineAll = __w_pdfjs_require__(102); +var setPrototypeOf = __w_pdfjs_require__(71); +var setToStringTag = __w_pdfjs_require__(96); +var setSpecies = __w_pdfjs_require__(103); +var aCallable = __w_pdfjs_require__(33); +var isCallable = __w_pdfjs_require__(24); +var isObject = __w_pdfjs_require__(23); +var anInstance = __w_pdfjs_require__(104); +var speciesConstructor = __w_pdfjs_require__(105); +var task = (__w_pdfjs_require__(108).set); +var microtask = __w_pdfjs_require__(113); +var hostReportErrors = __w_pdfjs_require__(116); +var perform = __w_pdfjs_require__(117); +var Queue = __w_pdfjs_require__(118); +var InternalStateModule = __w_pdfjs_require__(52); +var NativePromiseConstructor = __w_pdfjs_require__(119); +var PromiseConstructorDetection = __w_pdfjs_require__(120); +var newPromiseCapabilityModule = __w_pdfjs_require__(122); +var PROMISE = 'Promise'; +var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR; +var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT; +var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var PromiseConstructor = NativePromiseConstructor; +var PromisePrototype = NativePromisePrototype; +var TypeError = global.TypeError; +var document = global.document; +var process = global.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; +var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state == FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) + onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) + result = value; + else { + if (domain) + domain.enter(); + result = handler(value); + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else + resolve(result); + } else + reject(value); + } catch (error) { + if (domain && !exited) + domain.exit(); + reject(error); + } +}; +var notify = function (state, isReject) { + if (state.notified) + return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) + onUnhandled(state); + }); +}; +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + global.dispatchEvent(event); + } else + event = { + promise: promise, + reason: reason + }; + if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) + handler(event); + else if (name === UNHANDLED_REJECTION) + hostReportErrors('Unhandled promise rejection', reason); +}; +var onUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else + dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) + throw result.value; + } + }); +}; +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; +var onHandleUnhandled = function (state) { + call(task, global, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else + dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; +var internalReject = function (state, value, unwrap) { + if (state.done) + return; + state.done = true; + if (unwrap) + state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; +var internalResolve = function (state, value, unwrap) { + if (state.done) + return; + state.done = true; + if (unwrap) + state = unwrap; + try { + if (state.facade === value) + throw TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, bind(internalResolve, wrapper, state), bind(internalReject, wrapper, state)); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; +if (FORCED_PROMISE_CONSTRUCTOR) { + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalPromiseState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + PromisePrototype = PromiseConstructor.prototype; + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: undefined + }); + }; + Internal.prototype = redefineAll(PromisePrototype, { + then: function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state == PENDING) + state.reactions.add(reaction); + else + microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalPromiseState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C); + }; + if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + if (!NATIVE_PROMISE_SUBCLASSING) { + redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + }, { unsafe: true }); + } + try { + delete NativePromisePrototype.constructor; + } catch (error) { + } + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} +$({ + global: true, + wrap: true, + forced: FORCED_PROMISE_CONSTRUCTOR +}, { Promise: PromiseConstructor }); +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + +/***/ }), +/* 101 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var classof = __w_pdfjs_require__(19); +var global = __w_pdfjs_require__(8); +module.exports = classof(global.process) == 'process'; + +/***/ }), +/* 102 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var redefine = __w_pdfjs_require__(50); +module.exports = function (target, src, options) { + for (var key in src) + redefine(target, key, src[key], options); + return target; +}; + +/***/ }), +/* 103 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var getBuiltIn = __w_pdfjs_require__(26); +var definePropertyModule = __w_pdfjs_require__(47); +var wellKnownSymbol = __w_pdfjs_require__(36); +var DESCRIPTORS = __w_pdfjs_require__(10); +var SPECIES = wellKnownSymbol('species'); +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + var defineProperty = definePropertyModule.f; + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineProperty(Constructor, SPECIES, { + configurable: true, + get: function () { + return this; + } + }); + } +}; + +/***/ }), +/* 104 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var isPrototypeOf = __w_pdfjs_require__(27); +var TypeError = global.TypeError; +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) + return it; + throw TypeError('Incorrect invocation'); +}; + +/***/ }), +/* 105 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(49); +var aConstructor = __w_pdfjs_require__(106); +var wellKnownSymbol = __w_pdfjs_require__(36); +var SPECIES = wellKnownSymbol('species'); +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S); +}; + +/***/ }), +/* 106 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var isConstructor = __w_pdfjs_require__(107); +var tryToString = __w_pdfjs_require__(34); +var TypeError = global.TypeError; +module.exports = function (argument) { + if (isConstructor(argument)) + return argument; + throw TypeError(tryToString(argument) + ' is not a constructor'); +}; + +/***/ }), +/* 107 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +var fails = __w_pdfjs_require__(11); +var isCallable = __w_pdfjs_require__(24); +var classof = __w_pdfjs_require__(85); +var getBuiltIn = __w_pdfjs_require__(26); +var inspectSource = __w_pdfjs_require__(51); +var noop = function () { +}; +var empty = []; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) + return false; + try { + construct(noop, empty, argument); + return true; + } catch (error) { + return false; + } +}; +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) + return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': + return false; + } + try { + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; +isConstructorLegacy.sham = true; +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function () { + called = true; + }) || called; +}) ? isConstructorLegacy : isConstructorModern; + +/***/ }), +/* 108 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var apply = __w_pdfjs_require__(109); +var bind = __w_pdfjs_require__(80); +var isCallable = __w_pdfjs_require__(24); +var hasOwn = __w_pdfjs_require__(41); +var fails = __w_pdfjs_require__(11); +var html = __w_pdfjs_require__(76); +var arraySlice = __w_pdfjs_require__(110); +var createElement = __w_pdfjs_require__(45); +var validateArgumentsLength = __w_pdfjs_require__(111); +var IS_IOS = __w_pdfjs_require__(112); +var IS_NODE = __w_pdfjs_require__(101); +var set = global.setImmediate; +var clear = global.clearImmediate; +var process = global.process; +var Dispatch = global.Dispatch; +var Function = global.Function; +var MessageChannel = global.MessageChannel; +var String = global.String; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var location, defer, channel, port; +try { + location = global.location; +} catch (error) { +} +var run = function (id) { + if (hasOwn(queue, id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var runner = function (id) { + return function () { + run(id); + }; +}; +var listener = function (event) { + run(event.data); +}; +var post = function (id) { + global.postMessage(String(id), location.protocol + '//' + location.host); +}; +if (!set || !clear) { + set = function setImmediate(handler) { + validateArgumentsLength(arguments.length, 1); + var fn = isCallable(handler) ? handler : Function(handler); + var args = arraySlice(arguments, 1); + queue[++counter] = function () { + apply(fn, undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + if (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = bind(port.postMessage, port); + } else if (global.addEventListener && isCallable(global.postMessage) && !global.importScripts && location && location.protocol !== 'file:' && !fails(post)) { + defer = post; + global.addEventListener('message', listener, false); + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} +module.exports = { + set: set, + clear: clear +}; + +/***/ }), +/* 109 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_BIND = __w_pdfjs_require__(13); +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + +/***/ }), +/* 110 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +module.exports = uncurryThis([].slice); + +/***/ }), +/* 111 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var TypeError = global.TypeError; +module.exports = function (passed, required) { + if (passed < required) + throw TypeError('Not enough arguments'); + return passed; +}; + +/***/ }), +/* 112 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var userAgent = __w_pdfjs_require__(31); +module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); + +/***/ }), +/* 113 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var bind = __w_pdfjs_require__(80); +var getOwnPropertyDescriptor = (__w_pdfjs_require__(9).f); +var macrotask = (__w_pdfjs_require__(108).set); +var IS_IOS = __w_pdfjs_require__(112); +var IS_IOS_PEBBLE = __w_pdfjs_require__(114); +var IS_WEBOS_WEBKIT = __w_pdfjs_require__(115); +var IS_NODE = __w_pdfjs_require__(101); +var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; +var document = global.document; +var process = global.process; +var Promise = global.Promise; +var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); +var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; +var flush, head, last, notify, toggle, node, promise, then; +if (!queueMicrotask) { + flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) + parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (error) { + if (head) + notify(); + else + last = undefined; + throw error; + } + } + last = undefined; + if (parent) + parent.enter(); + }; + if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { + promise = Promise.resolve(undefined); + promise.constructor = Promise; + then = bind(promise.then, promise); + notify = function () { + then(flush); + }; + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + } else { + macrotask = bind(macrotask, global); + notify = function () { + macrotask(flush); + }; + } +} +module.exports = queueMicrotask || function (fn) { + var task = { + fn: fn, + next: undefined + }; + if (last) + last.next = task; + if (!head) { + head = task; + notify(); + } + last = task; +}; + +/***/ }), +/* 114 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var userAgent = __w_pdfjs_require__(31); +var global = __w_pdfjs_require__(8); +module.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined; + +/***/ }), +/* 115 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var userAgent = __w_pdfjs_require__(31); +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + +/***/ }), +/* 116 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +module.exports = function (a, b) { + var console = global.console; + if (console && console.error) { + arguments.length == 1 ? console.error(a) : console.error(a, b); + } +}; + +/***/ }), +/* 117 */ +/***/ ((module) => { + +module.exports = function (exec) { + try { + return { + error: false, + value: exec() + }; + } catch (error) { + return { + error: true, + value: error + }; + } +}; + +/***/ }), +/* 118 */ +/***/ ((module) => { + +var Queue = function () { + this.head = null; + this.tail = null; +}; +Queue.prototype = { + add: function (item) { + var entry = { + item: item, + next: null + }; + if (this.head) + this.tail.next = entry; + else + this.head = entry; + this.tail = entry; + }, + get: function () { + var entry = this.head; + if (entry) { + this.head = entry.next; + if (this.tail === entry) + this.tail = null; + return entry.item; + } + } +}; +module.exports = Queue; + +/***/ }), +/* 119 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +module.exports = global.Promise; + +/***/ }), +/* 120 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var NativePromiseConstructor = __w_pdfjs_require__(119); +var isCallable = __w_pdfjs_require__(24); +var isForced = __w_pdfjs_require__(68); +var inspectSource = __w_pdfjs_require__(51); +var wellKnownSymbol = __w_pdfjs_require__(36); +var IS_BROWSER = __w_pdfjs_require__(121); +var IS_PURE = __w_pdfjs_require__(38); +var V8_VERSION = __w_pdfjs_require__(30); +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var SPECIES = wellKnownSymbol('species'); +var SUBCLASSING = false; +var NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent); +var FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor); + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) + return true; + if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) + return true; + if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) + return false; + var promise = new NativePromiseConstructor(function (resolve) { + resolve(1); + }); + var FakePromise = function (exec) { + exec(function () { + }, function () { + }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { + }) instanceof FakePromise; + if (!SUBCLASSING) + return true; + return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_PROMISE_REJECTION_EVENT; +}); +module.exports = { + CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR, + REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT, + SUBCLASSING: SUBCLASSING +}; + +/***/ }), +/* 121 */ +/***/ ((module) => { + +module.exports = typeof window == 'object' && typeof Deno != 'object'; + +/***/ }), +/* 122 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var aCallable = __w_pdfjs_require__(33); +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) + throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); +}; +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + +/***/ }), +/* 123 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(12); +var aCallable = __w_pdfjs_require__(33); +var newPromiseCapabilityModule = __w_pdfjs_require__(122); +var perform = __w_pdfjs_require__(117); +var iterate = __w_pdfjs_require__(79); +var PROMISE_STATICS_INCORRECT_ITERATION = __w_pdfjs_require__(124); +$({ + target: 'Promise', + stat: true, + forced: PROMISE_STATICS_INCORRECT_ITERATION +}, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) + return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); + +/***/ }), +/* 124 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NativePromiseConstructor = __w_pdfjs_require__(119); +var checkCorrectnessOfIteration = __w_pdfjs_require__(125); +var FORCED_PROMISE_CONSTRUCTOR = (__w_pdfjs_require__(120).CONSTRUCTOR); +module.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) { + NativePromiseConstructor.all(iterable).then(undefined, function () { + }); +}); + +/***/ }), +/* 125 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(36); +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + Array.from(iteratorWithReturn, function () { + throw 2; + }); +} catch (error) { +} +module.exports = function (exec, SKIP_CLOSING) { + if (!SKIP_CLOSING && !SAFE_CLOSING) + return false; + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { + } + return ITERATION_SUPPORT; +}; + +/***/ }), +/* 126 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var IS_PURE = __w_pdfjs_require__(38); +var FORCED_PROMISE_CONSTRUCTOR = (__w_pdfjs_require__(120).CONSTRUCTOR); +var NativePromiseConstructor = __w_pdfjs_require__(119); +var getBuiltIn = __w_pdfjs_require__(26); +var isCallable = __w_pdfjs_require__(24); +var redefine = __w_pdfjs_require__(50); +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +$({ + target: 'Promise', + proto: true, + forced: FORCED_PROMISE_CONSTRUCTOR, + real: true +}, { + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } +}); +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['catch']; + if (NativePromisePrototype['catch'] !== method) { + redefine(NativePromisePrototype, 'catch', method, { unsafe: true }); + } +} + +/***/ }), +/* 127 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(12); +var aCallable = __w_pdfjs_require__(33); +var newPromiseCapabilityModule = __w_pdfjs_require__(122); +var perform = __w_pdfjs_require__(117); +var iterate = __w_pdfjs_require__(79); +var PROMISE_STATICS_INCORRECT_ITERATION = __w_pdfjs_require__(124); +$({ + target: 'Promise', + stat: true, + forced: PROMISE_STATICS_INCORRECT_ITERATION +}, { + race: function race(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); + +/***/ }), +/* 128 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(12); +var newPromiseCapabilityModule = __w_pdfjs_require__(122); +var FORCED_PROMISE_CONSTRUCTOR = (__w_pdfjs_require__(120).CONSTRUCTOR); +$({ + target: 'Promise', + stat: true, + forced: FORCED_PROMISE_CONSTRUCTOR +}, { + reject: function reject(r) { + var capability = newPromiseCapabilityModule.f(this); + call(capability.reject, undefined, r); + return capability.promise; + } +}); + +/***/ }), +/* 129 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var getBuiltIn = __w_pdfjs_require__(26); +var IS_PURE = __w_pdfjs_require__(38); +var NativePromiseConstructor = __w_pdfjs_require__(119); +var FORCED_PROMISE_CONSTRUCTOR = (__w_pdfjs_require__(120).CONSTRUCTOR); +var promiseResolve = __w_pdfjs_require__(130); +var PromiseConstructorWrapper = getBuiltIn('Promise'); +var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR; +$({ + target: 'Promise', + stat: true, + forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR +}, { + resolve: function resolve(x) { + return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x); + } +}); + +/***/ }), +/* 130 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(49); +var isObject = __w_pdfjs_require__(23); +var newPromiseCapability = __w_pdfjs_require__(122); +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) + return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + +/***/ }), +/* 131 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(12); +var aCallable = __w_pdfjs_require__(33); +var newPromiseCapabilityModule = __w_pdfjs_require__(122); +var perform = __w_pdfjs_require__(117); +var iterate = __w_pdfjs_require__(79); +$({ + target: 'Promise', + stat: true +}, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) + return; + alreadyCalled = true; + values[index] = { + status: 'fulfilled', + value: value + }; + --remaining || resolve(values); + }, function (error) { + if (alreadyCalled) + return; + alreadyCalled = true; + values[index] = { + status: 'rejected', + reason: error + }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); + +/***/ }), +/* 132 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var call = __w_pdfjs_require__(12); +var aCallable = __w_pdfjs_require__(33); +var getBuiltIn = __w_pdfjs_require__(26); +var newPromiseCapabilityModule = __w_pdfjs_require__(122); +var perform = __w_pdfjs_require__(117); +var iterate = __w_pdfjs_require__(79); +var PROMISE_ANY_ERROR = 'No one promise resolved'; +$({ + target: 'Promise', + stat: true +}, { + any: function any(iterable) { + var C = this; + var AggregateError = getBuiltIn('AggregateError'); + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) + return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) + return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); + +/***/ }), +/* 133 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var IS_PURE = __w_pdfjs_require__(38); +var NativePromiseConstructor = __w_pdfjs_require__(119); +var fails = __w_pdfjs_require__(11); +var getBuiltIn = __w_pdfjs_require__(26); +var isCallable = __w_pdfjs_require__(24); +var speciesConstructor = __w_pdfjs_require__(105); +var promiseResolve = __w_pdfjs_require__(130); +var redefine = __w_pdfjs_require__(50); +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var NON_GENERIC = !!NativePromiseConstructor && fails(function () { + NativePromisePrototype['finally'].call({ + then: function () { + } + }, function () { + }); +}); +$({ + target: 'Promise', + proto: true, + real: true, + forced: NON_GENERIC +}, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = isCallable(onFinally); + return this.then(isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { + return x; + }); + } : onFinally, isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { + throw e; + }); + } : onFinally); + } +}); +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromisePrototype['finally'] !== method) { + redefine(NativePromisePrototype, 'finally', method, { unsafe: true }); + } +} + +/***/ }), +/* 134 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var charAt = (__w_pdfjs_require__(135).charAt); +var toString = __w_pdfjs_require__(89); +var InternalStateModule = __w_pdfjs_require__(52); +var defineIterator = __w_pdfjs_require__(93); +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) + return { + value: undefined, + done: true + }; + point = charAt(string, index); + state.index += point.length; + return { + value: point, + done: false + }; +}); + +/***/ }), +/* 135 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var uncurryThis = __w_pdfjs_require__(18); +var toIntegerOrInfinity = __w_pdfjs_require__(63); +var toString = __w_pdfjs_require__(89); +var requireObjectCoercible = __w_pdfjs_require__(20); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) + return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? charAt(S, position) : first : CONVERT_TO_STRING ? stringSlice(S, position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; +module.exports = { + codeAt: createMethod(false), + charAt: createMethod(true) +}; + +/***/ }), +/* 136 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +module.exports = global; + +/***/ }), +/* 137 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(91); +__w_pdfjs_require__(97); +__w_pdfjs_require__(138); +__w_pdfjs_require__(150); +__w_pdfjs_require__(152); +var path = __w_pdfjs_require__(136); +module.exports = path.structuredClone; + +/***/ }), +/* 138 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(139); + +/***/ }), +/* 139 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var collection = __w_pdfjs_require__(140); +var collectionStrong = __w_pdfjs_require__(149); +collection('Map', function (init) { + return function Map() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}, collectionStrong); + +/***/ }), +/* 140 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(7); +var global = __w_pdfjs_require__(8); +var uncurryThis = __w_pdfjs_require__(18); +var isForced = __w_pdfjs_require__(68); +var redefine = __w_pdfjs_require__(50); +var InternalMetadataModule = __w_pdfjs_require__(141); +var iterate = __w_pdfjs_require__(79); +var anInstance = __w_pdfjs_require__(104); +var isCallable = __w_pdfjs_require__(24); +var isObject = __w_pdfjs_require__(23); +var fails = __w_pdfjs_require__(11); +var checkCorrectnessOfIteration = __w_pdfjs_require__(125); +var setToStringTag = __w_pdfjs_require__(96); +var inheritIfRequired = __w_pdfjs_require__(148); +module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { + var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; + var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = global[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var exported = {}; + var fixMethod = function (KEY) { + var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); + redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) { + uncurriedNativeMethod(this, value === 0 ? 0 : value); + return this; + } : KEY == 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY == 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY == 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : function set(key, value) { + uncurriedNativeMethod(this, key === 0 ? 0 : key, value); + return this; + }); + }; + var REPLACE = isForced(CONSTRUCTOR_NAME, !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + }))); + if (REPLACE) { + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.enable(); + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; + var THROWS_ON_PRIMITIVES = fails(function () { + instance.has(1); + }); + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { + new NativeConstructor(iterable); + }); + var BUGGY_ZERO = !IS_WEAK && fails(function () { + var $instance = new NativeConstructor(); + var index = 5; + while (index--) + $instance[ADDER](index, index); + return !$instance.has(-0); + }); + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, NativePrototype); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (iterable != undefined) + iterate(iterable, that[ADDER], { + that: that, + AS_ENTRIES: IS_MAP + }); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + if (BUGGY_ZERO || HASNT_CHAINING) + fixMethod(ADDER); + if (IS_WEAK && NativePrototype.clear) + delete NativePrototype.clear; + } + exported[CONSTRUCTOR_NAME] = Constructor; + $({ + global: true, + forced: Constructor != NativeConstructor + }, exported); + setToStringTag(Constructor, CONSTRUCTOR_NAME); + if (!IS_WEAK) + common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + return Constructor; +}; + +/***/ }), +/* 141 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var $ = __w_pdfjs_require__(7); +var uncurryThis = __w_pdfjs_require__(18); +var hiddenKeys = __w_pdfjs_require__(55); +var isObject = __w_pdfjs_require__(23); +var hasOwn = __w_pdfjs_require__(41); +var defineProperty = (__w_pdfjs_require__(47).f); +var getOwnPropertyNamesModule = __w_pdfjs_require__(59); +var getOwnPropertyNamesExternalModule = __w_pdfjs_require__(142); +var isExtensible = __w_pdfjs_require__(145); +var uid = __w_pdfjs_require__(43); +var FREEZING = __w_pdfjs_require__(147); +var REQUIRED = false; +var METADATA = uid('meta'); +var id = 0; +var setMetadata = function (it) { + defineProperty(it, METADATA, { + value: { + objectID: 'O' + id++, + weakData: {} + } + }); +}; +var fastKey = function (it, create) { + if (!isObject(it)) + return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!hasOwn(it, METADATA)) { + if (!isExtensible(it)) + return 'F'; + if (!create) + return 'E'; + setMetadata(it); + } + return it[METADATA].objectID; +}; +var getWeakData = function (it, create) { + if (!hasOwn(it, METADATA)) { + if (!isExtensible(it)) + return true; + if (!create) + return false; + setMetadata(it); + } + return it[METADATA].weakData; +}; +var onFreeze = function (it) { + if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) + setMetadata(it); + return it; +}; +var enable = function () { + meta.enable = function () { + }; + REQUIRED = true; + var getOwnPropertyNames = getOwnPropertyNamesModule.f; + var splice = uncurryThis([].splice); + var test = {}; + test[METADATA] = 1; + if (getOwnPropertyNames(test).length) { + getOwnPropertyNamesModule.f = function (it) { + var result = getOwnPropertyNames(it); + for (var i = 0, length = result.length; i < length; i++) { + if (result[i] === METADATA) { + splice(result, i, 1); + break; + } + } + return result; + }; + $({ + target: 'Object', + stat: true, + forced: true + }, { getOwnPropertyNames: getOwnPropertyNamesExternalModule.f }); + } +}; +var meta = module.exports = { + enable: enable, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; +hiddenKeys[METADATA] = true; + +/***/ }), +/* 142 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var classof = __w_pdfjs_require__(19); +var toIndexedObject = __w_pdfjs_require__(16); +var $getOwnPropertyNames = (__w_pdfjs_require__(59).f); +var arraySlice = __w_pdfjs_require__(143); +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) == 'Window' ? getWindowNames(it) : $getOwnPropertyNames(toIndexedObject(it)); +}; + +/***/ }), +/* 143 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(8); +var toAbsoluteIndex = __w_pdfjs_require__(62); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var createProperty = __w_pdfjs_require__(144); +var Array = global.Array; +var max = Math.max; +module.exports = function (O, start, end) { + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = Array(max(fin - k, 0)); + for (var n = 0; k < fin; k++, n++) + createProperty(result, n, O[k]); + result.length = n; + return result; +}; + +/***/ }), +/* 144 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var toPropertyKey = __w_pdfjs_require__(21); +var definePropertyModule = __w_pdfjs_require__(47); +var createPropertyDescriptor = __w_pdfjs_require__(15); +module.exports = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) + definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else + object[propertyKey] = value; +}; + +/***/ }), +/* 145 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(11); +var isObject = __w_pdfjs_require__(23); +var classof = __w_pdfjs_require__(19); +var ARRAY_BUFFER_NON_EXTENSIBLE = __w_pdfjs_require__(146); +var $isExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { + $isExtensible(1); +}); +module.exports = FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE ? function isExtensible(it) { + if (!isObject(it)) + return false; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') + return false; + return $isExtensible ? $isExtensible(it) : true; +} : $isExtensible; + +/***/ }), +/* 146 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(11); +module.exports = fails(function () { + if (typeof ArrayBuffer == 'function') { + var buffer = new ArrayBuffer(8); + if (Object.isExtensible(buffer)) + Object.defineProperty(buffer, 'a', { value: 8 }); + } +}); + +/***/ }), +/* 147 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(11); +module.exports = !fails(function () { + return Object.isExtensible(Object.preventExtensions({})); +}); + +/***/ }), +/* 148 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var isCallable = __w_pdfjs_require__(24); +var isObject = __w_pdfjs_require__(23); +var setPrototypeOf = __w_pdfjs_require__(71); +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if (setPrototypeOf && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) + setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + +/***/ }), +/* 149 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var defineProperty = (__w_pdfjs_require__(47).f); +var create = __w_pdfjs_require__(73); +var redefineAll = __w_pdfjs_require__(102); +var bind = __w_pdfjs_require__(80); +var anInstance = __w_pdfjs_require__(104); +var iterate = __w_pdfjs_require__(79); +var defineIterator = __w_pdfjs_require__(93); +var setSpecies = __w_pdfjs_require__(103); +var DESCRIPTORS = __w_pdfjs_require__(10); +var fastKey = (__w_pdfjs_require__(141).fastKey); +var InternalStateModule = __w_pdfjs_require__(52); +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: undefined, + last: undefined, + size: 0 + }); + if (!DESCRIPTORS) + that.size = 0; + if (iterable != undefined) + iterate(iterable, that[ADDER], { + that: that, + AS_ENTRIES: IS_MAP + }); + }); + var Prototype = Constructor.prototype; + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + if (entry) { + entry.value = value; + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: undefined, + removed: false + }; + if (!state.first) + state.first = entry; + if (previous) + previous.next = entry; + if (DESCRIPTORS) + state.size++; + else + that.size++; + if (index !== 'F') + state.index[index] = entry; + } + return that; + }; + var getEntry = function (that, key) { + var state = getInternalState(that); + var index = fastKey(key); + var entry; + if (index !== 'F') + return state.index[index]; + for (entry = state.first; entry; entry = entry.next) { + if (entry.key == key) + return entry; + } + }; + redefineAll(Prototype, { + clear: function clear() { + var that = this; + var state = getInternalState(that); + var data = state.index; + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) + entry.previous = entry.previous.next = undefined; + delete data[entry.index]; + entry = entry.next; + } + state.first = state.last = undefined; + if (DESCRIPTORS) + state.size = 0; + else + that.size = 0; + }, + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) + prev.next = next; + if (next) + next.previous = prev; + if (state.first == entry) + state.first = next; + if (state.last == entry) + state.last = prev; + if (DESCRIPTORS) + state.size--; + else + that.size--; + } + return !!entry; + }, + forEach: function forEach(callbackfn) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + while (entry && entry.removed) + entry = entry.previous; + } + }, + has: function has(key) { + return !!getEntry(this, key); + } + }); + redefineAll(Prototype, IS_MAP ? { + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) + defineProperty(Prototype, 'size', { + get: function () { + return getInternalState(this).size; + } + }); + return Constructor; + }, + setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: undefined + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + while (entry && entry.removed) + entry = entry.previous; + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + state.target = undefined; + return { + value: undefined, + done: true + }; + } + if (kind == 'keys') + return { + value: entry.key, + done: false + }; + if (kind == 'values') + return { + value: entry.value, + done: false + }; + return { + value: [ + entry.key, + entry.value + ], + done: false + }; + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + setSpecies(CONSTRUCTOR_NAME); + } +}; + +/***/ }), +/* 150 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(151); + +/***/ }), +/* 151 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var collection = __w_pdfjs_require__(140); +var collectionStrong = __w_pdfjs_require__(149); +collection('Set', function (init) { + return function Set() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}, collectionStrong); + +/***/ }), +/* 152 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var IS_PURE = __w_pdfjs_require__(38); +var $ = __w_pdfjs_require__(7); +var global = __w_pdfjs_require__(8); +var getBuiltin = __w_pdfjs_require__(26); +var uncurryThis = __w_pdfjs_require__(18); +var fails = __w_pdfjs_require__(11); +var uid = __w_pdfjs_require__(43); +var isCallable = __w_pdfjs_require__(24); +var isConstructor = __w_pdfjs_require__(107); +var isObject = __w_pdfjs_require__(23); +var isSymbol = __w_pdfjs_require__(25); +var iterate = __w_pdfjs_require__(79); +var anObject = __w_pdfjs_require__(49); +var classof = __w_pdfjs_require__(85); +var hasOwn = __w_pdfjs_require__(41); +var createProperty = __w_pdfjs_require__(144); +var createNonEnumerableProperty = __w_pdfjs_require__(46); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var validateArgumentsLength = __w_pdfjs_require__(111); +var getRegExpFlags = __w_pdfjs_require__(153); +var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(90); +var Object = global.Object; +var Date = global.Date; +var Error = global.Error; +var EvalError = global.EvalError; +var RangeError = global.RangeError; +var ReferenceError = global.ReferenceError; +var SyntaxError = global.SyntaxError; +var TypeError = global.TypeError; +var URIError = global.URIError; +var PerformanceMark = global.PerformanceMark; +var WebAssembly = global.WebAssembly; +var CompileError = WebAssembly && WebAssembly.CompileError || Error; +var LinkError = WebAssembly && WebAssembly.LinkError || Error; +var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error; +var DOMException = getBuiltin('DOMException'); +var Set = getBuiltin('Set'); +var Map = getBuiltin('Map'); +var MapPrototype = Map.prototype; +var mapHas = uncurryThis(MapPrototype.has); +var mapGet = uncurryThis(MapPrototype.get); +var mapSet = uncurryThis(MapPrototype.set); +var setAdd = uncurryThis(Set.prototype.add); +var objectKeys = getBuiltin('Object', 'keys'); +var push = uncurryThis([].push); +var booleanValueOf = uncurryThis(true.valueOf); +var numberValueOf = uncurryThis(1.0.valueOf); +var stringValueOf = uncurryThis(''.valueOf); +var getTime = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new global.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7; + }) && structuredCloneImplementation; +}; +var checkNewErrorsSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3; + }) && structuredCloneImplementation; +}; +var nativeStructuredClone = global.structuredClone; +var FORCED_REPLACEMENT = IS_PURE || !checkNewErrorsSemantic(nativeStructuredClone); +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; +var throwUnpolyfillable = function (type, kind) { + throw new DOMException((kind || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; +var structuredCloneInternal = function (value, map) { + if (isSymbol(value)) + throwUncloneable('Symbol'); + if (!isObject(value)) + return value; + if (map) { + if (mapHas(map, value)) + return mapGet(map, value); + } else + map = new Map(); + var type = classof(value); + var deep = false; + var C, name, cloned, dataTransfer, i, length, keys, key, source, target; + switch (type) { + case 'Array': + cloned = []; + deep = true; + break; + case 'Object': + cloned = {}; + deep = true; + break; + case 'Map': + cloned = new Map(); + deep = true; + break; + case 'Set': + cloned = new Set(); + deep = true; + break; + case 'RegExp': + cloned = new RegExp(value.source, getRegExpFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = getBuiltin('AggregateError')([]); + break; + case 'EvalError': + cloned = EvalError(); + break; + case 'RangeError': + cloned = RangeError(); + break; + case 'ReferenceError': + cloned = ReferenceError(); + break; + case 'SyntaxError': + cloned = SyntaxError(); + break; + case 'TypeError': + cloned = TypeError(); + break; + case 'URIError': + cloned = URIError(); + break; + case 'CompileError': + cloned = CompileError(); + break; + case 'LinkError': + cloned = LinkError(); + break; + case 'RuntimeError': + cloned = RuntimeError(); + break; + default: + cloned = Error(); + } + deep = true; + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + deep = true; + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + C = global[type]; + if (!isObject(C)) + throwUnpolyfillable(type); + cloned = new C(structuredCloneInternal(value.buffer, map), value.byteOffset, type === 'DataView' ? value.byteLength : value.length); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad(structuredCloneInternal(value.p1, map), structuredCloneInternal(value.p2, map), structuredCloneInternal(value.p3, map), structuredCloneInternal(value.p4, map)); + } catch (error) { + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + throwUnpolyfillable(type); + } + break; + case 'FileList': + C = global.DataTransfer; + if (isConstructor(C)) { + dataTransfer = new C(); + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map)); + } + cloned = dataTransfer.files; + } else if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + throwUnpolyfillable(type); + break; + case 'ImageData': + try { + cloned = new ImageData(structuredCloneInternal(value.data, map), value.width, value.height, { colorSpace: value.colorSpace }); + } catch (error) { + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + throwUnpolyfillable(type); + } + break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + switch (type) { + case 'BigInt': + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(booleanValueOf(value)); + break; + case 'Number': + cloned = Object(numberValueOf(value)); + break; + case 'String': + cloned = Object(stringValueOf(value)); + break; + case 'Date': + cloned = new Date(getTime(value)); + break; + case 'ArrayBuffer': + C = global.DataView; + if (!C && typeof value.slice != 'function') + throwUnpolyfillable(type); + try { + if (typeof value.slice == 'function') { + cloned = value.slice(0); + } else { + length = value.byteLength; + cloned = new ArrayBuffer(length); + source = new C(value); + target = new C(cloned); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); + } + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); + } + break; + case 'SharedArrayBuffer': + cloned = value; + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = global[type]; + try { + cloned = C.fromPoint ? C.fromPoint(value) : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = global[type]; + try { + cloned = C.fromRect ? C.fromRect(value) : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = global[type]; + try { + cloned = C.fromMatrix ? C.fromMatrix(value) : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) + throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } + break; + case 'File': + try { + cloned = new File([value], value.name, value); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'CryptoKey': + case 'GPUCompilationMessage': + case 'GPUCompilationInfo': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + default: + throwUncloneable(type); + } + } + mapSet(map, value, cloned); + if (deep) + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map)); + } + break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); + }); + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map)); + } + if (name == 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map); + } + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map)); + } + } + return cloned; +}; +var PROPER_TRANSFER = nativeStructuredClone && !fails(function () { + var buffer = new ArrayBuffer(8); + var clone = nativeStructuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength != 0 || clone.byteLength != 8; +}); +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) + throw TypeError('Transfer option cannot be converted to a sequence'); + var transfer = []; + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + var i = 0; + var length = lengthOfArrayLike(transfer); + var value, type, C, transferredArray, transferred, canvas, context; + if (PROPER_TRANSFER) { + transferredArray = nativeStructuredClone(transfer, { transfer: transfer }); + while (i < length) + mapSet(map, transfer[i], transferredArray[i++]); + } else + while (i < length) { + value = transfer[i++]; + if (mapHas(map, value)) + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + type = classof(value); + switch (type) { + case 'ImageBitmap': + C = global.OffscreenCanvas; + if (!isConstructor(C)) + throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { + } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) + throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { + } + break; + case 'ArrayBuffer': + case 'MessagePort': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'TransformStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + if (transferred === undefined) + throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + mapSet(map, value, transferred); + } +}; +$({ + global: true, + enumerable: true, + sham: !PROPER_TRANSFER, + forced: FORCED_REPLACEMENT +}, { + structuredClone: function structuredClone(value) { + var options = validateArgumentsLength(arguments.length, 1) > 1 && arguments[1] != null ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var map; + if (transfer !== undefined) { + map = new Map(); + tryToTransfer(transfer, map); + } + return structuredCloneInternal(value, map); + } +}); + +/***/ }), +/* 153 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var call = __w_pdfjs_require__(12); +var hasOwn = __w_pdfjs_require__(41); +var isPrototypeOf = __w_pdfjs_require__(27); +var regExpFlags = __w_pdfjs_require__(154); +var RegExpPrototype = RegExp.prototype; +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) ? call(regExpFlags, R) : flags; +}; + +/***/ }), +/* 154 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var anObject = __w_pdfjs_require__(49); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.hasIndices) + result += 'd'; + if (that.global) + result += 'g'; + if (that.ignoreCase) + result += 'i'; + if (that.multiline) + result += 'm'; + if (that.dotAll) + result += 's'; + if (that.unicode) + result += 'u'; + if (that.sticky) + result += 'y'; + return result; +}; + +/***/ }), +/* 155 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.build = exports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0; +exports.getDocument = getDocument; +exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory; +exports.version = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(156)); + +var _util = __w_pdfjs_require__(1); + +var _display_utils = __w_pdfjs_require__(158); + +var _font_loader = __w_pdfjs_require__(160); + +var _annotation_storage = __w_pdfjs_require__(161); + +var _canvas = __w_pdfjs_require__(163); + +var _worker_options = __w_pdfjs_require__(166); + +var _is_node = __w_pdfjs_require__(3); + +var _message_handler = __w_pdfjs_require__(167); + +var _metadata = __w_pdfjs_require__(168); + +var _optional_content_config = __w_pdfjs_require__(169); + +var _transport_stream = __w_pdfjs_require__(170); + +var _xfa_text = __w_pdfjs_require__(171); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classCheckPrivateStaticFieldDescriptor(descriptor, action) { if (descriptor === undefined) { throw new TypeError("attempted to " + action + " private static field before its declaration"); } } + +function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +var DEFAULT_RANGE_CHUNK_SIZE = 65536; +var RENDERING_CANCELLED_TIMEOUT = 100; +var DefaultCanvasFactory = _display_utils.DOMCanvasFactory; +exports.DefaultCanvasFactory = DefaultCanvasFactory; +var DefaultCMapReaderFactory = _display_utils.DOMCMapReaderFactory; +exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory; +var DefaultStandardFontDataFactory = _display_utils.DOMStandardFontDataFactory; +exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory; + +if (_is_node.isNodeJS) { + var _require = __w_pdfjs_require__(172), + NodeCanvasFactory = _require.NodeCanvasFactory, + NodeCMapReaderFactory = _require.NodeCMapReaderFactory, + NodeStandardFontDataFactory = _require.NodeStandardFontDataFactory; + + exports.DefaultCanvasFactory = DefaultCanvasFactory = NodeCanvasFactory; + exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory = NodeCMapReaderFactory; + exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory = NodeStandardFontDataFactory; +} + +var createPDFNetworkStream; + +function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) { + createPDFNetworkStream = pdfNetworkStreamFactory; +} + +function getDocument(src) { + var task = new PDFDocumentLoadingTask(); + var source; + + if (typeof src === "string" || src instanceof URL) { + source = { + url: src + }; + } else if ((0, _util.isArrayBuffer)(src)) { + source = { + data: src + }; + } else if (src instanceof PDFDataRangeTransport) { + source = { + range: src + }; + } else { + if (_typeof(src) !== "object") { + throw new Error("Invalid parameter in getDocument, " + "need either string, URL, Uint8Array, or parameter object."); + } + + if (!src.url && !src.data && !src.range) { + throw new Error("Invalid parameter object: need either .data, .range or .url"); + } + + source = src; + } + + var params = Object.create(null); + var rangeTransport = null, + worker = null; + + for (var key in source) { + var value = source[key]; + + switch (key) { + case "url": + if (typeof window !== "undefined") { + try { + params[key] = new URL(value, window.location).href; + continue; + } catch (ex) { + (0, _util.warn)("Cannot create valid URL: \"".concat(ex, "\".")); + } + } else if (typeof value === "string" || value instanceof URL) { + params[key] = value.toString(); + continue; + } + + throw new Error("Invalid PDF url data: " + "either string or URL-object is expected in the url property."); + + case "range": + rangeTransport = value; + continue; + + case "worker": + worker = value; + continue; + + case "data": + if (_is_node.isNodeJS && typeof Buffer !== "undefined" && value instanceof Buffer) { + params[key] = new Uint8Array(value); + } else if (value instanceof Uint8Array) { + break; + } else if (typeof value === "string") { + params[key] = (0, _util.stringToBytes)(value); + } else if (_typeof(value) === "object" && value !== null && !isNaN(value.length)) { + params[key] = new Uint8Array(value); + } else if ((0, _util.isArrayBuffer)(value)) { + params[key] = new Uint8Array(value); + } else { + throw new Error("Invalid PDF binary data: either typed array, " + "string, or array-like object is expected in the data property."); + } + + continue; + } + + params[key] = value; + } + + params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory; + params.StandardFontDataFactory = params.StandardFontDataFactory || DefaultStandardFontDataFactory; + params.ignoreErrors = params.stopAtErrors !== true; + params.fontExtraProperties = params.fontExtraProperties === true; + params.pdfBug = params.pdfBug === true; + params.enableXfa = params.enableXfa === true; + + if (!Number.isInteger(params.rangeChunkSize) || params.rangeChunkSize < 1) { + params.rangeChunkSize = DEFAULT_RANGE_CHUNK_SIZE; + } + + if (typeof params.docBaseUrl !== "string" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) { + params.docBaseUrl = null; + } + + if (!Number.isInteger(params.maxImageSize) || params.maxImageSize < -1) { + params.maxImageSize = -1; + } + + if (typeof params.cMapUrl !== "string") { + params.cMapUrl = null; + } + + if (typeof params.standardFontDataUrl !== "string") { + params.standardFontDataUrl = null; + } + + if (typeof params.useWorkerFetch !== "boolean") { + params.useWorkerFetch = params.CMapReaderFactory === _display_utils.DOMCMapReaderFactory && params.StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory; + } + + if (typeof params.isEvalSupported !== "boolean") { + params.isEvalSupported = true; + } + + if (typeof params.disableFontFace !== "boolean") { + params.disableFontFace = _is_node.isNodeJS; + } + + if (typeof params.useSystemFonts !== "boolean") { + params.useSystemFonts = !_is_node.isNodeJS && !params.disableFontFace; + } + + if (_typeof(params.ownerDocument) !== "object" || params.ownerDocument === null) { + params.ownerDocument = globalThis.document; + } + + if (typeof params.disableRange !== "boolean") { + params.disableRange = false; + } + + if (typeof params.disableStream !== "boolean") { + params.disableStream = false; + } + + if (typeof params.disableAutoFetch !== "boolean") { + params.disableAutoFetch = false; + } + + (0, _util.setVerbosityLevel)(params.verbosity); + + if (!worker) { + var workerParams = { + verbosity: params.verbosity, + port: _worker_options.GlobalWorkerOptions.workerPort + }; + worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams); + task._worker = worker; + } + + var docId = task.docId; + worker.promise.then(function () { + if (task.destroyed) { + throw new Error("Loading aborted"); + } + + var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId); + + var networkStreamPromise = new Promise(function (resolve) { + var networkStream; + + if (rangeTransport) { + networkStream = new _transport_stream.PDFDataTransportStream({ + length: params.length, + initialData: params.initialData, + progressiveDone: params.progressiveDone, + contentDispositionFilename: params.contentDispositionFilename, + disableRange: params.disableRange, + disableStream: params.disableStream + }, rangeTransport); + } else if (!params.data) { + networkStream = createPDFNetworkStream({ + url: params.url, + length: params.length, + httpHeaders: params.httpHeaders, + withCredentials: params.withCredentials, + rangeChunkSize: params.rangeChunkSize, + disableRange: params.disableRange, + disableStream: params.disableStream + }); + } + + resolve(networkStream); + }); + return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + workerId = _ref2[0], + networkStream = _ref2[1]; + + if (task.destroyed) { + throw new Error("Loading aborted"); + } + + var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port); + var transport = new WorkerTransport(messageHandler, task, networkStream, params); + task._transport = transport; + messageHandler.send("Ready", null); + }); + })["catch"](task._capability.reject); + return task; +} + +function _fetchDocument(_x, _x2, _x3, _x4) { + return _fetchDocument2.apply(this, arguments); +} + +function _fetchDocument2() { + _fetchDocument2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7(worker, source, pdfDataRangeTransport, docId) { + var workerId; + return _regenerator["default"].wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + if (!worker.destroyed) { + _context7.next = 2; + break; + } + + throw new Error("Worker was destroyed"); + + case 2: + if (pdfDataRangeTransport) { + source.length = pdfDataRangeTransport.length; + source.initialData = pdfDataRangeTransport.initialData; + source.progressiveDone = pdfDataRangeTransport.progressiveDone; + source.contentDispositionFilename = pdfDataRangeTransport.contentDispositionFilename; + } + + _context7.next = 5; + return worker.messageHandler.sendWithPromise("GetDocRequest", { + docId: docId, + apiVersion: '2.14.305', + source: { + data: source.data, + url: source.url, + password: source.password, + disableAutoFetch: source.disableAutoFetch, + rangeChunkSize: source.rangeChunkSize, + length: source.length + }, + maxImageSize: source.maxImageSize, + disableFontFace: source.disableFontFace, + docBaseUrl: source.docBaseUrl, + ignoreErrors: source.ignoreErrors, + isEvalSupported: source.isEvalSupported, + fontExtraProperties: source.fontExtraProperties, + enableXfa: source.enableXfa, + useSystemFonts: source.useSystemFonts, + cMapUrl: source.useWorkerFetch ? source.cMapUrl : null, + standardFontDataUrl: source.useWorkerFetch ? source.standardFontDataUrl : null + }); + + case 5: + workerId = _context7.sent; + + if (!worker.destroyed) { + _context7.next = 8; + break; + } + + throw new Error("Worker was destroyed"); + + case 8: + return _context7.abrupt("return", workerId); + + case 9: + case "end": + return _context7.stop(); + } + } + }, _callee7); + })); + return _fetchDocument2.apply(this, arguments); +} + +var PDFDocumentLoadingTask = /*#__PURE__*/function () { + function PDFDocumentLoadingTask() { + var _PDFDocumentLoadingTa, _PDFDocumentLoadingTa2; + + _classCallCheck(this, PDFDocumentLoadingTask); + + this._capability = (0, _util.createPromiseCapability)(); + this._transport = null; + this._worker = null; + this.docId = "d".concat((_classStaticPrivateFieldSpecSet(PDFDocumentLoadingTask, PDFDocumentLoadingTask, _docId, (_PDFDocumentLoadingTa = _classStaticPrivateFieldSpecGet(PDFDocumentLoadingTask, PDFDocumentLoadingTask, _docId), _PDFDocumentLoadingTa2 = _PDFDocumentLoadingTa++, _PDFDocumentLoadingTa)), _PDFDocumentLoadingTa2)); + this.destroyed = false; + this.onPassword = null; + this.onProgress = null; + this.onUnsupportedFeature = null; + } + + _createClass(PDFDocumentLoadingTask, [{ + key: "promise", + get: function get() { + return this._capability.promise; + } + }, { + key: "destroy", + value: function () { + var _destroy = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var _this$_transport; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + this.destroyed = true; + _context.next = 3; + return (_this$_transport = this._transport) === null || _this$_transport === void 0 ? void 0 : _this$_transport.destroy(); + + case 3: + this._transport = null; + + if (this._worker) { + this._worker.destroy(); + + this._worker = null; + } + + case 5: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function destroy() { + return _destroy.apply(this, arguments); + } + + return destroy; + }() + }]); + + return PDFDocumentLoadingTask; +}(); + +exports.PDFDocumentLoadingTask = PDFDocumentLoadingTask; +var _docId = { + writable: true, + value: 0 +}; + +var PDFDataRangeTransport = /*#__PURE__*/function () { + function PDFDataRangeTransport(length, initialData) { + var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + + _classCallCheck(this, PDFDataRangeTransport); + + this.length = length; + this.initialData = initialData; + this.progressiveDone = progressiveDone; + this.contentDispositionFilename = contentDispositionFilename; + this._rangeListeners = []; + this._progressListeners = []; + this._progressiveReadListeners = []; + this._progressiveDoneListeners = []; + this._readyCapability = (0, _util.createPromiseCapability)(); + } + + _createClass(PDFDataRangeTransport, [{ + key: "addRangeListener", + value: function addRangeListener(listener) { + this._rangeListeners.push(listener); + } + }, { + key: "addProgressListener", + value: function addProgressListener(listener) { + this._progressListeners.push(listener); + } + }, { + key: "addProgressiveReadListener", + value: function addProgressiveReadListener(listener) { + this._progressiveReadListeners.push(listener); + } + }, { + key: "addProgressiveDoneListener", + value: function addProgressiveDoneListener(listener) { + this._progressiveDoneListeners.push(listener); + } + }, { + key: "onDataRange", + value: function onDataRange(begin, chunk) { + var _iterator = _createForOfIteratorHelper(this._rangeListeners), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var listener = _step.value; + listener(begin, chunk); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "onDataProgress", + value: function onDataProgress(loaded, total) { + var _this = this; + + this._readyCapability.promise.then(function () { + var _iterator2 = _createForOfIteratorHelper(_this._progressListeners), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var listener = _step2.value; + listener(loaded, total); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + }); + } + }, { + key: "onDataProgressiveRead", + value: function onDataProgressiveRead(chunk) { + var _this2 = this; + + this._readyCapability.promise.then(function () { + var _iterator3 = _createForOfIteratorHelper(_this2._progressiveReadListeners), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var listener = _step3.value; + listener(chunk); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + }); + } + }, { + key: "onDataProgressiveDone", + value: function onDataProgressiveDone() { + var _this3 = this; + + this._readyCapability.promise.then(function () { + var _iterator4 = _createForOfIteratorHelper(_this3._progressiveDoneListeners), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var listener = _step4.value; + listener(); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + }); + } + }, { + key: "transportReady", + value: function transportReady() { + this._readyCapability.resolve(); + } + }, { + key: "requestDataRange", + value: function requestDataRange(begin, end) { + (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange"); + } + }, { + key: "abort", + value: function abort() {} + }]); + + return PDFDataRangeTransport; +}(); + +exports.PDFDataRangeTransport = PDFDataRangeTransport; + +var PDFDocumentProxy = /*#__PURE__*/function () { + function PDFDocumentProxy(pdfInfo, transport) { + var _this4 = this; + + _classCallCheck(this, PDFDocumentProxy); + + this._pdfInfo = pdfInfo; + this._transport = transport; + Object.defineProperty(this, "fingerprint", { + get: function get() { + (0, _display_utils.deprecated)("`PDFDocumentProxy.fingerprint`, " + "please use `PDFDocumentProxy.fingerprints` instead."); + return this.fingerprints[0]; + } + }); + Object.defineProperty(this, "getStats", { + value: function () { + var _value = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + (0, _display_utils.deprecated)("`PDFDocumentProxy.getStats`, " + "please use the `PDFDocumentProxy.stats`-getter instead."); + return _context2.abrupt("return", _this4.stats || { + streamTypes: {}, + fontTypes: {} + }); + + case 2: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function value() { + return _value.apply(this, arguments); + } + + return value; + }() + }); + } + + _createClass(PDFDocumentProxy, [{ + key: "annotationStorage", + get: function get() { + return this._transport.annotationStorage; + } + }, { + key: "numPages", + get: function get() { + return this._pdfInfo.numPages; + } + }, { + key: "fingerprints", + get: function get() { + return this._pdfInfo.fingerprints; + } + }, { + key: "stats", + get: function get() { + return this._transport.stats; + } + }, { + key: "isPureXfa", + get: function get() { + return !!this._transport._htmlForXfa; + } + }, { + key: "allXfaHtml", + get: function get() { + return this._transport._htmlForXfa; + } + }, { + key: "getPage", + value: function getPage(pageNumber) { + return this._transport.getPage(pageNumber); + } + }, { + key: "getPageIndex", + value: function getPageIndex(ref) { + return this._transport.getPageIndex(ref); + } + }, { + key: "getDestinations", + value: function getDestinations() { + return this._transport.getDestinations(); + } + }, { + key: "getDestination", + value: function getDestination(id) { + return this._transport.getDestination(id); + } + }, { + key: "getPageLabels", + value: function getPageLabels() { + return this._transport.getPageLabels(); + } + }, { + key: "getPageLayout", + value: function getPageLayout() { + return this._transport.getPageLayout(); + } + }, { + key: "getPageMode", + value: function getPageMode() { + return this._transport.getPageMode(); + } + }, { + key: "getViewerPreferences", + value: function getViewerPreferences() { + return this._transport.getViewerPreferences(); + } + }, { + key: "getOpenAction", + value: function getOpenAction() { + return this._transport.getOpenAction(); + } + }, { + key: "getAttachments", + value: function getAttachments() { + return this._transport.getAttachments(); + } + }, { + key: "getJavaScript", + value: function getJavaScript() { + return this._transport.getJavaScript(); + } + }, { + key: "getJSActions", + value: function getJSActions() { + return this._transport.getDocJSActions(); + } + }, { + key: "getOutline", + value: function getOutline() { + return this._transport.getOutline(); + } + }, { + key: "getOptionalContentConfig", + value: function getOptionalContentConfig() { + return this._transport.getOptionalContentConfig(); + } + }, { + key: "getPermissions", + value: function getPermissions() { + return this._transport.getPermissions(); + } + }, { + key: "getMetadata", + value: function getMetadata() { + return this._transport.getMetadata(); + } + }, { + key: "getMarkInfo", + value: function getMarkInfo() { + return this._transport.getMarkInfo(); + } + }, { + key: "getData", + value: function getData() { + return this._transport.getData(); + } + }, { + key: "getDownloadInfo", + value: function getDownloadInfo() { + return this._transport.downloadInfoCapability.promise; + } + }, { + key: "cleanup", + value: function cleanup() { + var keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa); + } + }, { + key: "destroy", + value: function destroy() { + return this.loadingTask.destroy(); + } + }, { + key: "loadingParams", + get: function get() { + return this._transport.loadingParams; + } + }, { + key: "loadingTask", + get: function get() { + return this._transport.loadingTask; + } + }, { + key: "saveDocument", + value: function saveDocument() { + if (this._transport.annotationStorage.size <= 0) { + (0, _display_utils.deprecated)("saveDocument called while `annotationStorage` is empty, " + "please use the getData-method instead."); + } + + return this._transport.saveDocument(); + } + }, { + key: "getFieldObjects", + value: function getFieldObjects() { + return this._transport.getFieldObjects(); + } + }, { + key: "hasJSActions", + value: function hasJSActions() { + return this._transport.hasJSActions(); + } + }, { + key: "getCalculationOrderIds", + value: function getCalculationOrderIds() { + return this._transport.getCalculationOrderIds(); + } + }]); + + return PDFDocumentProxy; +}(); + +exports.PDFDocumentProxy = PDFDocumentProxy; + +var PDFPageProxy = /*#__PURE__*/function () { + function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) { + var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + + _classCallCheck(this, PDFPageProxy); + + this._pageIndex = pageIndex; + this._pageInfo = pageInfo; + this._ownerDocument = ownerDocument; + this._transport = transport; + this._stats = pdfBug ? new _display_utils.StatTimer() : null; + this._pdfBug = pdfBug; + this.commonObjs = transport.commonObjs; + this.objs = new PDFObjects(); + this._bitmaps = new Set(); + this.cleanupAfterRender = false; + this.pendingCleanup = false; + this._intentStates = new Map(); + this._annotationPromises = new Map(); + this.destroyed = false; + } + + _createClass(PDFPageProxy, [{ + key: "pageNumber", + get: function get() { + return this._pageIndex + 1; + } + }, { + key: "rotate", + get: function get() { + return this._pageInfo.rotate; + } + }, { + key: "ref", + get: function get() { + return this._pageInfo.ref; + } + }, { + key: "userUnit", + get: function get() { + return this._pageInfo.userUnit; + } + }, { + key: "view", + get: function get() { + return this._pageInfo.view; + } + }, { + key: "getViewport", + value: function getViewport() { + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + scale = _ref3.scale, + _ref3$rotation = _ref3.rotation, + rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation, + _ref3$offsetX = _ref3.offsetX, + offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX, + _ref3$offsetY = _ref3.offsetY, + offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY, + _ref3$dontFlip = _ref3.dontFlip, + dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip; + + return new _display_utils.PageViewport({ + viewBox: this.view, + scale: scale, + rotation: rotation, + offsetX: offsetX, + offsetY: offsetY, + dontFlip: dontFlip + }); + } + }, { + key: "getAnnotations", + value: function getAnnotations() { + var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref4$intent = _ref4.intent, + intent = _ref4$intent === void 0 ? "display" : _ref4$intent; + + var intentArgs = this._transport.getRenderingIntent(intent); + + var promise = this._annotationPromises.get(intentArgs.cacheKey); + + if (!promise) { + promise = this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent); + + this._annotationPromises.set(intentArgs.cacheKey, promise); + + promise = promise.then(function (annotations) { + var _iterator5 = _createForOfIteratorHelper(annotations), + _step5; + + try { + var _loop = function _loop() { + var annotation = _step5.value; + + if (annotation.titleObj !== undefined) { + Object.defineProperty(annotation, "title", { + get: function get() { + (0, _display_utils.deprecated)("`title`-property on annotation, please use `titleObj` instead."); + return annotation.titleObj.str; + } + }); + } + + if (annotation.contentsObj !== undefined) { + Object.defineProperty(annotation, "contents", { + get: function get() { + (0, _display_utils.deprecated)("`contents`-property on annotation, please use `contentsObj` instead."); + return annotation.contentsObj.str; + } + }); + } + }; + + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + _loop(); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + return annotations; + }); + } + + return promise; + } + }, { + key: "getJSActions", + value: function getJSActions() { + return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex)); + } + }, { + key: "getXfa", + value: function () { + var _getXfa = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + var _this$_transport$_htm; + + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + return _context3.abrupt("return", ((_this$_transport$_htm = this._transport._htmlForXfa) === null || _this$_transport$_htm === void 0 ? void 0 : _this$_transport$_htm.children[this._pageIndex]) || null); + + case 1: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function getXfa() { + return _getXfa.apply(this, arguments); + } + + return getXfa; + }() + }, { + key: "render", + value: function render(_ref5) { + var _arguments$, + _arguments$2, + _this5 = this, + _intentState; + + var canvasContext = _ref5.canvasContext, + viewport = _ref5.viewport, + _ref5$intent = _ref5.intent, + intent = _ref5$intent === void 0 ? "display" : _ref5$intent, + _ref5$annotationMode = _ref5.annotationMode, + annotationMode = _ref5$annotationMode === void 0 ? _util.AnnotationMode.ENABLE : _ref5$annotationMode, + _ref5$transform = _ref5.transform, + transform = _ref5$transform === void 0 ? null : _ref5$transform, + _ref5$imageLayer = _ref5.imageLayer, + imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer, + _ref5$canvasFactory = _ref5.canvasFactory, + canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory, + _ref5$background = _ref5.background, + background = _ref5$background === void 0 ? null : _ref5$background, + _ref5$optionalContent = _ref5.optionalContentConfigPromise, + optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent, + _ref5$annotationCanva = _ref5.annotationCanvasMap, + annotationCanvasMap = _ref5$annotationCanva === void 0 ? null : _ref5$annotationCanva, + _ref5$pageColors = _ref5.pageColors, + pageColors = _ref5$pageColors === void 0 ? null : _ref5$pageColors; + + if (((_arguments$ = arguments[0]) === null || _arguments$ === void 0 ? void 0 : _arguments$.renderInteractiveForms) !== undefined) { + (0, _display_utils.deprecated)("render no longer accepts the `renderInteractiveForms`-option, " + "please use the `annotationMode`-option instead."); + + if (arguments[0].renderInteractiveForms === true && annotationMode === _util.AnnotationMode.ENABLE) { + annotationMode = _util.AnnotationMode.ENABLE_FORMS; + } + } + + if (((_arguments$2 = arguments[0]) === null || _arguments$2 === void 0 ? void 0 : _arguments$2.includeAnnotationStorage) !== undefined) { + (0, _display_utils.deprecated)("render no longer accepts the `includeAnnotationStorage`-option, " + "please use the `annotationMode`-option instead."); + + if (arguments[0].includeAnnotationStorage === true && annotationMode === _util.AnnotationMode.ENABLE) { + annotationMode = _util.AnnotationMode.ENABLE_STORAGE; + } + } + + if (this._stats) { + this._stats.time("Overall"); + } + + var intentArgs = this._transport.getRenderingIntent(intent, annotationMode); + + this.pendingCleanup = false; + + if (!optionalContentConfigPromise) { + optionalContentConfigPromise = this._transport.getOptionalContentConfig(); + } + + var intentState = this._intentStates.get(intentArgs.cacheKey); + + if (!intentState) { + intentState = Object.create(null); + + this._intentStates.set(intentArgs.cacheKey, intentState); + } + + if (intentState.streamReaderCancelTimeout) { + clearTimeout(intentState.streamReaderCancelTimeout); + intentState.streamReaderCancelTimeout = null; + } + + var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({ + ownerDocument: this._ownerDocument + }); + var intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT); + + if (!intentState.displayReadyCapability) { + intentState.displayReadyCapability = (0, _util.createPromiseCapability)(); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false + }; + + if (this._stats) { + this._stats.time("Page Request"); + } + + this._pumpOperatorList(intentArgs); + } + + var complete = function complete(error) { + intentState.renderTasks["delete"](internalRenderTask); + + if (_this5.cleanupAfterRender || intentPrint) { + _this5.pendingCleanup = true; + } + + _this5._tryCleanup(); + + if (error) { + internalRenderTask.capability.reject(error); + + _this5._abortOperatorList({ + intentState: intentState, + reason: error instanceof Error ? error : new Error(error) + }); + } else { + internalRenderTask.capability.resolve(); + } + + if (_this5._stats) { + _this5._stats.timeEnd("Rendering"); + + _this5._stats.timeEnd("Overall"); + } + }; + + var internalRenderTask = new InternalRenderTask({ + callback: complete, + params: { + canvasContext: canvasContext, + viewport: viewport, + transform: transform, + imageLayer: imageLayer, + background: background + }, + objs: this.objs, + commonObjs: this.commonObjs, + annotationCanvasMap: annotationCanvasMap, + operatorList: intentState.operatorList, + pageIndex: this._pageIndex, + canvasFactory: canvasFactoryInstance, + useRequestAnimationFrame: !intentPrint, + pdfBug: this._pdfBug, + pageColors: pageColors + }); + ((_intentState = intentState).renderTasks || (_intentState.renderTasks = new Set())).add(internalRenderTask); + var renderTask = internalRenderTask.task; + Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) { + var _ref7 = _slicedToArray(_ref6, 2), + transparency = _ref7[0], + optionalContentConfig = _ref7[1]; + + if (_this5.pendingCleanup) { + complete(); + return; + } + + if (_this5._stats) { + _this5._stats.time("Rendering"); + } + + internalRenderTask.initializeGraphics({ + transparency: transparency, + optionalContentConfig: optionalContentConfig + }); + internalRenderTask.operatorListChanged(); + })["catch"](complete); + return renderTask; + } + }, { + key: "getOperatorList", + value: function getOperatorList() { + var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref8$intent = _ref8.intent, + intent = _ref8$intent === void 0 ? "display" : _ref8$intent, + _ref8$annotationMode = _ref8.annotationMode, + annotationMode = _ref8$annotationMode === void 0 ? _util.AnnotationMode.ENABLE : _ref8$annotationMode; + + function operatorListChanged() { + if (intentState.operatorList.lastChunk) { + intentState.opListReadCapability.resolve(intentState.operatorList); + intentState.renderTasks["delete"](opListTask); + } + } + + var intentArgs = this._transport.getRenderingIntent(intent, annotationMode, true); + + var intentState = this._intentStates.get(intentArgs.cacheKey); + + if (!intentState) { + intentState = Object.create(null); + + this._intentStates.set(intentArgs.cacheKey, intentState); + } + + var opListTask; + + if (!intentState.opListReadCapability) { + var _intentState2; + + opListTask = Object.create(null); + opListTask.operatorListChanged = operatorListChanged; + intentState.opListReadCapability = (0, _util.createPromiseCapability)(); + ((_intentState2 = intentState).renderTasks || (_intentState2.renderTasks = new Set())).add(opListTask); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false + }; + + if (this._stats) { + this._stats.time("Page Request"); + } + + this._pumpOperatorList(intentArgs); + } + + return intentState.opListReadCapability.promise; + } + }, { + key: "streamTextContent", + value: function streamTextContent() { + var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref9$disableCombineT = _ref9.disableCombineTextItems, + disableCombineTextItems = _ref9$disableCombineT === void 0 ? false : _ref9$disableCombineT, + _ref9$includeMarkedCo = _ref9.includeMarkedContent, + includeMarkedContent = _ref9$includeMarkedCo === void 0 ? false : _ref9$includeMarkedCo; + + var TEXT_CONTENT_CHUNK_SIZE = 100; + return this._transport.messageHandler.sendWithStream("GetTextContent", { + pageIndex: this._pageIndex, + combineTextItems: disableCombineTextItems !== true, + includeMarkedContent: includeMarkedContent === true + }, { + highWaterMark: TEXT_CONTENT_CHUNK_SIZE, + size: function size(textContent) { + return textContent.items.length; + } + }); + } + }, { + key: "getTextContent", + value: function getTextContent() { + var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + if (this._transport._htmlForXfa) { + return this.getXfa().then(function (xfa) { + return _xfa_text.XfaText.textContent(xfa); + }); + } + + var readableStream = this.streamTextContent(params); + return new Promise(function (resolve, reject) { + function pump() { + reader.read().then(function (_ref10) { + var _textContent$items; + + var value = _ref10.value, + done = _ref10.done; + + if (done) { + resolve(textContent); + return; + } + + Object.assign(textContent.styles, value.styles); + + (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items)); + + pump(); + }, reject); + } + + var reader = readableStream.getReader(); + var textContent = { + items: [], + styles: Object.create(null) + }; + pump(); + }); + } + }, { + key: "getStructTree", + value: function getStructTree() { + return this._structTreePromise || (this._structTreePromise = this._transport.getStructTree(this._pageIndex)); + } + }, { + key: "_destroy", + value: function _destroy() { + this.destroyed = true; + var waitOn = []; + + var _iterator6 = _createForOfIteratorHelper(this._intentStates.values()), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var intentState = _step6.value; + + this._abortOperatorList({ + intentState: intentState, + reason: new Error("Page was destroyed."), + force: true + }); + + if (intentState.opListReadCapability) { + continue; + } + + var _iterator8 = _createForOfIteratorHelper(intentState.renderTasks), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var internalRenderTask = _step8.value; + waitOn.push(internalRenderTask.completed); + internalRenderTask.cancel(); + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + this.objs.clear(); + + var _iterator7 = _createForOfIteratorHelper(this._bitmaps), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var bitmap = _step7.value; + bitmap.close(); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + this._bitmaps.clear(); + + this._annotationPromises.clear(); + + this._jsActionsPromise = null; + this._structTreePromise = null; + this.pendingCleanup = false; + return Promise.all(waitOn); + } + }, { + key: "cleanup", + value: function cleanup() { + var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + this.pendingCleanup = true; + return this._tryCleanup(resetStats); + } + }, { + key: "_tryCleanup", + value: function _tryCleanup() { + var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this.pendingCleanup) { + return false; + } + + var _iterator9 = _createForOfIteratorHelper(this._intentStates.values()), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var _step9$value = _step9.value, + renderTasks = _step9$value.renderTasks, + operatorList = _step9$value.operatorList; + + if (renderTasks.size > 0 || !operatorList.lastChunk) { + return false; + } + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + + this._intentStates.clear(); + + this.objs.clear(); + + this._annotationPromises.clear(); + + this._jsActionsPromise = null; + this._structTreePromise = null; + + if (resetStats && this._stats) { + this._stats = new _display_utils.StatTimer(); + } + + var _iterator10 = _createForOfIteratorHelper(this._bitmaps), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var bitmap = _step10.value; + bitmap.close(); + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + this._bitmaps.clear(); + + this.pendingCleanup = false; + return true; + } + }, { + key: "_startRenderPage", + value: function _startRenderPage(transparency, cacheKey) { + var intentState = this._intentStates.get(cacheKey); + + if (!intentState) { + return; + } + + if (this._stats) { + this._stats.timeEnd("Page Request"); + } + + if (intentState.displayReadyCapability) { + intentState.displayReadyCapability.resolve(transparency); + } + } + }, { + key: "_renderPageChunk", + value: function _renderPageChunk(operatorListChunk, intentState) { + for (var i = 0, ii = operatorListChunk.length; i < ii; i++) { + intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]); + intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]); + } + + intentState.operatorList.lastChunk = operatorListChunk.lastChunk; + + var _iterator11 = _createForOfIteratorHelper(intentState.renderTasks), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var internalRenderTask = _step11.value; + internalRenderTask.operatorListChanged(); + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + + if (operatorListChunk.lastChunk) { + this._tryCleanup(); + } + } + }, { + key: "_pumpOperatorList", + value: function _pumpOperatorList(_ref11) { + var _this6 = this; + + var renderingIntent = _ref11.renderingIntent, + cacheKey = _ref11.cacheKey; + + var readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", { + pageIndex: this._pageIndex, + intent: renderingIntent, + cacheKey: cacheKey, + annotationStorage: renderingIntent & _util.RenderingIntentFlag.ANNOTATIONS_STORAGE ? this._transport.annotationStorage.serializable : null + }); + + var reader = readableStream.getReader(); + + var intentState = this._intentStates.get(cacheKey); + + intentState.streamReader = reader; + + var pump = function pump() { + reader.read().then(function (_ref12) { + var value = _ref12.value, + done = _ref12.done; + + if (done) { + intentState.streamReader = null; + return; + } + + if (_this6._transport.destroyed) { + return; + } + + _this6._renderPageChunk(value, intentState); + + pump(); + }, function (reason) { + intentState.streamReader = null; + + if (_this6._transport.destroyed) { + return; + } + + if (intentState.operatorList) { + intentState.operatorList.lastChunk = true; + + var _iterator12 = _createForOfIteratorHelper(intentState.renderTasks), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var internalRenderTask = _step12.value; + internalRenderTask.operatorListChanged(); + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + + _this6._tryCleanup(); + } + + if (intentState.displayReadyCapability) { + intentState.displayReadyCapability.reject(reason); + } else if (intentState.opListReadCapability) { + intentState.opListReadCapability.reject(reason); + } else { + throw reason; + } + }); + }; + + pump(); + } + }, { + key: "_abortOperatorList", + value: function _abortOperatorList(_ref13) { + var _this7 = this; + + var intentState = _ref13.intentState, + reason = _ref13.reason, + _ref13$force = _ref13.force, + force = _ref13$force === void 0 ? false : _ref13$force; + + if (!intentState.streamReader) { + return; + } + + if (!force) { + if (intentState.renderTasks.size > 0) { + return; + } + + if (reason instanceof _display_utils.RenderingCancelledException) { + intentState.streamReaderCancelTimeout = setTimeout(function () { + _this7._abortOperatorList({ + intentState: intentState, + reason: reason, + force: true + }); + + intentState.streamReaderCancelTimeout = null; + }, RENDERING_CANCELLED_TIMEOUT); + return; + } + } + + intentState.streamReader.cancel(new _util.AbortException(reason.message))["catch"](function () {}); + intentState.streamReader = null; + + if (this._transport.destroyed) { + return; + } + + var _iterator13 = _createForOfIteratorHelper(this._intentStates), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var _step13$value = _slicedToArray(_step13.value, 2), + curCacheKey = _step13$value[0], + curIntentState = _step13$value[1]; + + if (curIntentState === intentState) { + this._intentStates["delete"](curCacheKey); + + break; + } + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + + this.cleanup(); + } + }, { + key: "stats", + get: function get() { + return this._stats; + } + }]); + + return PDFPageProxy; +}(); + +exports.PDFPageProxy = PDFPageProxy; + +var LoopbackPort = /*#__PURE__*/function () { + function LoopbackPort() { + _classCallCheck(this, LoopbackPort); + + this._listeners = []; + this._deferred = Promise.resolve(); + } + + _createClass(LoopbackPort, [{ + key: "postMessage", + value: function postMessage(obj, transfers) { + var _this8 = this; + + var event = { + data: structuredClone(obj, transfers) + }; + + this._deferred.then(function () { + var _iterator14 = _createForOfIteratorHelper(_this8._listeners), + _step14; + + try { + for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { + var listener = _step14.value; + listener.call(_this8, event); + } + } catch (err) { + _iterator14.e(err); + } finally { + _iterator14.f(); + } + }); + } + }, { + key: "addEventListener", + value: function addEventListener(name, listener) { + this._listeners.push(listener); + } + }, { + key: "removeEventListener", + value: function removeEventListener(name, listener) { + var i = this._listeners.indexOf(listener); + + this._listeners.splice(i, 1); + } + }, { + key: "terminate", + value: function terminate() { + this._listeners.length = 0; + } + }]); + + return LoopbackPort; +}(); + +exports.LoopbackPort = LoopbackPort; +var PDFWorkerUtil = { + isWorkerDisabled: false, + fallbackWorkerSrc: null, + fakeWorkerId: 0 +}; +exports.PDFWorkerUtil = PDFWorkerUtil; +{ + if (_is_node.isNodeJS && typeof require === "function") { + PDFWorkerUtil.isWorkerDisabled = true; + PDFWorkerUtil.fallbackWorkerSrc = "./pdf.worker.js"; + } else if ((typeof document === "undefined" ? "undefined" : _typeof(document)) === "object") { + var _document, _document$currentScri; + + var pdfjsFilePath = (_document = document) === null || _document === void 0 ? void 0 : (_document$currentScri = _document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.src; + + if (pdfjsFilePath) { + PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2"); + } + } + + PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) { + var base; + + try { + base = new URL(baseUrl); + + if (!base.origin || base.origin === "null") { + return false; + } + } catch (e) { + return false; + } + + var other = new URL(otherUrl, base); + return base.origin === other.origin; + }; + + PDFWorkerUtil.createCDNWrapper = function (url) { + var wrapper = "importScripts(\"".concat(url, "\");"); + return URL.createObjectURL(new Blob([wrapper])); + }; +} + +var PDFWorker = /*#__PURE__*/function () { + function PDFWorker() { + var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref14$name = _ref14.name, + name = _ref14$name === void 0 ? null : _ref14$name, + _ref14$port = _ref14.port, + port = _ref14$port === void 0 ? null : _ref14$port, + _ref14$verbosity = _ref14.verbosity, + verbosity = _ref14$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref14$verbosity; + + _classCallCheck(this, PDFWorker); + + if (port && _classStaticPrivateFieldSpecGet(PDFWorker, PDFWorker, _workerPorts).has(port)) { + throw new Error("Cannot use more than one PDFWorker per port."); + } + + this.name = name; + this.destroyed = false; + this.verbosity = verbosity; + this._readyCapability = (0, _util.createPromiseCapability)(); + this._port = null; + this._webWorker = null; + this._messageHandler = null; + + if (port) { + _classStaticPrivateFieldSpecGet(PDFWorker, PDFWorker, _workerPorts).set(port, this); + + this._initializeFromPort(port); + + return; + } + + this._initialize(); + } + + _createClass(PDFWorker, [{ + key: "promise", + get: function get() { + return this._readyCapability.promise; + } + }, { + key: "port", + get: function get() { + return this._port; + } + }, { + key: "messageHandler", + get: function get() { + return this._messageHandler; + } + }, { + key: "_initializeFromPort", + value: function _initializeFromPort(port) { + this._port = port; + this._messageHandler = new _message_handler.MessageHandler("main", "worker", port); + + this._messageHandler.on("ready", function () {}); + + this._readyCapability.resolve(); + } + }, { + key: "_initialize", + value: function _initialize() { + var _this9 = this; + + if (typeof Worker !== "undefined" && !PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) { + var workerSrc = PDFWorker.workerSrc; + + try { + if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) { + workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href); + } + + var worker = new Worker(workerSrc); + var messageHandler = new _message_handler.MessageHandler("main", "worker", worker); + + var terminateEarly = function terminateEarly() { + worker.removeEventListener("error", onWorkerError); + messageHandler.destroy(); + worker.terminate(); + + if (_this9.destroyed) { + _this9._readyCapability.reject(new Error("Worker was destroyed")); + } else { + _this9._setupFakeWorker(); + } + }; + + var onWorkerError = function onWorkerError() { + if (!_this9._webWorker) { + terminateEarly(); + } + }; + + worker.addEventListener("error", onWorkerError); + messageHandler.on("test", function (data) { + worker.removeEventListener("error", onWorkerError); + + if (_this9.destroyed) { + terminateEarly(); + return; + } + + if (data) { + _this9._messageHandler = messageHandler; + _this9._port = worker; + _this9._webWorker = worker; + + _this9._readyCapability.resolve(); + + messageHandler.send("configure", { + verbosity: _this9.verbosity + }); + } else { + _this9._setupFakeWorker(); + + messageHandler.destroy(); + worker.terminate(); + } + }); + messageHandler.on("ready", function (data) { + worker.removeEventListener("error", onWorkerError); + + if (_this9.destroyed) { + terminateEarly(); + return; + } + + try { + sendTest(); + } catch (e) { + _this9._setupFakeWorker(); + } + }); + + var sendTest = function sendTest() { + var testObj = new Uint8Array(); + messageHandler.send("test", testObj, [testObj.buffer]); + }; + + sendTest(); + return; + } catch (e) { + (0, _util.info)("The worker has been disabled."); + } + } + + this._setupFakeWorker(); + } + }, { + key: "_setupFakeWorker", + value: function _setupFakeWorker() { + var _this10 = this; + + if (!PDFWorkerUtil.isWorkerDisabled) { + (0, _util.warn)("Setting up fake worker."); + PDFWorkerUtil.isWorkerDisabled = true; + } + + PDFWorker._setupFakeWorkerGlobal.then(function (WorkerMessageHandler) { + if (_this10.destroyed) { + _this10._readyCapability.reject(new Error("Worker was destroyed")); + + return; + } + + var port = new LoopbackPort(); + _this10._port = port; + var id = "fake".concat(PDFWorkerUtil.fakeWorkerId++); + var workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port); + WorkerMessageHandler.setup(workerHandler, port); + var messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port); + _this10._messageHandler = messageHandler; + + _this10._readyCapability.resolve(); + + messageHandler.send("configure", { + verbosity: _this10.verbosity + }); + })["catch"](function (reason) { + _this10._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\"."))); + }); + } + }, { + key: "destroy", + value: function destroy() { + this.destroyed = true; + + if (this._webWorker) { + this._webWorker.terminate(); + + this._webWorker = null; + } + + _classStaticPrivateFieldSpecGet(PDFWorker, PDFWorker, _workerPorts)["delete"](this._port); + + this._port = null; + + if (this._messageHandler) { + this._messageHandler.destroy(); + + this._messageHandler = null; + } + } + }], [{ + key: "fromPort", + value: function fromPort(params) { + if (!(params !== null && params !== void 0 && params.port)) { + throw new Error("PDFWorker.fromPort - invalid method signature."); + } + + if (_classStaticPrivateFieldSpecGet(this, PDFWorker, _workerPorts).has(params.port)) { + return _classStaticPrivateFieldSpecGet(this, PDFWorker, _workerPorts).get(params.port); + } + + return new PDFWorker(params); + } + }, { + key: "workerSrc", + get: function get() { + if (_worker_options.GlobalWorkerOptions.workerSrc) { + return _worker_options.GlobalWorkerOptions.workerSrc; + } + + if (PDFWorkerUtil.fallbackWorkerSrc !== null) { + if (!_is_node.isNodeJS) { + (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'); + } + + return PDFWorkerUtil.fallbackWorkerSrc; + } + + throw new Error('No "GlobalWorkerOptions.workerSrc" specified.'); + } + }, { + key: "_mainThreadWorkerMessageHandler", + get: function get() { + try { + var _globalThis$pdfjsWork; + + return ((_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.WorkerMessageHandler) || null; + } catch (ex) { + return null; + } + } + }, { + key: "_setupFakeWorkerGlobal", + get: function get() { + var _this11 = this; + + var loader = /*#__PURE__*/function () { + var _ref15 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { + var mainWorkerMessageHandler, worker; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + mainWorkerMessageHandler = _this11._mainThreadWorkerMessageHandler; + + if (!mainWorkerMessageHandler) { + _context4.next = 3; + break; + } + + return _context4.abrupt("return", mainWorkerMessageHandler); + + case 3: + if (!(_is_node.isNodeJS && typeof require === "function")) { + _context4.next = 6; + break; + } + + worker = eval("require")(_this11.workerSrc); + return _context4.abrupt("return", worker.WorkerMessageHandler); + + case 6: + _context4.next = 8; + return (0, _display_utils.loadScript)(_this11.workerSrc); + + case 8: + return _context4.abrupt("return", window.pdfjsWorker.WorkerMessageHandler); + + case 9: + case "end": + return _context4.stop(); + } + } + }, _callee4); + })); + + return function loader() { + return _ref15.apply(this, arguments); + }; + }(); + + return (0, _util.shadow)(this, "_setupFakeWorkerGlobal", loader()); + } + }]); + + return PDFWorker; +}(); + +exports.PDFWorker = PDFWorker; +var _workerPorts = { + writable: true, + value: new WeakMap() +}; +{ + PDFWorker.getWorkerSrc = function () { + (0, _display_utils.deprecated)("`PDFWorker.getWorkerSrc()`, please use `PDFWorker.workerSrc` instead."); + return this.workerSrc; + }; +} + +var _docStats = /*#__PURE__*/new WeakMap(); + +var _pageCache = /*#__PURE__*/new WeakMap(); + +var _pagePromises = /*#__PURE__*/new WeakMap(); + +var _metadataPromise = /*#__PURE__*/new WeakMap(); + +var WorkerTransport = /*#__PURE__*/function () { + function WorkerTransport(messageHandler, loadingTask, networkStream, params) { + _classCallCheck(this, WorkerTransport); + + _classPrivateFieldInitSpec(this, _docStats, { + writable: true, + value: null + }); + + _classPrivateFieldInitSpec(this, _pageCache, { + writable: true, + value: new Map() + }); + + _classPrivateFieldInitSpec(this, _pagePromises, { + writable: true, + value: new Map() + }); + + _classPrivateFieldInitSpec(this, _metadataPromise, { + writable: true, + value: null + }); + + this.messageHandler = messageHandler; + this.loadingTask = loadingTask; + this.commonObjs = new PDFObjects(); + this.fontLoader = new _font_loader.FontLoader({ + docId: loadingTask.docId, + onUnsupportedFeature: this._onUnsupportedFeature.bind(this), + ownerDocument: params.ownerDocument, + styleElement: params.styleElement + }); + this._params = params; + + if (!params.useWorkerFetch) { + this.CMapReaderFactory = new params.CMapReaderFactory({ + baseUrl: params.cMapUrl, + isCompressed: params.cMapPacked + }); + this.StandardFontDataFactory = new params.StandardFontDataFactory({ + baseUrl: params.standardFontDataUrl + }); + } + + this.destroyed = false; + this.destroyCapability = null; + this._passwordCapability = null; + this._networkStream = networkStream; + this._fullReader = null; + this._lastProgress = null; + this.downloadInfoCapability = (0, _util.createPromiseCapability)(); + this.setupMessageHandler(); + } + + _createClass(WorkerTransport, [{ + key: "annotationStorage", + get: function get() { + return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage()); + } + }, { + key: "stats", + get: function get() { + return _classPrivateFieldGet(this, _docStats); + } + }, { + key: "getRenderingIntent", + value: function getRenderingIntent(intent) { + var annotationMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util.AnnotationMode.ENABLE; + var isOpList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var renderingIntent = _util.RenderingIntentFlag.DISPLAY; + var annotationHash = ""; + + switch (intent) { + case "any": + renderingIntent = _util.RenderingIntentFlag.ANY; + break; + + case "display": + break; + + case "print": + renderingIntent = _util.RenderingIntentFlag.PRINT; + break; + + default: + (0, _util.warn)("getRenderingIntent - invalid intent: ".concat(intent)); + } + + switch (annotationMode) { + case _util.AnnotationMode.DISABLE: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE; + break; + + case _util.AnnotationMode.ENABLE: + break; + + case _util.AnnotationMode.ENABLE_FORMS: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS; + break; + + case _util.AnnotationMode.ENABLE_STORAGE: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE; + annotationHash = this.annotationStorage.hash; + break; + + default: + (0, _util.warn)("getRenderingIntent - invalid annotationMode: ".concat(annotationMode)); + } + + if (isOpList) { + renderingIntent += _util.RenderingIntentFlag.OPLIST; + } + + return { + renderingIntent: renderingIntent, + cacheKey: "".concat(renderingIntent, "_").concat(annotationHash) + }; + } + }, { + key: "destroy", + value: function destroy() { + var _this12 = this; + + if (this.destroyCapability) { + return this.destroyCapability.promise; + } + + this.destroyed = true; + this.destroyCapability = (0, _util.createPromiseCapability)(); + + if (this._passwordCapability) { + this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback")); + } + + var waitOn = []; + + var _iterator15 = _createForOfIteratorHelper(_classPrivateFieldGet(this, _pageCache).values()), + _step15; + + try { + for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) { + var page = _step15.value; + waitOn.push(page._destroy()); + } + } catch (err) { + _iterator15.e(err); + } finally { + _iterator15.f(); + } + + _classPrivateFieldGet(this, _pageCache).clear(); + + _classPrivateFieldGet(this, _pagePromises).clear(); + + if (this.hasOwnProperty("annotationStorage")) { + this.annotationStorage.resetModified(); + } + + var terminated = this.messageHandler.sendWithPromise("Terminate", null); + waitOn.push(terminated); + Promise.all(waitOn).then(function () { + _this12.commonObjs.clear(); + + _this12.fontLoader.clear(); + + _classPrivateFieldSet(_this12, _metadataPromise, null); + + _this12._getFieldObjectsPromise = null; + _this12._hasJSActionsPromise = null; + + if (_this12._networkStream) { + _this12._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated.")); + } + + if (_this12.messageHandler) { + _this12.messageHandler.destroy(); + + _this12.messageHandler = null; + } + + _this12.destroyCapability.resolve(); + }, this.destroyCapability.reject); + return this.destroyCapability.promise; + } + }, { + key: "setupMessageHandler", + value: function setupMessageHandler() { + var _this13 = this; + + var messageHandler = this.messageHandler, + loadingTask = this.loadingTask; + messageHandler.on("GetReader", function (data, sink) { + (0, _util.assert)(_this13._networkStream, "GetReader - no `IPDFStream` instance available."); + _this13._fullReader = _this13._networkStream.getFullReader(); + + _this13._fullReader.onProgress = function (evt) { + _this13._lastProgress = { + loaded: evt.loaded, + total: evt.total + }; + }; + + sink.onPull = function () { + _this13._fullReader.read().then(function (_ref16) { + var value = _ref16.value, + done = _ref16.done; + + if (done) { + sink.close(); + return; + } + + (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + })["catch"](function (reason) { + sink.error(reason); + }); + }; + + sink.onCancel = function (reason) { + _this13._fullReader.cancel(reason); + + sink.ready["catch"](function (readyReason) { + if (_this13.destroyed) { + return; + } + + throw readyReason; + }); + }; + }); + messageHandler.on("ReaderHeadersReady", function (data) { + var headersCapability = (0, _util.createPromiseCapability)(); + var fullReader = _this13._fullReader; + fullReader.headersReady.then(function () { + if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) { + if (_this13._lastProgress) { + var _loadingTask$onProgre; + + (_loadingTask$onProgre = loadingTask.onProgress) === null || _loadingTask$onProgre === void 0 ? void 0 : _loadingTask$onProgre.call(loadingTask, _this13._lastProgress); + } + + fullReader.onProgress = function (evt) { + var _loadingTask$onProgre2; + + (_loadingTask$onProgre2 = loadingTask.onProgress) === null || _loadingTask$onProgre2 === void 0 ? void 0 : _loadingTask$onProgre2.call(loadingTask, { + loaded: evt.loaded, + total: evt.total + }); + }; + } + + headersCapability.resolve({ + isStreamingSupported: fullReader.isStreamingSupported, + isRangeSupported: fullReader.isRangeSupported, + contentLength: fullReader.contentLength + }); + }, headersCapability.reject); + return headersCapability.promise; + }); + messageHandler.on("GetRangeReader", function (data, sink) { + (0, _util.assert)(_this13._networkStream, "GetRangeReader - no `IPDFStream` instance available."); + + var rangeReader = _this13._networkStream.getRangeReader(data.begin, data.end); + + if (!rangeReader) { + sink.close(); + return; + } + + sink.onPull = function () { + rangeReader.read().then(function (_ref17) { + var value = _ref17.value, + done = _ref17.done; + + if (done) { + sink.close(); + return; + } + + (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetRangeReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + })["catch"](function (reason) { + sink.error(reason); + }); + }; + + sink.onCancel = function (reason) { + rangeReader.cancel(reason); + sink.ready["catch"](function (readyReason) { + if (_this13.destroyed) { + return; + } + + throw readyReason; + }); + }; + }); + messageHandler.on("GetDoc", function (_ref18) { + var pdfInfo = _ref18.pdfInfo; + _this13._numPages = pdfInfo.numPages; + _this13._htmlForXfa = pdfInfo.htmlForXfa; + delete pdfInfo.htmlForXfa; + + loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this13)); + }); + messageHandler.on("DocException", function (ex) { + var reason; + + switch (ex.name) { + case "PasswordException": + reason = new _util.PasswordException(ex.message, ex.code); + break; + + case "InvalidPDFException": + reason = new _util.InvalidPDFException(ex.message); + break; + + case "MissingPDFException": + reason = new _util.MissingPDFException(ex.message); + break; + + case "UnexpectedResponseException": + reason = new _util.UnexpectedResponseException(ex.message, ex.status); + break; + + case "UnknownErrorException": + reason = new _util.UnknownErrorException(ex.message, ex.details); + break; + + default: + (0, _util.unreachable)("DocException - expected a valid Error."); + } + + loadingTask._capability.reject(reason); + }); + messageHandler.on("PasswordRequest", function (exception) { + _this13._passwordCapability = (0, _util.createPromiseCapability)(); + + if (loadingTask.onPassword) { + var updatePassword = function updatePassword(password) { + if (password instanceof Error) { + _this13._passwordCapability.reject(password); + } else { + _this13._passwordCapability.resolve({ + password: password + }); + } + }; + + try { + loadingTask.onPassword(updatePassword, exception.code); + } catch (ex) { + _this13._passwordCapability.reject(ex); + } + } else { + _this13._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code)); + } + + return _this13._passwordCapability.promise; + }); + messageHandler.on("DataLoaded", function (data) { + var _loadingTask$onProgre3; + + (_loadingTask$onProgre3 = loadingTask.onProgress) === null || _loadingTask$onProgre3 === void 0 ? void 0 : _loadingTask$onProgre3.call(loadingTask, { + loaded: data.length, + total: data.length + }); + + _this13.downloadInfoCapability.resolve(data); + }); + messageHandler.on("StartRenderPage", function (data) { + if (_this13.destroyed) { + return; + } + + var page = _classPrivateFieldGet(_this13, _pageCache).get(data.pageIndex); + + page._startRenderPage(data.transparency, data.cacheKey); + }); + messageHandler.on("commonobj", function (_ref19) { + var _globalThis$FontInspe; + + var _ref20 = _slicedToArray(_ref19, 3), + id = _ref20[0], + type = _ref20[1], + exportedData = _ref20[2]; + + if (_this13.destroyed) { + return; + } + + if (_this13.commonObjs.has(id)) { + return; + } + + switch (type) { + case "Font": + var params = _this13._params; + + if ("error" in exportedData) { + var exportedError = exportedData.error; + (0, _util.warn)("Error during font loading: ".concat(exportedError)); + + _this13.commonObjs.resolve(id, exportedError); + + break; + } + + var fontRegistry = null; + + if (params.pdfBug && (_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled) { + fontRegistry = { + registerFont: function registerFont(font, url) { + globalThis.FontInspector.fontAdded(font, url); + } + }; + } + + var font = new _font_loader.FontFaceObject(exportedData, { + isEvalSupported: params.isEvalSupported, + disableFontFace: params.disableFontFace, + ignoreErrors: params.ignoreErrors, + onUnsupportedFeature: _this13._onUnsupportedFeature.bind(_this13), + fontRegistry: fontRegistry + }); + + _this13.fontLoader.bind(font)["catch"](function (reason) { + return messageHandler.sendWithPromise("FontFallback", { + id: id + }); + })["finally"](function () { + if (!params.fontExtraProperties && font.data) { + font.data = null; + } + + _this13.commonObjs.resolve(id, font); + }); + + break; + + case "FontPath": + case "Image": + _this13.commonObjs.resolve(id, exportedData); + + break; + + default: + throw new Error("Got unknown common object type ".concat(type)); + } + }); + messageHandler.on("obj", function (_ref21) { + var _ref22 = _slicedToArray(_ref21, 4), + id = _ref22[0], + pageIndex = _ref22[1], + type = _ref22[2], + imageData = _ref22[3]; + + if (_this13.destroyed) { + return; + } + + var pageProxy = _classPrivateFieldGet(_this13, _pageCache).get(pageIndex); + + if (pageProxy.objs.has(id)) { + return; + } + + switch (type) { + case "Image": + pageProxy.objs.resolve(id, imageData); + var MAX_IMAGE_SIZE_TO_STORE = 8000000; + + if (imageData) { + var length; + + if (imageData.bitmap) { + var bitmap = imageData.bitmap, + width = imageData.width, + height = imageData.height; + length = width * height * 4; + + pageProxy._bitmaps.add(bitmap); + } else { + var _imageData$data; + + length = ((_imageData$data = imageData.data) === null || _imageData$data === void 0 ? void 0 : _imageData$data.length) || 0; + } + + if (length > MAX_IMAGE_SIZE_TO_STORE) { + pageProxy.cleanupAfterRender = true; + } + } + + break; + + case "Pattern": + pageProxy.objs.resolve(id, imageData); + break; + + default: + throw new Error("Got unknown object type ".concat(type)); + } + }); + messageHandler.on("DocProgress", function (data) { + var _loadingTask$onProgre4; + + if (_this13.destroyed) { + return; + } + + (_loadingTask$onProgre4 = loadingTask.onProgress) === null || _loadingTask$onProgre4 === void 0 ? void 0 : _loadingTask$onProgre4.call(loadingTask, { + loaded: data.loaded, + total: data.total + }); + }); + messageHandler.on("DocStats", function (data) { + if (_this13.destroyed) { + return; + } + + _classPrivateFieldSet(_this13, _docStats, Object.freeze({ + streamTypes: Object.freeze(data.streamTypes), + fontTypes: Object.freeze(data.fontTypes) + })); + }); + messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this)); + messageHandler.on("FetchBuiltInCMap", function (data) { + if (_this13.destroyed) { + return Promise.reject(new Error("Worker was destroyed.")); + } + + if (!_this13.CMapReaderFactory) { + return Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.")); + } + + return _this13.CMapReaderFactory.fetch(data); + }); + messageHandler.on("FetchStandardFontData", function (data) { + if (_this13.destroyed) { + return Promise.reject(new Error("Worker was destroyed.")); + } + + if (!_this13.StandardFontDataFactory) { + return Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")); + } + + return _this13.StandardFontDataFactory.fetch(data); + }); + } + }, { + key: "_onUnsupportedFeature", + value: function _onUnsupportedFeature(_ref23) { + var _this$loadingTask$onU, _this$loadingTask; + + var featureId = _ref23.featureId; + + if (this.destroyed) { + return; + } + + (_this$loadingTask$onU = (_this$loadingTask = this.loadingTask).onUnsupportedFeature) === null || _this$loadingTask$onU === void 0 ? void 0 : _this$loadingTask$onU.call(_this$loadingTask, featureId); + } + }, { + key: "getData", + value: function getData() { + return this.messageHandler.sendWithPromise("GetData", null); + } + }, { + key: "getPage", + value: function getPage(pageNumber) { + var _this14 = this; + + if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) { + return Promise.reject(new Error("Invalid page request.")); + } + + var pageIndex = pageNumber - 1, + cachedPromise = _classPrivateFieldGet(this, _pagePromises).get(pageIndex); + + if (cachedPromise) { + return cachedPromise; + } + + var promise = this.messageHandler.sendWithPromise("GetPage", { + pageIndex: pageIndex + }).then(function (pageInfo) { + if (_this14.destroyed) { + throw new Error("Transport destroyed"); + } + + var page = new PDFPageProxy(pageIndex, pageInfo, _this14, _this14._params.ownerDocument, _this14._params.pdfBug); + + _classPrivateFieldGet(_this14, _pageCache).set(pageIndex, page); + + return page; + }); + + _classPrivateFieldGet(this, _pagePromises).set(pageIndex, promise); + + return promise; + } + }, { + key: "getPageIndex", + value: function getPageIndex(ref) { + if (_typeof(ref) !== "object" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) { + return Promise.reject(new Error("Invalid pageIndex request.")); + } + + return this.messageHandler.sendWithPromise("GetPageIndex", { + num: ref.num, + gen: ref.gen + }); + } + }, { + key: "getAnnotations", + value: function getAnnotations(pageIndex, intent) { + return this.messageHandler.sendWithPromise("GetAnnotations", { + pageIndex: pageIndex, + intent: intent + }); + } + }, { + key: "saveDocument", + value: function saveDocument() { + var _this$_fullReader$fil, + _this$_fullReader, + _this15 = this; + + return this.messageHandler.sendWithPromise("SaveDocument", { + isPureXfa: !!this._htmlForXfa, + numPages: this._numPages, + annotationStorage: this.annotationStorage.serializable, + filename: (_this$_fullReader$fil = (_this$_fullReader = this._fullReader) === null || _this$_fullReader === void 0 ? void 0 : _this$_fullReader.filename) !== null && _this$_fullReader$fil !== void 0 ? _this$_fullReader$fil : null + })["finally"](function () { + _this15.annotationStorage.resetModified(); + }); + } + }, { + key: "getFieldObjects", + value: function getFieldObjects() { + return this._getFieldObjectsPromise || (this._getFieldObjectsPromise = this.messageHandler.sendWithPromise("GetFieldObjects", null)); + } + }, { + key: "hasJSActions", + value: function hasJSActions() { + return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise("HasJSActions", null)); + } + }, { + key: "getCalculationOrderIds", + value: function getCalculationOrderIds() { + return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null); + } + }, { + key: "getDestinations", + value: function getDestinations() { + return this.messageHandler.sendWithPromise("GetDestinations", null); + } + }, { + key: "getDestination", + value: function getDestination(id) { + if (typeof id !== "string") { + return Promise.reject(new Error("Invalid destination request.")); + } + + return this.messageHandler.sendWithPromise("GetDestination", { + id: id + }); + } + }, { + key: "getPageLabels", + value: function getPageLabels() { + return this.messageHandler.sendWithPromise("GetPageLabels", null); + } + }, { + key: "getPageLayout", + value: function getPageLayout() { + return this.messageHandler.sendWithPromise("GetPageLayout", null); + } + }, { + key: "getPageMode", + value: function getPageMode() { + return this.messageHandler.sendWithPromise("GetPageMode", null); + } + }, { + key: "getViewerPreferences", + value: function getViewerPreferences() { + return this.messageHandler.sendWithPromise("GetViewerPreferences", null); + } + }, { + key: "getOpenAction", + value: function getOpenAction() { + return this.messageHandler.sendWithPromise("GetOpenAction", null); + } + }, { + key: "getAttachments", + value: function getAttachments() { + return this.messageHandler.sendWithPromise("GetAttachments", null); + } + }, { + key: "getJavaScript", + value: function getJavaScript() { + return this.messageHandler.sendWithPromise("GetJavaScript", null); + } + }, { + key: "getDocJSActions", + value: function getDocJSActions() { + return this.messageHandler.sendWithPromise("GetDocJSActions", null); + } + }, { + key: "getPageJSActions", + value: function getPageJSActions(pageIndex) { + return this.messageHandler.sendWithPromise("GetPageJSActions", { + pageIndex: pageIndex + }); + } + }, { + key: "getStructTree", + value: function getStructTree(pageIndex) { + return this.messageHandler.sendWithPromise("GetStructTree", { + pageIndex: pageIndex + }); + } + }, { + key: "getOutline", + value: function getOutline() { + return this.messageHandler.sendWithPromise("GetOutline", null); + } + }, { + key: "getOptionalContentConfig", + value: function getOptionalContentConfig() { + return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(function (results) { + return new _optional_content_config.OptionalContentConfig(results); + }); + } + }, { + key: "getPermissions", + value: function getPermissions() { + return this.messageHandler.sendWithPromise("GetPermissions", null); + } + }, { + key: "getMetadata", + value: function getMetadata() { + var _this16 = this; + + return _classPrivateFieldGet(this, _metadataPromise) || _classPrivateFieldSet(this, _metadataPromise, this.messageHandler.sendWithPromise("GetMetadata", null).then(function (results) { + var _this16$_fullReader$f, _this16$_fullReader, _this16$_fullReader$c, _this16$_fullReader2; + + return { + info: results[0], + metadata: results[1] ? new _metadata.Metadata(results[1]) : null, + contentDispositionFilename: (_this16$_fullReader$f = (_this16$_fullReader = _this16._fullReader) === null || _this16$_fullReader === void 0 ? void 0 : _this16$_fullReader.filename) !== null && _this16$_fullReader$f !== void 0 ? _this16$_fullReader$f : null, + contentLength: (_this16$_fullReader$c = (_this16$_fullReader2 = _this16._fullReader) === null || _this16$_fullReader2 === void 0 ? void 0 : _this16$_fullReader2.contentLength) !== null && _this16$_fullReader$c !== void 0 ? _this16$_fullReader$c : null + }; + })); + } + }, { + key: "getMarkInfo", + value: function getMarkInfo() { + return this.messageHandler.sendWithPromise("GetMarkInfo", null); + } + }, { + key: "startCleanup", + value: function () { + var _startCleanup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5() { + var keepLoadedFonts, + _iterator16, + _step16, + page, + cleanupSuccessful, + _args5 = arguments; + + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + keepLoadedFonts = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : false; + _context5.next = 3; + return this.messageHandler.sendWithPromise("Cleanup", null); + + case 3: + if (!this.destroyed) { + _context5.next = 5; + break; + } + + return _context5.abrupt("return"); + + case 5: + _iterator16 = _createForOfIteratorHelper(_classPrivateFieldGet(this, _pageCache).values()); + _context5.prev = 6; + + _iterator16.s(); + + case 8: + if ((_step16 = _iterator16.n()).done) { + _context5.next = 15; + break; + } + + page = _step16.value; + cleanupSuccessful = page.cleanup(); + + if (cleanupSuccessful) { + _context5.next = 13; + break; + } + + throw new Error("startCleanup: Page ".concat(page.pageNumber, " is currently rendering.")); + + case 13: + _context5.next = 8; + break; + + case 15: + _context5.next = 20; + break; + + case 17: + _context5.prev = 17; + _context5.t0 = _context5["catch"](6); + + _iterator16.e(_context5.t0); + + case 20: + _context5.prev = 20; + + _iterator16.f(); + + return _context5.finish(20); + + case 23: + this.commonObjs.clear(); + + if (!keepLoadedFonts) { + this.fontLoader.clear(); + } + + _classPrivateFieldSet(this, _metadataPromise, null); + + this._getFieldObjectsPromise = null; + this._hasJSActionsPromise = null; + + case 28: + case "end": + return _context5.stop(); + } + } + }, _callee5, this, [[6, 17, 20, 23]]); + })); + + function startCleanup() { + return _startCleanup.apply(this, arguments); + } + + return startCleanup; + }() + }, { + key: "loadingParams", + get: function get() { + var params = this._params; + return (0, _util.shadow)(this, "loadingParams", { + disableAutoFetch: params.disableAutoFetch, + enableXfa: params.enableXfa + }); + } + }]); + + return WorkerTransport; +}(); + +var _objs = /*#__PURE__*/new WeakMap(); + +var _ensureObj = /*#__PURE__*/new WeakSet(); + +var PDFObjects = /*#__PURE__*/function () { + function PDFObjects() { + _classCallCheck(this, PDFObjects); + + _classPrivateMethodInitSpec(this, _ensureObj); + + _classPrivateFieldInitSpec(this, _objs, { + writable: true, + value: Object.create(null) + }); + } + + _createClass(PDFObjects, [{ + key: "get", + value: function get(objId) { + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + if (callback) { + var _obj = _classPrivateMethodGet(this, _ensureObj, _ensureObj2).call(this, objId); + + _obj.capability.promise.then(function () { + return callback(_obj.data); + }); + + return null; + } + + var obj = _classPrivateFieldGet(this, _objs)[objId]; + + if (!(obj !== null && obj !== void 0 && obj.capability.settled)) { + throw new Error("Requesting object that isn't resolved yet ".concat(objId, ".")); + } + + return obj.data; + } + }, { + key: "has", + value: function has(objId) { + var obj = _classPrivateFieldGet(this, _objs)[objId]; + + return (obj === null || obj === void 0 ? void 0 : obj.capability.settled) || false; + } + }, { + key: "resolve", + value: function resolve(objId) { + var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + var obj = _classPrivateMethodGet(this, _ensureObj, _ensureObj2).call(this, objId); + + obj.data = data; + obj.capability.resolve(); + } + }, { + key: "clear", + value: function clear() { + _classPrivateFieldSet(this, _objs, Object.create(null)); + } + }]); + + return PDFObjects; +}(); + +function _ensureObj2(objId) { + var obj = _classPrivateFieldGet(this, _objs)[objId]; + + if (obj) { + return obj; + } + + return _classPrivateFieldGet(this, _objs)[objId] = { + capability: (0, _util.createPromiseCapability)(), + data: null + }; +} + +var RenderTask = /*#__PURE__*/function () { + function RenderTask(internalRenderTask) { + _classCallCheck(this, RenderTask); + + this._internalRenderTask = internalRenderTask; + this.onContinue = null; + } + + _createClass(RenderTask, [{ + key: "promise", + get: function get() { + return this._internalRenderTask.capability.promise; + } + }, { + key: "cancel", + value: function cancel() { + this._internalRenderTask.cancel(); + } + }]); + + return RenderTask; +}(); + +exports.RenderTask = RenderTask; + +var InternalRenderTask = /*#__PURE__*/function () { + function InternalRenderTask(_ref24) { + var callback = _ref24.callback, + params = _ref24.params, + objs = _ref24.objs, + commonObjs = _ref24.commonObjs, + annotationCanvasMap = _ref24.annotationCanvasMap, + operatorList = _ref24.operatorList, + pageIndex = _ref24.pageIndex, + canvasFactory = _ref24.canvasFactory, + _ref24$useRequestAnim = _ref24.useRequestAnimationFrame, + useRequestAnimationFrame = _ref24$useRequestAnim === void 0 ? false : _ref24$useRequestAnim, + _ref24$pdfBug = _ref24.pdfBug, + pdfBug = _ref24$pdfBug === void 0 ? false : _ref24$pdfBug, + _ref24$pageColors = _ref24.pageColors, + pageColors = _ref24$pageColors === void 0 ? null : _ref24$pageColors; + + _classCallCheck(this, InternalRenderTask); + + this.callback = callback; + this.params = params; + this.objs = objs; + this.commonObjs = commonObjs; + this.annotationCanvasMap = annotationCanvasMap; + this.operatorListIdx = null; + this.operatorList = operatorList; + this._pageIndex = pageIndex; + this.canvasFactory = canvasFactory; + this._pdfBug = pdfBug; + this.pageColors = pageColors; + this.running = false; + this.graphicsReadyCallback = null; + this.graphicsReady = false; + this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined"; + this.cancelled = false; + this.capability = (0, _util.createPromiseCapability)(); + this.task = new RenderTask(this); + this._cancelBound = this.cancel.bind(this); + this._continueBound = this._continue.bind(this); + this._scheduleNextBound = this._scheduleNext.bind(this); + this._nextBound = this._next.bind(this); + this._canvas = params.canvasContext.canvas; + } + + _createClass(InternalRenderTask, [{ + key: "completed", + get: function get() { + return this.capability.promise["catch"](function () {}); + } + }, { + key: "initializeGraphics", + value: function initializeGraphics(_ref25) { + var _globalThis$StepperMa; + + var _ref25$transparency = _ref25.transparency, + transparency = _ref25$transparency === void 0 ? false : _ref25$transparency, + optionalContentConfig = _ref25.optionalContentConfig; + + if (this.cancelled) { + return; + } + + if (this._canvas) { + if (_classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse).has(this._canvas)) { + throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed."); + } + + _classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse).add(this._canvas); + } + + if (this._pdfBug && (_globalThis$StepperMa = globalThis.StepperManager) !== null && _globalThis$StepperMa !== void 0 && _globalThis$StepperMa.enabled) { + this.stepper = globalThis.StepperManager.create(this._pageIndex); + this.stepper.init(this.operatorList); + this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint(); + } + + var _this$params = this.params, + canvasContext = _this$params.canvasContext, + viewport = _this$params.viewport, + transform = _this$params.transform, + imageLayer = _this$params.imageLayer, + background = _this$params.background; + this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, imageLayer, optionalContentConfig, this.annotationCanvasMap, this.pageColors); + this.gfx.beginDrawing({ + transform: transform, + viewport: viewport, + transparency: transparency, + background: background + }); + this.operatorListIdx = 0; + this.graphicsReady = true; + + if (this.graphicsReadyCallback) { + this.graphicsReadyCallback(); + } + } + }, { + key: "cancel", + value: function cancel() { + var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + this.running = false; + this.cancelled = true; + + if (this.gfx) { + this.gfx.endDrawing(); + } + + if (this._canvas) { + _classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse)["delete"](this._canvas); + } + + this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this._pageIndex + 1), "canvas")); + } + }, { + key: "operatorListChanged", + value: function operatorListChanged() { + if (!this.graphicsReady) { + if (!this.graphicsReadyCallback) { + this.graphicsReadyCallback = this._continueBound; + } + + return; + } + + if (this.stepper) { + this.stepper.updateOperatorList(this.operatorList); + } + + if (this.running) { + return; + } + + this._continue(); + } + }, { + key: "_continue", + value: function _continue() { + this.running = true; + + if (this.cancelled) { + return; + } + + if (this.task.onContinue) { + this.task.onContinue(this._scheduleNextBound); + } else { + this._scheduleNext(); + } + } + }, { + key: "_scheduleNext", + value: function _scheduleNext() { + var _this17 = this; + + if (this._useRequestAnimationFrame) { + window.requestAnimationFrame(function () { + _this17._nextBound()["catch"](_this17._cancelBound); + }); + } else { + Promise.resolve().then(this._nextBound)["catch"](this._cancelBound); + } + } + }, { + key: "_next", + value: function () { + var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() { + return _regenerator["default"].wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + if (!this.cancelled) { + _context6.next = 2; + break; + } + + return _context6.abrupt("return"); + + case 2: + this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper); + + if (this.operatorListIdx === this.operatorList.argsArray.length) { + this.running = false; + + if (this.operatorList.lastChunk) { + this.gfx.endDrawing(); + + if (this._canvas) { + _classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse)["delete"](this._canvas); + } + + this.callback(); + } + } + + case 4: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function _next() { + return _next2.apply(this, arguments); + } + + return _next; + }() + }]); + + return InternalRenderTask; +}(); + +var _canvasInUse = { + writable: true, + value: new WeakSet() +}; +var version = '2.14.305'; +exports.version = version; +var build = 'eaaa8b4ad'; +exports.build = build; + +/***/ }), +/* 156 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + + +module.exports = __w_pdfjs_require__(157); + +/***/ }), +/* 157 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; +/* module decorator */ module = __w_pdfjs_require__.nmd(module); + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +var runtime = function (exports) { + "use strict"; + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined; + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + function define(obj, key, value) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + return obj[key]; + } + + try { + define({}, ""); + } catch (err) { + define = function define(obj, key, value) { + return obj[key] = value; + }; + } + + function wrap(innerFn, outerFn, self, tryLocsList) { + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + generator._invoke = makeInvokeMethod(innerFn, self, context); + return generator; + } + + exports.wrap = wrap; + + function tryCatch(fn, obj, arg) { + try { + return { + type: "normal", + arg: fn.call(obj, arg) + }; + } catch (err) { + return { + type: "throw", + arg: err + }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + var ContinueSentinel = {}; + + function Generator() {} + + function GeneratorFunction() {} + + function GeneratorFunctionPrototype() {} + + var IteratorPrototype = {}; + define(IteratorPrototype, iteratorSymbol, function () { + return this; + }); + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + + if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = GeneratorFunctionPrototype; + define(Gp, "constructor", GeneratorFunctionPrototype); + define(GeneratorFunctionPrototype, "constructor", GeneratorFunction); + GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); + + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function (method) { + define(prototype, method, function (arg) { + return this._invoke(method, arg); + }); + }); + } + + exports.isGeneratorFunction = function (genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false; + }; + + exports.mark = function (genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + define(genFun, toStringTagSymbol, "GeneratorFunction"); + } + + genFun.prototype = Object.create(Gp); + return genFun; + }; + + exports.awrap = function (arg) { + return { + __await: arg + }; + }; + + function AsyncIterator(generator, PromiseImpl) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + + if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) { + return PromiseImpl.resolve(value.__await).then(function (value) { + invoke("next", value, resolve, reject); + }, function (err) { + invoke("throw", err, resolve, reject); + }); + } + + return PromiseImpl.resolve(value).then(function (unwrapped) { + result.value = unwrapped; + resolve(result); + }, function (error) { + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new PromiseImpl(function (resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); + } + + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + define(AsyncIterator.prototype, asyncIteratorSymbol, function () { + return this; + }); + exports.AsyncIterator = AsyncIterator; + + exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { + if (PromiseImpl === void 0) PromiseImpl = Promise; + var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); + return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + context.sent = context._sent = context.arg; + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + var record = tryCatch(innerFn, self, context); + + if (record.type === "normal") { + state = context.done ? GenStateCompleted : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + } else if (record.type === "throw") { + state = GenStateCompleted; + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + + if (method === undefined) { + context.delegate = null; + + if (context.method === "throw") { + if (delegate.iterator["return"]) { + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError("The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (!info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + context[delegate.resultName] = info.value; + context.next = delegate.nextLoc; + + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; + } + } else { + return info; + } + + context.delegate = null; + return ContinueSentinel; + } + + defineIteratorMethods(Gp); + define(Gp, toStringTagSymbol, "Generator"); + define(Gp, iteratorSymbol, function () { + return this; + }); + define(Gp, "toString", function () { + return "[object Generator]"; + }); + + function pushTryEntry(locs) { + var entry = { + tryLoc: locs[0] + }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + this.tryEntries = [{ + tryLoc: "root" + }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + exports.keys = function (object) { + var keys = []; + + for (var key in object) { + keys.push(key); + } + + keys.reverse(); + return function next() { + while (keys.length) { + var key = keys.pop(); + + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, + next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + return next; + }; + + return next.next = next; + } + } + + return { + next: doneResult + }; + } + + exports.values = values; + + function doneResult() { + return { + value: undefined, + done: true + }; + } + + Context.prototype = { + constructor: Context, + reset: function reset(skipTempReset) { + this.prev = 0; + this.next = 0; + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + this.method = "next"; + this.arg = undefined; + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + stop: function stop() { + this.done = true; + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + dispatchException: function dispatchException(exception) { + if (this.done) { + throw exception; + } + + var context = this; + + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + context.method = "next"; + context.arg = undefined; + } + + return !!caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + abrupt: function abrupt(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) { + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + complete: function complete(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + finish: function finish(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + "catch": function _catch(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + + return thrown; + } + } + + throw new Error("illegal catch attempt"); + }, + delegateYield: function delegateYield(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + this.arg = undefined; + } + + return ContinueSentinel; + } + }; + return exports; +}(( false ? 0 : _typeof(module)) === "object" ? module.exports : {}); + +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); + } +} + +/***/ }), +/* 158 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = void 0; +exports.deprecated = deprecated; +exports.getFilenameFromUrl = getFilenameFromUrl; +exports.getPdfFilenameFromUrl = getPdfFilenameFromUrl; +exports.getXfaPageViewport = getXfaPageViewport; +exports.isDataScheme = isDataScheme; +exports.isPdfFile = isPdfFile; +exports.isValidFetchUrl = isValidFetchUrl; +exports.loadScript = loadScript; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(156)); + +var _base_factory = __w_pdfjs_require__(159); + +var _util = __w_pdfjs_require__(1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SVG_NS = "http://www.w3.org/2000/svg"; + +var PixelsPerInch = /*#__PURE__*/_createClass(function PixelsPerInch() { + _classCallCheck(this, PixelsPerInch); +}); + +exports.PixelsPerInch = PixelsPerInch; + +_defineProperty(PixelsPerInch, "CSS", 96.0); + +_defineProperty(PixelsPerInch, "PDF", 72.0); + +_defineProperty(PixelsPerInch, "PDF_TO_CSS_UNITS", PixelsPerInch.CSS / PixelsPerInch.PDF); + +var DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) { + _inherits(DOMCanvasFactory, _BaseCanvasFactory); + + var _super = _createSuper(DOMCanvasFactory); + + function DOMCanvasFactory() { + var _this; + + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$ownerDocument = _ref.ownerDocument, + ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument; + + _classCallCheck(this, DOMCanvasFactory); + + _this = _super.call(this); + _this._document = ownerDocument; + return _this; + } + + _createClass(DOMCanvasFactory, [{ + key: "_createCanvas", + value: function _createCanvas(width, height) { + var canvas = this._document.createElement("canvas"); + + canvas.width = width; + canvas.height = height; + return canvas; + } + }]); + + return DOMCanvasFactory; +}(_base_factory.BaseCanvasFactory); + +exports.DOMCanvasFactory = DOMCanvasFactory; + +function fetchData(_x) { + return _fetchData.apply(this, arguments); +} + +function _fetchData() { + _fetchData = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(url) { + var asTypedArray, + response, + _args = arguments; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + asTypedArray = _args.length > 1 && _args[1] !== undefined ? _args[1] : false; + + if (!isValidFetchUrl(url, document.baseURI)) { + _context.next = 21; + break; + } + + _context.next = 4; + return fetch(url); + + case 4: + response = _context.sent; + + if (response.ok) { + _context.next = 7; + break; + } + + throw new Error(response.statusText); + + case 7: + if (!asTypedArray) { + _context.next = 15; + break; + } + + _context.t1 = Uint8Array; + _context.next = 11; + return response.arrayBuffer(); + + case 11: + _context.t2 = _context.sent; + _context.t0 = new _context.t1(_context.t2); + _context.next = 20; + break; + + case 15: + _context.t3 = _util.stringToBytes; + _context.next = 18; + return response.text(); + + case 18: + _context.t4 = _context.sent; + _context.t0 = (0, _context.t3)(_context.t4); + + case 20: + return _context.abrupt("return", _context.t0); + + case 21: + return _context.abrupt("return", new Promise(function (resolve, reject) { + var request = new XMLHttpRequest(); + request.open("GET", url, true); + + if (asTypedArray) { + request.responseType = "arraybuffer"; + } + + request.onreadystatechange = function () { + if (request.readyState !== XMLHttpRequest.DONE) { + return; + } + + if (request.status === 200 || request.status === 0) { + var data; + + if (asTypedArray && request.response) { + data = new Uint8Array(request.response); + } else if (!asTypedArray && request.responseText) { + data = (0, _util.stringToBytes)(request.responseText); + } + + if (data) { + resolve(data); + return; + } + } + + reject(new Error(request.statusText)); + }; + + request.send(null); + })); + + case 22: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + return _fetchData.apply(this, arguments); +} + +var DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) { + _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor); + + var _super2 = _createSuper(DOMCMapReaderFactory); + + function DOMCMapReaderFactory() { + _classCallCheck(this, DOMCMapReaderFactory); + + return _super2.apply(this, arguments); + } + + _createClass(DOMCMapReaderFactory, [{ + key: "_fetchData", + value: function _fetchData(url, compressionType) { + return fetchData(url, this.isCompressed).then(function (data) { + return { + cMapData: data, + compressionType: compressionType + }; + }); + } + }]); + + return DOMCMapReaderFactory; +}(_base_factory.BaseCMapReaderFactory); + +exports.DOMCMapReaderFactory = DOMCMapReaderFactory; + +var DOMStandardFontDataFactory = /*#__PURE__*/function (_BaseStandardFontData) { + _inherits(DOMStandardFontDataFactory, _BaseStandardFontData); + + var _super3 = _createSuper(DOMStandardFontDataFactory); + + function DOMStandardFontDataFactory() { + _classCallCheck(this, DOMStandardFontDataFactory); + + return _super3.apply(this, arguments); + } + + _createClass(DOMStandardFontDataFactory, [{ + key: "_fetchData", + value: function _fetchData(url) { + return fetchData(url, true); + } + }]); + + return DOMStandardFontDataFactory; +}(_base_factory.BaseStandardFontDataFactory); + +exports.DOMStandardFontDataFactory = DOMStandardFontDataFactory; + +var DOMSVGFactory = /*#__PURE__*/function (_BaseSVGFactory) { + _inherits(DOMSVGFactory, _BaseSVGFactory); + + var _super4 = _createSuper(DOMSVGFactory); + + function DOMSVGFactory() { + _classCallCheck(this, DOMSVGFactory); + + return _super4.apply(this, arguments); + } + + _createClass(DOMSVGFactory, [{ + key: "_createSVG", + value: function _createSVG(type) { + return document.createElementNS(SVG_NS, type); + } + }]); + + return DOMSVGFactory; +}(_base_factory.BaseSVGFactory); + +exports.DOMSVGFactory = DOMSVGFactory; + +var PageViewport = /*#__PURE__*/function () { + function PageViewport(_ref2) { + var viewBox = _ref2.viewBox, + scale = _ref2.scale, + rotation = _ref2.rotation, + _ref2$offsetX = _ref2.offsetX, + offsetX = _ref2$offsetX === void 0 ? 0 : _ref2$offsetX, + _ref2$offsetY = _ref2.offsetY, + offsetY = _ref2$offsetY === void 0 ? 0 : _ref2$offsetY, + _ref2$dontFlip = _ref2.dontFlip, + dontFlip = _ref2$dontFlip === void 0 ? false : _ref2$dontFlip; + + _classCallCheck(this, PageViewport); + + this.viewBox = viewBox; + this.scale = scale; + this.rotation = rotation; + this.offsetX = offsetX; + this.offsetY = offsetY; + var centerX = (viewBox[2] + viewBox[0]) / 2; + var centerY = (viewBox[3] + viewBox[1]) / 2; + var rotateA, rotateB, rotateC, rotateD; + rotation %= 360; + + if (rotation < 0) { + rotation += 360; + } + + switch (rotation) { + case 180: + rotateA = -1; + rotateB = 0; + rotateC = 0; + rotateD = 1; + break; + + case 90: + rotateA = 0; + rotateB = 1; + rotateC = 1; + rotateD = 0; + break; + + case 270: + rotateA = 0; + rotateB = -1; + rotateC = -1; + rotateD = 0; + break; + + case 0: + rotateA = 1; + rotateB = 0; + rotateC = 0; + rotateD = -1; + break; + + default: + throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees."); + } + + if (dontFlip) { + rotateC = -rotateC; + rotateD = -rotateD; + } + + var offsetCanvasX, offsetCanvasY; + var width, height; + + if (rotateA === 0) { + offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX; + offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY; + width = Math.abs(viewBox[3] - viewBox[1]) * scale; + height = Math.abs(viewBox[2] - viewBox[0]) * scale; + } else { + offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX; + offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY; + width = Math.abs(viewBox[2] - viewBox[0]) * scale; + height = Math.abs(viewBox[3] - viewBox[1]) * scale; + } + + this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY]; + this.width = width; + this.height = height; + } + + _createClass(PageViewport, [{ + key: "clone", + value: function clone() { + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref3$scale = _ref3.scale, + scale = _ref3$scale === void 0 ? this.scale : _ref3$scale, + _ref3$rotation = _ref3.rotation, + rotation = _ref3$rotation === void 0 ? this.rotation : _ref3$rotation, + _ref3$offsetX = _ref3.offsetX, + offsetX = _ref3$offsetX === void 0 ? this.offsetX : _ref3$offsetX, + _ref3$offsetY = _ref3.offsetY, + offsetY = _ref3$offsetY === void 0 ? this.offsetY : _ref3$offsetY, + _ref3$dontFlip = _ref3.dontFlip, + dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip; + + return new PageViewport({ + viewBox: this.viewBox.slice(), + scale: scale, + rotation: rotation, + offsetX: offsetX, + offsetY: offsetY, + dontFlip: dontFlip + }); + } + }, { + key: "convertToViewportPoint", + value: function convertToViewportPoint(x, y) { + return _util.Util.applyTransform([x, y], this.transform); + } + }, { + key: "convertToViewportRectangle", + value: function convertToViewportRectangle(rect) { + var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform); + + var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform); + + return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]]; + } + }, { + key: "convertToPdfPoint", + value: function convertToPdfPoint(x, y) { + return _util.Util.applyInverseTransform([x, y], this.transform); + } + }]); + + return PageViewport; +}(); + +exports.PageViewport = PageViewport; + +var RenderingCancelledException = /*#__PURE__*/function (_BaseException) { + _inherits(RenderingCancelledException, _BaseException); + + var _super5 = _createSuper(RenderingCancelledException); + + function RenderingCancelledException(msg, type) { + var _this2; + + _classCallCheck(this, RenderingCancelledException); + + _this2 = _super5.call(this, msg, "RenderingCancelledException"); + _this2.type = type; + return _this2; + } + + return _createClass(RenderingCancelledException); +}(_util.BaseException); + +exports.RenderingCancelledException = RenderingCancelledException; + +function isDataScheme(url) { + var ii = url.length; + var i = 0; + + while (i < ii && url[i].trim() === "") { + i++; + } + + return url.substring(i, i + 5).toLowerCase() === "data:"; +} + +function isPdfFile(filename) { + return typeof filename === "string" && /\.pdf$/i.test(filename); +} + +function getFilenameFromUrl(url) { + var anchor = url.indexOf("#"); + var query = url.indexOf("?"); + var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length); + return url.substring(url.lastIndexOf("/", end) + 1, end); +} + +function getPdfFilenameFromUrl(url) { + var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf"; + + if (typeof url !== "string") { + return defaultFilename; + } + + if (isDataScheme(url)) { + (0, _util.warn)('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'); + return defaultFilename; + } + + var reURI = /^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/; + var reFilename = /[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i; + var splitURI = reURI.exec(url); + var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]); + + if (suggestedFilename) { + suggestedFilename = suggestedFilename[0]; + + if (suggestedFilename.includes("%")) { + try { + suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]; + } catch (ex) {} + } + } + + return suggestedFilename || defaultFilename; +} + +var StatTimer = /*#__PURE__*/function () { + function StatTimer() { + _classCallCheck(this, StatTimer); + + this.started = Object.create(null); + this.times = []; + } + + _createClass(StatTimer, [{ + key: "time", + value: function time(name) { + if (name in this.started) { + (0, _util.warn)("Timer is already running for ".concat(name)); + } + + this.started[name] = Date.now(); + } + }, { + key: "timeEnd", + value: function timeEnd(name) { + if (!(name in this.started)) { + (0, _util.warn)("Timer has not been started for ".concat(name)); + } + + this.times.push({ + name: name, + start: this.started[name], + end: Date.now() + }); + delete this.started[name]; + } + }, { + key: "toString", + value: function toString() { + var outBuf = []; + var longest = 0; + + var _iterator = _createForOfIteratorHelper(this.times), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var time = _step.value; + var name = time.name; + + if (name.length > longest) { + longest = name.length; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + var _iterator2 = _createForOfIteratorHelper(this.times), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _time = _step2.value; + var duration = _time.end - _time.start; + outBuf.push("".concat(_time.name.padEnd(longest), " ").concat(duration, "ms\n")); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return outBuf.join(""); + } + }]); + + return StatTimer; +}(); + +exports.StatTimer = StatTimer; + +function isValidFetchUrl(url, baseUrl) { + try { + var _ref4 = baseUrl ? new URL(url, baseUrl) : new URL(url), + protocol = _ref4.protocol; + + return protocol === "http:" || protocol === "https:"; + } catch (ex) { + return false; + } +} + +function loadScript(src) { + var removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + return new Promise(function (resolve, reject) { + var script = document.createElement("script"); + script.src = src; + + script.onload = function (evt) { + if (removeScriptElement) { + script.remove(); + } + + resolve(evt); + }; + + script.onerror = function () { + reject(new Error("Cannot load script at: ".concat(script.src))); + }; + + (document.head || document.documentElement).appendChild(script); + }); +} + +function deprecated(details) { + console.log("Deprecated API usage: " + details); +} + +var pdfDateStringRegex; + +var PDFDateString = /*#__PURE__*/function () { + function PDFDateString() { + _classCallCheck(this, PDFDateString); + } + + _createClass(PDFDateString, null, [{ + key: "toDateObject", + value: function toDateObject(input) { + if (!input || typeof input !== "string") { + return null; + } + + if (!pdfDateStringRegex) { + pdfDateStringRegex = new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?"); + } + + var matches = pdfDateStringRegex.exec(input); + + if (!matches) { + return null; + } + + var year = parseInt(matches[1], 10); + var month = parseInt(matches[2], 10); + month = month >= 1 && month <= 12 ? month - 1 : 0; + var day = parseInt(matches[3], 10); + day = day >= 1 && day <= 31 ? day : 1; + var hour = parseInt(matches[4], 10); + hour = hour >= 0 && hour <= 23 ? hour : 0; + var minute = parseInt(matches[5], 10); + minute = minute >= 0 && minute <= 59 ? minute : 0; + var second = parseInt(matches[6], 10); + second = second >= 0 && second <= 59 ? second : 0; + var universalTimeRelation = matches[7] || "Z"; + var offsetHour = parseInt(matches[8], 10); + offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0; + var offsetMinute = parseInt(matches[9], 10) || 0; + offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0; + + if (universalTimeRelation === "-") { + hour += offsetHour; + minute += offsetMinute; + } else if (universalTimeRelation === "+") { + hour -= offsetHour; + minute -= offsetMinute; + } + + return new Date(Date.UTC(year, month, day, hour, minute, second)); + } + }]); + + return PDFDateString; +}(); + +exports.PDFDateString = PDFDateString; + +function getXfaPageViewport(xfaPage, _ref5) { + var _ref5$scale = _ref5.scale, + scale = _ref5$scale === void 0 ? 1 : _ref5$scale, + _ref5$rotation = _ref5.rotation, + rotation = _ref5$rotation === void 0 ? 0 : _ref5$rotation; + var _xfaPage$attributes$s = xfaPage.attributes.style, + width = _xfaPage$attributes$s.width, + height = _xfaPage$attributes$s.height; + var viewBox = [0, 0, parseInt(width), parseInt(height)]; + return new PageViewport({ + viewBox: viewBox, + scale: scale, + rotation: rotation + }); +} + +/***/ }), +/* 159 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(156)); + +var _util = __w_pdfjs_require__(1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var BaseCanvasFactory = /*#__PURE__*/function () { + function BaseCanvasFactory() { + _classCallCheck(this, BaseCanvasFactory); + + if (this.constructor === BaseCanvasFactory) { + (0, _util.unreachable)("Cannot initialize BaseCanvasFactory."); + } + } + + _createClass(BaseCanvasFactory, [{ + key: "create", + value: function create(width, height) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + + var canvas = this._createCanvas(width, height); + + return { + canvas: canvas, + context: canvas.getContext("2d") + }; + } + }, { + key: "reset", + value: function reset(canvasAndContext, width, height) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + + canvasAndContext.canvas.width = width; + canvasAndContext.canvas.height = height; + } + }, { + key: "destroy", + value: function destroy(canvasAndContext) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + + canvasAndContext.canvas.width = 0; + canvasAndContext.canvas.height = 0; + canvasAndContext.canvas = null; + canvasAndContext.context = null; + } + }, { + key: "_createCanvas", + value: function _createCanvas(width, height) { + (0, _util.unreachable)("Abstract method `_createCanvas` called."); + } + }]); + + return BaseCanvasFactory; +}(); + +exports.BaseCanvasFactory = BaseCanvasFactory; + +var BaseCMapReaderFactory = /*#__PURE__*/function () { + function BaseCMapReaderFactory(_ref) { + var _ref$baseUrl = _ref.baseUrl, + baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl, + _ref$isCompressed = _ref.isCompressed, + isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed; + + _classCallCheck(this, BaseCMapReaderFactory); + + if (this.constructor === BaseCMapReaderFactory) { + (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory."); + } + + this.baseUrl = baseUrl; + this.isCompressed = isCompressed; + } + + _createClass(BaseCMapReaderFactory, [{ + key: "fetch", + value: function () { + var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref2) { + var _this = this; + + var name, url, compressionType; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + name = _ref2.name; + + if (this.baseUrl) { + _context.next = 3; + break; + } + + throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.'); + + case 3: + if (name) { + _context.next = 5; + break; + } + + throw new Error("CMap name must be specified."); + + case 5: + url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : ""); + compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE; + return _context.abrupt("return", this._fetchData(url, compressionType)["catch"](function (reason) { + throw new Error("Unable to load ".concat(_this.isCompressed ? "binary " : "", "CMap at: ").concat(url)); + })); + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function fetch(_x) { + return _fetch.apply(this, arguments); + } + + return fetch; + }() + }, { + key: "_fetchData", + value: function _fetchData(url, compressionType) { + (0, _util.unreachable)("Abstract method `_fetchData` called."); + } + }]); + + return BaseCMapReaderFactory; +}(); + +exports.BaseCMapReaderFactory = BaseCMapReaderFactory; + +var BaseStandardFontDataFactory = /*#__PURE__*/function () { + function BaseStandardFontDataFactory(_ref3) { + var _ref3$baseUrl = _ref3.baseUrl, + baseUrl = _ref3$baseUrl === void 0 ? null : _ref3$baseUrl; + + _classCallCheck(this, BaseStandardFontDataFactory); + + if (this.constructor === BaseStandardFontDataFactory) { + (0, _util.unreachable)("Cannot initialize BaseStandardFontDataFactory."); + } + + this.baseUrl = baseUrl; + } + + _createClass(BaseStandardFontDataFactory, [{ + key: "fetch", + value: function () { + var _fetch2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(_ref4) { + var filename, url; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + filename = _ref4.filename; + + if (this.baseUrl) { + _context2.next = 3; + break; + } + + throw new Error('The standard font "baseUrl" parameter must be specified, ensure that ' + 'the "standardFontDataUrl" API parameter is provided.'); + + case 3: + if (filename) { + _context2.next = 5; + break; + } + + throw new Error("Font filename must be specified."); + + case 5: + url = "".concat(this.baseUrl).concat(filename); + return _context2.abrupt("return", this._fetchData(url)["catch"](function (reason) { + throw new Error("Unable to load font data at: ".concat(url)); + })); + + case 7: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function fetch(_x2) { + return _fetch2.apply(this, arguments); + } + + return fetch; + }() + }, { + key: "_fetchData", + value: function _fetchData(url) { + (0, _util.unreachable)("Abstract method `_fetchData` called."); + } + }]); + + return BaseStandardFontDataFactory; +}(); + +exports.BaseStandardFontDataFactory = BaseStandardFontDataFactory; + +var BaseSVGFactory = /*#__PURE__*/function () { + function BaseSVGFactory() { + _classCallCheck(this, BaseSVGFactory); + + if (this.constructor === BaseSVGFactory) { + (0, _util.unreachable)("Cannot initialize BaseSVGFactory."); + } + } + + _createClass(BaseSVGFactory, [{ + key: "create", + value: function create(width, height) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid SVG dimensions"); + } + + var svg = this._createSVG("svg:svg"); + + svg.setAttribute("version", "1.1"); + svg.setAttribute("width", "".concat(width, "px")); + svg.setAttribute("height", "".concat(height, "px")); + svg.setAttribute("preserveAspectRatio", "none"); + svg.setAttribute("viewBox", "0 0 ".concat(width, " ").concat(height)); + return svg; + } + }, { + key: "createElement", + value: function createElement(type) { + if (typeof type !== "string") { + throw new Error("Invalid SVG element type"); + } + + return this._createSVG(type); + } + }, { + key: "_createSVG", + value: function _createSVG(type) { + (0, _util.unreachable)("Abstract method `_createSVG` called."); + } + }]); + + return BaseSVGFactory; +}(); + +exports.BaseSVGFactory = BaseSVGFactory; + +/***/ }), +/* 160 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.FontLoader = exports.FontFaceObject = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(156)); + +var _util = __w_pdfjs_require__(1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var BaseFontLoader = /*#__PURE__*/function () { + function BaseFontLoader(_ref) { + var docId = _ref.docId, + onUnsupportedFeature = _ref.onUnsupportedFeature, + _ref$ownerDocument = _ref.ownerDocument, + ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument, + _ref$styleElement = _ref.styleElement, + styleElement = _ref$styleElement === void 0 ? null : _ref$styleElement; + + _classCallCheck(this, BaseFontLoader); + + if (this.constructor === BaseFontLoader) { + (0, _util.unreachable)("Cannot initialize BaseFontLoader."); + } + + this.docId = docId; + this._onUnsupportedFeature = onUnsupportedFeature; + this._document = ownerDocument; + this.nativeFontFaces = []; + this.styleElement = null; + } + + _createClass(BaseFontLoader, [{ + key: "addNativeFontFace", + value: function addNativeFontFace(nativeFontFace) { + this.nativeFontFaces.push(nativeFontFace); + + this._document.fonts.add(nativeFontFace); + } + }, { + key: "insertRule", + value: function insertRule(rule) { + var styleElement = this.styleElement; + + if (!styleElement) { + styleElement = this.styleElement = this._document.createElement("style"); + styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId); + + this._document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement); + } + + var styleSheet = styleElement.sheet; + styleSheet.insertRule(rule, styleSheet.cssRules.length); + } + }, { + key: "clear", + value: function clear() { + var _iterator = _createForOfIteratorHelper(this.nativeFontFaces), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var nativeFontFace = _step.value; + + this._document.fonts["delete"](nativeFontFace); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this.nativeFontFaces.length = 0; + + if (this.styleElement) { + this.styleElement.remove(); + this.styleElement = null; + } + } + }, { + key: "bind", + value: function () { + var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(font) { + var _this = this; + + var nativeFontFace, rule; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!(font.attached || font.missingFile)) { + _context.next = 2; + break; + } + + return _context.abrupt("return"); + + case 2: + font.attached = true; + + if (!this.isFontLoadingAPISupported) { + _context.next = 19; + break; + } + + nativeFontFace = font.createNativeFontFace(); + + if (!nativeFontFace) { + _context.next = 18; + break; + } + + this.addNativeFontFace(nativeFontFace); + _context.prev = 7; + _context.next = 10; + return nativeFontFace.loaded; + + case 10: + _context.next = 18; + break; + + case 12: + _context.prev = 12; + _context.t0 = _context["catch"](7); + + this._onUnsupportedFeature({ + featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative + }); + + (0, _util.warn)("Failed to load font '".concat(nativeFontFace.family, "': '").concat(_context.t0, "'.")); + font.disableFontFace = true; + throw _context.t0; + + case 18: + return _context.abrupt("return"); + + case 19: + rule = font.createFontFaceRule(); + + if (!rule) { + _context.next = 26; + break; + } + + this.insertRule(rule); + + if (!this.isSyncFontLoadingSupported) { + _context.next = 24; + break; + } + + return _context.abrupt("return"); + + case 24: + _context.next = 26; + return new Promise(function (resolve) { + var request = _this._queueLoadingCallback(resolve); + + _this._prepareFontLoadEvent([rule], [font], request); + }); + + case 26: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[7, 12]]); + })); + + function bind(_x) { + return _bind.apply(this, arguments); + } + + return bind; + }() + }, { + key: "_queueLoadingCallback", + value: function _queueLoadingCallback(callback) { + (0, _util.unreachable)("Abstract method `_queueLoadingCallback`."); + } + }, { + key: "isFontLoadingAPISupported", + get: function get() { + var _this$_document; + + var hasFonts = !!((_this$_document = this._document) !== null && _this$_document !== void 0 && _this$_document.fonts); + return (0, _util.shadow)(this, "isFontLoadingAPISupported", hasFonts); + } + }, { + key: "isSyncFontLoadingSupported", + get: function get() { + (0, _util.unreachable)("Abstract method `isSyncFontLoadingSupported`."); + } + }, { + key: "_loadTestFont", + get: function get() { + (0, _util.unreachable)("Abstract method `_loadTestFont`."); + } + }, { + key: "_prepareFontLoadEvent", + value: function _prepareFontLoadEvent(rules, fontsToLoad, request) { + (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`."); + } + }]); + + return BaseFontLoader; +}(); + +var FontLoader; +exports.FontLoader = FontLoader; +{ + exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) { + _inherits(GenericFontLoader, _BaseFontLoader); + + var _super = _createSuper(GenericFontLoader); + + function GenericFontLoader(params) { + var _this2; + + _classCallCheck(this, GenericFontLoader); + + _this2 = _super.call(this, params); + _this2.loadingContext = { + requests: [], + nextRequestId: 0 + }; + _this2.loadTestFontId = 0; + return _this2; + } + + _createClass(GenericFontLoader, [{ + key: "isSyncFontLoadingSupported", + get: function get() { + var supported = false; + + if (typeof navigator === "undefined") { + supported = true; + } else { + var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent); + + if ((m === null || m === void 0 ? void 0 : m[1]) >= 14) { + supported = true; + } + } + + return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported); + } + }, { + key: "_queueLoadingCallback", + value: function _queueLoadingCallback(callback) { + function completeRequest() { + (0, _util.assert)(!request.done, "completeRequest() cannot be called twice."); + request.done = true; + + while (context.requests.length > 0 && context.requests[0].done) { + var otherRequest = context.requests.shift(); + setTimeout(otherRequest.callback, 0); + } + } + + var context = this.loadingContext; + var request = { + id: "pdfjs-font-loading-".concat(context.nextRequestId++), + done: false, + complete: completeRequest, + callback: callback + }; + context.requests.push(request); + return request; + } + }, { + key: "_loadTestFont", + get: function get() { + var getLoadTestFont = function getLoadTestFont() { + return atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + "FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + "ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + "AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + "AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + "6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + "AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + "IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + "AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + "AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + "AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + "AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + "AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + "AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + "AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + "Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + "FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="); + }; + + return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont()); + } + }, { + key: "_prepareFontLoadEvent", + value: function _prepareFontLoadEvent(rules, fonts, request) { + function int32(data, offset) { + return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff; + } + + function spliceString(s, offset, remove, insert) { + var chunk1 = s.substring(0, offset); + var chunk2 = s.substring(offset + remove); + return chunk1 + insert + chunk2; + } + + var i, ii; + + var canvas = this._document.createElement("canvas"); + + canvas.width = 1; + canvas.height = 1; + var ctx = canvas.getContext("2d"); + var called = 0; + + function isFontReady(name, callback) { + called++; + + if (called > 30) { + (0, _util.warn)("Load test font never loaded."); + callback(); + return; + } + + ctx.font = "30px " + name; + ctx.fillText(".", 0, 20); + var imageData = ctx.getImageData(0, 0, 1, 1); + + if (imageData.data[3] > 0) { + callback(); + return; + } + + setTimeout(isFontReady.bind(null, name, callback)); + } + + var loadTestFontId = "lt".concat(Date.now()).concat(this.loadTestFontId++); + var data = this._loadTestFont; + var COMMENT_OFFSET = 976; + data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId); + var CFF_CHECKSUM_OFFSET = 16; + var XXXX_VALUE = 0x58585858; + var checksum = int32(data, CFF_CHECKSUM_OFFSET); + + for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0; + } + + if (i < loadTestFontId.length) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0; + } + + data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum)); + var url = "url(data:font/opentype;base64,".concat(btoa(data), ");"); + var rule = "@font-face {font-family:\"".concat(loadTestFontId, "\";src:").concat(url, "}"); + this.insertRule(rule); + var names = []; + + var _iterator2 = _createForOfIteratorHelper(fonts), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var font = _step2.value; + names.push(font.loadedName); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + names.push(loadTestFontId); + + var div = this._document.createElement("div"); + + div.style.visibility = "hidden"; + div.style.width = div.style.height = "10px"; + div.style.position = "absolute"; + div.style.top = div.style.left = "0px"; + + for (var _i = 0, _names = names; _i < _names.length; _i++) { + var name = _names[_i]; + + var span = this._document.createElement("span"); + + span.textContent = "Hi"; + span.style.fontFamily = name; + div.appendChild(span); + } + + this._document.body.appendChild(div); + + isFontReady(loadTestFontId, function () { + div.remove(); + request.complete(); + }); + } + }]); + + return GenericFontLoader; + }(BaseFontLoader); +} + +var FontFaceObject = /*#__PURE__*/function () { + function FontFaceObject(translatedData, _ref2) { + var _ref2$isEvalSupported = _ref2.isEvalSupported, + isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported, + _ref2$disableFontFace = _ref2.disableFontFace, + disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace, + _ref2$ignoreErrors = _ref2.ignoreErrors, + ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors, + onUnsupportedFeature = _ref2.onUnsupportedFeature, + _ref2$fontRegistry = _ref2.fontRegistry, + fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry; + + _classCallCheck(this, FontFaceObject); + + this.compiledGlyphs = Object.create(null); + + for (var i in translatedData) { + this[i] = translatedData[i]; + } + + this.isEvalSupported = isEvalSupported !== false; + this.disableFontFace = disableFontFace === true; + this.ignoreErrors = ignoreErrors === true; + this._onUnsupportedFeature = onUnsupportedFeature; + this.fontRegistry = fontRegistry; + } + + _createClass(FontFaceObject, [{ + key: "createNativeFontFace", + value: function createNativeFontFace() { + if (!this.data || this.disableFontFace) { + return null; + } + + var nativeFontFace; + + if (!this.cssFontInfo) { + nativeFontFace = new FontFace(this.loadedName, this.data, {}); + } else { + var css = { + weight: this.cssFontInfo.fontWeight + }; + + if (this.cssFontInfo.italicAngle) { + css.style = "oblique ".concat(this.cssFontInfo.italicAngle, "deg"); + } + + nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css); + } + + if (this.fontRegistry) { + this.fontRegistry.registerFont(this); + } + + return nativeFontFace; + } + }, { + key: "createFontFaceRule", + value: function createFontFaceRule() { + if (!this.data || this.disableFontFace) { + return null; + } + + var data = (0, _util.bytesToString)(this.data); + var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");"); + var rule; + + if (!this.cssFontInfo) { + rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}"); + } else { + var css = "font-weight: ".concat(this.cssFontInfo.fontWeight, ";"); + + if (this.cssFontInfo.italicAngle) { + css += "font-style: oblique ".concat(this.cssFontInfo.italicAngle, "deg;"); + } + + rule = "@font-face {font-family:\"".concat(this.cssFontInfo.fontFamily, "\";").concat(css, "src:").concat(url, "}"); + } + + if (this.fontRegistry) { + this.fontRegistry.registerFont(this, url); + } + + return rule; + } + }, { + key: "getPathGenerator", + value: function getPathGenerator(objs, character) { + if (this.compiledGlyphs[character] !== undefined) { + return this.compiledGlyphs[character]; + } + + var cmds; + + try { + cmds = objs.get(this.loadedName + "_path_" + character); + } catch (ex) { + if (!this.ignoreErrors) { + throw ex; + } + + this._onUnsupportedFeature({ + featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath + }); + + (0, _util.warn)("getPathGenerator - ignoring character: \"".concat(ex, "\".")); + return this.compiledGlyphs[character] = function (c, size) {}; + } + + if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) { + var jsBuf = []; + + var _iterator3 = _createForOfIteratorHelper(cmds), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var current = _step3.value; + var args = current.args !== undefined ? current.args.join(",") : ""; + jsBuf.push("c.", current.cmd, "(", args, ");\n"); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + return this.compiledGlyphs[character] = new Function("c", "size", jsBuf.join("")); + } + + return this.compiledGlyphs[character] = function (c, size) { + var _iterator4 = _createForOfIteratorHelper(cmds), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var _current = _step4.value; + + if (_current.cmd === "scale") { + _current.args = [size, -size]; + } + + c[_current.cmd].apply(c, _current.args); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + }; + } + }]); + + return FontFaceObject; +}(); + +exports.FontFaceObject = FontFaceObject; + +/***/ }), +/* 161 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationStorage = void 0; + +var _murmurhash = __w_pdfjs_require__(162); + +var _util = __w_pdfjs_require__(1); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var AnnotationStorage = /*#__PURE__*/function () { + function AnnotationStorage() { + _classCallCheck(this, AnnotationStorage); + + this._storage = new Map(); + this._modified = false; + this.onSetModified = null; + this.onResetModified = null; + } + + _createClass(AnnotationStorage, [{ + key: "getValue", + value: function getValue(key, defaultValue) { + var value = this._storage.get(key); + + if (value === undefined) { + return defaultValue; + } + + return Object.assign(defaultValue, value); + } + }, { + key: "getRawValue", + value: function getRawValue(key) { + return this._storage.get(key); + } + }, { + key: "setValue", + value: function setValue(key, value) { + var obj = this._storage.get(key); + + var modified = false; + + if (obj !== undefined) { + for (var _i = 0, _Object$entries = Object.entries(value); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + entry = _Object$entries$_i[0], + val = _Object$entries$_i[1]; + + if (obj[entry] !== val) { + modified = true; + obj[entry] = val; + } + } + } else { + modified = true; + + this._storage.set(key, value); + } + + if (modified) { + this._setModified(); + } + } + }, { + key: "getAll", + value: function getAll() { + return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null; + } + }, { + key: "size", + get: function get() { + return this._storage.size; + } + }, { + key: "_setModified", + value: function _setModified() { + if (!this._modified) { + this._modified = true; + + if (typeof this.onSetModified === "function") { + this.onSetModified(); + } + } + } + }, { + key: "resetModified", + value: function resetModified() { + if (this._modified) { + this._modified = false; + + if (typeof this.onResetModified === "function") { + this.onResetModified(); + } + } + } + }, { + key: "serializable", + get: function get() { + return this._storage.size > 0 ? this._storage : null; + } + }, { + key: "hash", + get: function get() { + var hash = new _murmurhash.MurmurHash3_64(); + + var _iterator = _createForOfIteratorHelper(this._storage), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + key = _step$value[0], + value = _step$value[1]; + + hash.update("".concat(key, ":").concat(JSON.stringify(value))); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return hash.hexdigest(); + } + }]); + + return AnnotationStorage; +}(); + +exports.AnnotationStorage = AnnotationStorage; + +/***/ }), +/* 162 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.MurmurHash3_64 = void 0; + +var _util = __w_pdfjs_require__(1); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var SEED = 0xc3d2e1f0; +var MASK_HIGH = 0xffff0000; +var MASK_LOW = 0xffff; + +var MurmurHash3_64 = /*#__PURE__*/function () { + function MurmurHash3_64(seed) { + _classCallCheck(this, MurmurHash3_64); + + this.h1 = seed ? seed & 0xffffffff : SEED; + this.h2 = seed ? seed & 0xffffffff : SEED; + } + + _createClass(MurmurHash3_64, [{ + key: "update", + value: function update(input) { + var data, length; + + if (typeof input === "string") { + data = new Uint8Array(input.length * 2); + length = 0; + + for (var i = 0, ii = input.length; i < ii; i++) { + var code = input.charCodeAt(i); + + if (code <= 0xff) { + data[length++] = code; + } else { + data[length++] = code >>> 8; + data[length++] = code & 0xff; + } + } + } else if ((0, _util.isArrayBuffer)(input)) { + data = input.slice(); + length = data.byteLength; + } else { + throw new Error("Wrong data format in MurmurHash3_64_update. " + "Input must be a string or array."); + } + + var blockCounts = length >> 2; + var tailLength = length - blockCounts * 4; + var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts); + var k1 = 0, + k2 = 0; + var h1 = this.h1, + h2 = this.h2; + var C1 = 0xcc9e2d51, + C2 = 0x1b873593; + var C1_LOW = C1 & MASK_LOW, + C2_LOW = C2 & MASK_LOW; + + for (var _i = 0; _i < blockCounts; _i++) { + if (_i & 1) { + k1 = dataUint32[_i]; + k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; + k1 = k1 << 15 | k1 >>> 17; + k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; + h1 ^= k1; + h1 = h1 << 13 | h1 >>> 19; + h1 = h1 * 5 + 0xe6546b64; + } else { + k2 = dataUint32[_i]; + k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW; + k2 = k2 << 15 | k2 >>> 17; + k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW; + h2 ^= k2; + h2 = h2 << 13 | h2 >>> 19; + h2 = h2 * 5 + 0xe6546b64; + } + } + + k1 = 0; + + switch (tailLength) { + case 3: + k1 ^= data[blockCounts * 4 + 2] << 16; + + case 2: + k1 ^= data[blockCounts * 4 + 1] << 8; + + case 1: + k1 ^= data[blockCounts * 4]; + k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; + k1 = k1 << 15 | k1 >>> 17; + k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; + + if (blockCounts & 1) { + h1 ^= k1; + } else { + h2 ^= k1; + } + + } + + this.h1 = h1; + this.h2 = h2; + } + }, { + key: "hexdigest", + value: function hexdigest() { + var h1 = this.h1, + h2 = this.h2; + h1 ^= h2 >>> 1; + h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW; + h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16; + h1 ^= h2 >>> 1; + h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW; + h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16; + h1 ^= h2 >>> 1; + var hex1 = (h1 >>> 0).toString(16), + hex2 = (h2 >>> 0).toString(16); + return hex1.padStart(8, "0") + hex2.padStart(8, "0"); + } + }]); + + return MurmurHash3_64; +}(); + +exports.MurmurHash3_64 = MurmurHash3_64; + +/***/ }), +/* 163 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.CanvasGraphics = void 0; + +var _util = __w_pdfjs_require__(1); + +var _pattern_helper = __w_pdfjs_require__(164); + +var _image_utils = __w_pdfjs_require__(165); + +var _is_node = __w_pdfjs_require__(3); + +var _display_utils = __w_pdfjs_require__(158); + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +var MIN_FONT_SIZE = 16; +var MAX_FONT_SIZE = 100; +var MAX_GROUP_SIZE = 4096; +var EXECUTION_TIME = 15; +var EXECUTION_STEPS = 10; +var COMPILE_TYPE3_GLYPHS = true; +var MAX_SIZE_TO_COMPILE = 1000; +var FULL_CHUNK_HEIGHT = 16; +var LINEWIDTH_SCALE_FACTOR = 1.000001; + +function mirrorContextOperations(ctx, destCtx) { + if (ctx._removeMirroring) { + throw new Error("Context is already forwarding operations."); + } + + ctx.__originalSave = ctx.save; + ctx.__originalRestore = ctx.restore; + ctx.__originalRotate = ctx.rotate; + ctx.__originalScale = ctx.scale; + ctx.__originalTranslate = ctx.translate; + ctx.__originalTransform = ctx.transform; + ctx.__originalSetTransform = ctx.setTransform; + ctx.__originalResetTransform = ctx.resetTransform; + ctx.__originalClip = ctx.clip; + ctx.__originalMoveTo = ctx.moveTo; + ctx.__originalLineTo = ctx.lineTo; + ctx.__originalBezierCurveTo = ctx.bezierCurveTo; + ctx.__originalRect = ctx.rect; + ctx.__originalClosePath = ctx.closePath; + ctx.__originalBeginPath = ctx.beginPath; + + ctx._removeMirroring = function () { + ctx.save = ctx.__originalSave; + ctx.restore = ctx.__originalRestore; + ctx.rotate = ctx.__originalRotate; + ctx.scale = ctx.__originalScale; + ctx.translate = ctx.__originalTranslate; + ctx.transform = ctx.__originalTransform; + ctx.setTransform = ctx.__originalSetTransform; + ctx.resetTransform = ctx.__originalResetTransform; + ctx.clip = ctx.__originalClip; + ctx.moveTo = ctx.__originalMoveTo; + ctx.lineTo = ctx.__originalLineTo; + ctx.bezierCurveTo = ctx.__originalBezierCurveTo; + ctx.rect = ctx.__originalRect; + ctx.closePath = ctx.__originalClosePath; + ctx.beginPath = ctx.__originalBeginPath; + delete ctx._removeMirroring; + }; + + ctx.save = function ctxSave() { + destCtx.save(); + + this.__originalSave(); + }; + + ctx.restore = function ctxRestore() { + destCtx.restore(); + + this.__originalRestore(); + }; + + ctx.translate = function ctxTranslate(x, y) { + destCtx.translate(x, y); + + this.__originalTranslate(x, y); + }; + + ctx.scale = function ctxScale(x, y) { + destCtx.scale(x, y); + + this.__originalScale(x, y); + }; + + ctx.transform = function ctxTransform(a, b, c, d, e, f) { + destCtx.transform(a, b, c, d, e, f); + + this.__originalTransform(a, b, c, d, e, f); + }; + + ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { + destCtx.setTransform(a, b, c, d, e, f); + + this.__originalSetTransform(a, b, c, d, e, f); + }; + + ctx.resetTransform = function ctxResetTransform() { + destCtx.resetTransform(); + + this.__originalResetTransform(); + }; + + ctx.rotate = function ctxRotate(angle) { + destCtx.rotate(angle); + + this.__originalRotate(angle); + }; + + ctx.clip = function ctxRotate(rule) { + destCtx.clip(rule); + + this.__originalClip(rule); + }; + + ctx.moveTo = function (x, y) { + destCtx.moveTo(x, y); + + this.__originalMoveTo(x, y); + }; + + ctx.lineTo = function (x, y) { + destCtx.lineTo(x, y); + + this.__originalLineTo(x, y); + }; + + ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) { + destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + + this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + }; + + ctx.rect = function (x, y, width, height) { + destCtx.rect(x, y, width, height); + + this.__originalRect(x, y, width, height); + }; + + ctx.closePath = function () { + destCtx.closePath(); + + this.__originalClosePath(); + }; + + ctx.beginPath = function () { + destCtx.beginPath(); + + this.__originalBeginPath(); + }; +} + +function addContextCurrentTransform(ctx) { + if (ctx._transformStack) { + ctx._transformStack = []; + } + + if (ctx.mozCurrentTransform) { + return; + } + + ctx._originalSave = ctx.save; + ctx._originalRestore = ctx.restore; + ctx._originalRotate = ctx.rotate; + ctx._originalScale = ctx.scale; + ctx._originalTranslate = ctx.translate; + ctx._originalTransform = ctx.transform; + ctx._originalSetTransform = ctx.setTransform; + ctx._originalResetTransform = ctx.resetTransform; + ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0]; + ctx._transformStack = []; + + try { + var desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(ctx), "lineWidth"); + ctx._setLineWidth = desc.set; + ctx._getLineWidth = desc.get; + Object.defineProperty(ctx, "lineWidth", { + set: function setLineWidth(width) { + this._setLineWidth(width * LINEWIDTH_SCALE_FACTOR); + }, + get: function getLineWidth() { + return this._getLineWidth(); + } + }); + } catch (_) {} + + Object.defineProperty(ctx, "mozCurrentTransform", { + get: function getCurrentTransform() { + return this._transformMatrix; + } + }); + Object.defineProperty(ctx, "mozCurrentTransformInverse", { + get: function getCurrentTransformInverse() { + var _this$_transformMatri = _slicedToArray(this._transformMatrix, 6), + a = _this$_transformMatri[0], + b = _this$_transformMatri[1], + c = _this$_transformMatri[2], + d = _this$_transformMatri[3], + e = _this$_transformMatri[4], + f = _this$_transformMatri[5]; + + var ad_bc = a * d - b * c; + var bc_ad = b * c - a * d; + return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc]; + } + }); + + ctx.save = function ctxSave() { + var old = this._transformMatrix; + + this._transformStack.push(old); + + this._transformMatrix = old.slice(0, 6); + + this._originalSave(); + }; + + ctx.restore = function ctxRestore() { + if (this._transformStack.length === 0) { + (0, _util.warn)("Tried to restore a ctx when the stack was already empty."); + } + + var prev = this._transformStack.pop(); + + if (prev) { + this._transformMatrix = prev; + + this._originalRestore(); + } + }; + + ctx.translate = function ctxTranslate(x, y) { + var m = this._transformMatrix; + m[4] = m[0] * x + m[2] * y + m[4]; + m[5] = m[1] * x + m[3] * y + m[5]; + + this._originalTranslate(x, y); + }; + + ctx.scale = function ctxScale(x, y) { + var m = this._transformMatrix; + m[0] *= x; + m[1] *= x; + m[2] *= y; + m[3] *= y; + + this._originalScale(x, y); + }; + + ctx.transform = function ctxTransform(a, b, c, d, e, f) { + var m = this._transformMatrix; + this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]]; + + ctx._originalTransform(a, b, c, d, e, f); + }; + + ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { + this._transformMatrix = [a, b, c, d, e, f]; + + ctx._originalSetTransform(a, b, c, d, e, f); + }; + + ctx.resetTransform = function ctxResetTransform() { + this._transformMatrix = [1, 0, 0, 1, 0, 0]; + + ctx._originalResetTransform(); + }; + + ctx.rotate = function ctxRotate(angle) { + var cosValue = Math.cos(angle); + var sinValue = Math.sin(angle); + var m = this._transformMatrix; + this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]]; + + this._originalRotate(angle); + }; +} + +var CachedCanvases = /*#__PURE__*/function () { + function CachedCanvases(canvasFactory) { + _classCallCheck(this, CachedCanvases); + + this.canvasFactory = canvasFactory; + this.cache = Object.create(null); + } + + _createClass(CachedCanvases, [{ + key: "getCanvas", + value: function getCanvas(id, width, height, trackTransform) { + var canvasEntry; + + if (this.cache[id] !== undefined) { + canvasEntry = this.cache[id]; + this.canvasFactory.reset(canvasEntry, width, height); + canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0); + } else { + canvasEntry = this.canvasFactory.create(width, height); + this.cache[id] = canvasEntry; + } + + if (trackTransform) { + addContextCurrentTransform(canvasEntry.context); + } + + return canvasEntry; + } + }, { + key: "delete", + value: function _delete(id) { + delete this.cache[id]; + } + }, { + key: "clear", + value: function clear() { + for (var id in this.cache) { + var canvasEntry = this.cache[id]; + this.canvasFactory.destroy(canvasEntry); + delete this.cache[id]; + } + } + }]); + + return CachedCanvases; +}(); + +function drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) { + var _ctx$mozCurrentTransf = _slicedToArray(ctx.mozCurrentTransform, 6), + a = _ctx$mozCurrentTransf[0], + b = _ctx$mozCurrentTransf[1], + c = _ctx$mozCurrentTransf[2], + d = _ctx$mozCurrentTransf[3], + tx = _ctx$mozCurrentTransf[4], + ty = _ctx$mozCurrentTransf[5]; + + if (b === 0 && c === 0) { + var tlX = destX * a + tx; + var rTlX = Math.round(tlX); + var tlY = destY * d + ty; + var rTlY = Math.round(tlY); + var brX = (destX + destW) * a + tx; + var rWidth = Math.abs(Math.round(brX) - rTlX) || 1; + var brY = (destY + destH) * d + ty; + var rHeight = Math.abs(Math.round(brY) - rTlY) || 1; + ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY); + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight); + ctx.setTransform(a, b, c, d, tx, ty); + return [rWidth, rHeight]; + } + + if (a === 0 && d === 0) { + var _tlX = destY * c + tx; + + var _rTlX = Math.round(_tlX); + + var _tlY = destX * b + ty; + + var _rTlY = Math.round(_tlY); + + var _brX = (destY + destH) * c + tx; + + var _rWidth = Math.abs(Math.round(_brX) - _rTlX) || 1; + + var _brY = (destX + destW) * b + ty; + + var _rHeight = Math.abs(Math.round(_brY) - _rTlY) || 1; + + ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, _rTlX, _rTlY); + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, _rHeight, _rWidth); + ctx.setTransform(a, b, c, d, tx, ty); + return [_rHeight, _rWidth]; + } + + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH); + var scaleX = Math.hypot(a, b); + var scaleY = Math.hypot(c, d); + return [scaleX * destW, scaleY * destH]; +} + +function compileType3Glyph(imgData) { + var width = imgData.width, + height = imgData.height; + + if (!COMPILE_TYPE3_GLYPHS || width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) { + return null; + } + + var POINT_TO_PROCESS_LIMIT = 1000; + var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]); + var width1 = width + 1; + var points = new Uint8Array(width1 * (height + 1)); + var i, j, j0; + var lineSize = width + 7 & ~7; + var data = new Uint8Array(lineSize * height), + pos = 0; + + var _iterator = _createForOfIteratorHelper(imgData.data), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var elem = _step.value; + var mask = 128; + + while (mask > 0) { + data[pos++] = elem & mask ? 0 : 255; + mask >>= 1; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + var count = 0; + pos = 0; + + if (data[pos] !== 0) { + points[0] = 1; + ++count; + } + + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j] = data[pos] ? 2 : 1; + ++count; + } + + pos++; + } + + if (data[pos] !== 0) { + points[j] = 2; + ++count; + } + + for (i = 1; i < height; i++) { + pos = i * lineSize; + j0 = i * width1; + + if (data[pos - lineSize] !== data[pos]) { + points[j0] = data[pos] ? 1 : 8; + ++count; + } + + var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0); + + for (j = 1; j < width; j++) { + sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0); + + if (POINT_TYPES[sum]) { + points[j0 + j] = POINT_TYPES[sum]; + ++count; + } + + pos++; + } + + if (data[pos - lineSize] !== data[pos]) { + points[j0 + j] = data[pos] ? 2 : 4; + ++count; + } + + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + } + + pos = lineSize * (height - 1); + j0 = i * width1; + + if (data[pos] !== 0) { + points[j0] = 8; + ++count; + } + + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j0 + j] = data[pos] ? 4 : 8; + ++count; + } + + pos++; + } + + if (data[pos] !== 0) { + points[j0 + j] = 4; + ++count; + } + + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + + var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]); + var path, outlines, coords; + + if (!_is_node.isNodeJS) { + path = new Path2D(); + } else { + outlines = []; + } + + for (i = 0; count && i <= height; i++) { + var p = i * width1; + var end = p + width; + + while (p < end && !points[p]) { + p++; + } + + if (p === end) { + continue; + } + + if (path) { + path.moveTo(p % width1, i); + } else { + coords = [p % width1, i]; + } + + var p0 = p; + var type = points[p]; + + do { + var step = steps[type]; + + do { + p += step; + } while (!points[p]); + + var pp = points[p]; + + if (pp !== 5 && pp !== 10) { + type = pp; + points[p] = 0; + } else { + type = pp & 0x33 * type >> 4; + points[p] &= type >> 2 | type << 2; + } + + if (path) { + path.lineTo(p % width1, p / width1 | 0); + } else { + coords.push(p % width1, p / width1 | 0); + } + + if (!points[p]) { + --count; + } + } while (p0 !== p); + + if (!path) { + outlines.push(coords); + } + + --i; + } + + data = null; + points = null; + + var drawOutline = function drawOutline(c) { + c.save(); + c.scale(1 / width, -1 / height); + c.translate(0, -height); + + if (path) { + c.fill(path); + } else { + c.beginPath(); + + var _iterator2 = _createForOfIteratorHelper(outlines), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var o = _step2.value; + c.moveTo(o[0], o[1]); + + for (var l = 2, ll = o.length; l < ll; l += 2) { + c.lineTo(o[l], o[l + 1]); + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + c.fill(); + } + + c.beginPath(); + c.restore(); + }; + + return drawOutline; +} + +var CanvasExtraState = /*#__PURE__*/function () { + function CanvasExtraState(width, height) { + _classCallCheck(this, CanvasExtraState); + + this.alphaIsShape = false; + this.fontSize = 0; + this.fontSizeScale = 1; + this.textMatrix = _util.IDENTITY_MATRIX; + this.textMatrixScale = 1; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textRise = 0; + this.fillColor = "#000000"; + this.strokeColor = "#000000"; + this.patternFill = false; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.activeSMask = null; + this.transferMaps = null; + this.startNewPathAndClipBox([0, 0, width, height]); + } + + _createClass(CanvasExtraState, [{ + key: "clone", + value: function clone() { + var clone = Object.create(this); + clone.clipBox = this.clipBox.slice(); + return clone; + } + }, { + key: "setCurrentPoint", + value: function setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } + }, { + key: "updatePathMinMax", + value: function updatePathMinMax(transform, x, y) { + var _Util$applyTransform = _util.Util.applyTransform([x, y], transform); + + var _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2); + + x = _Util$applyTransform2[0]; + y = _Util$applyTransform2[1]; + this.minX = Math.min(this.minX, x); + this.minY = Math.min(this.minY, y); + this.maxX = Math.max(this.maxX, x); + this.maxY = Math.max(this.maxY, y); + } + }, { + key: "updateRectMinMax", + value: function updateRectMinMax(transform, rect) { + var p1 = _util.Util.applyTransform(rect, transform); + + var p2 = _util.Util.applyTransform(rect.slice(2), transform); + + this.minX = Math.min(this.minX, p1[0], p2[0]); + this.minY = Math.min(this.minY, p1[1], p2[1]); + this.maxX = Math.max(this.maxX, p1[0], p2[0]); + this.maxY = Math.max(this.maxY, p1[1], p2[1]); + } + }, { + key: "updateScalingPathMinMax", + value: function updateScalingPathMinMax(transform, minMax) { + _util.Util.scaleMinMax(transform, minMax); + + this.minX = Math.min(this.minX, minMax[0]); + this.maxX = Math.max(this.maxX, minMax[1]); + this.minY = Math.min(this.minY, minMax[2]); + this.maxY = Math.max(this.maxY, minMax[3]); + } + }, { + key: "updateCurvePathMinMax", + value: function updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) { + var box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3); + + if (minMax) { + minMax[0] = Math.min(minMax[0], box[0], box[2]); + minMax[1] = Math.max(minMax[1], box[0], box[2]); + minMax[2] = Math.min(minMax[2], box[1], box[3]); + minMax[3] = Math.max(minMax[3], box[1], box[3]); + return; + } + + this.updateRectMinMax(transform, box); + } + }, { + key: "getPathBoundingBox", + value: function getPathBoundingBox() { + var pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; + var transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var box = [this.minX, this.minY, this.maxX, this.maxY]; + + if (pathType === _pattern_helper.PathType.STROKE) { + if (!transform) { + (0, _util.unreachable)("Stroke bounding box must include transform."); + } + + var scale = _util.Util.singularValueDecompose2dScale(transform); + + var xStrokePad = scale[0] * this.lineWidth / 2; + var yStrokePad = scale[1] * this.lineWidth / 2; + box[0] -= xStrokePad; + box[1] -= yStrokePad; + box[2] += xStrokePad; + box[3] += yStrokePad; + } + + return box; + } + }, { + key: "updateClipFromPath", + value: function updateClipFromPath() { + var intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox()); + + this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]); + } + }, { + key: "isEmptyClip", + value: function isEmptyClip() { + return this.minX === Infinity; + } + }, { + key: "startNewPathAndClipBox", + value: function startNewPathAndClipBox(box) { + this.clipBox = box; + this.minX = Infinity; + this.minY = Infinity; + this.maxX = 0; + this.maxY = 0; + } + }, { + key: "getClippedPathBoundingBox", + value: function getClippedPathBoundingBox() { + var pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; + var transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform)); + } + }]); + + return CanvasExtraState; +}(); + +function putBinaryImageData(ctx, imgData) { + var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + if (typeof ImageData !== "undefined" && imgData instanceof ImageData) { + ctx.putImageData(imgData, 0, 0); + return; + } + + var height = imgData.height, + width = imgData.width; + var partialChunkHeight = height % FULL_CHUNK_HEIGHT; + var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + var srcPos = 0, + destPos; + var src = imgData.data; + var dest = chunkImgData.data; + var i, j, thisChunkHeight, elemsInThisChunk; + var transferMapRed, transferMapGreen, transferMapBlue, transferMapGray; + + if (transferMaps) { + switch (transferMaps.length) { + case 1: + transferMapRed = transferMaps[0]; + transferMapGreen = transferMaps[0]; + transferMapBlue = transferMaps[0]; + transferMapGray = transferMaps[0]; + break; + + case 4: + transferMapRed = transferMaps[0]; + transferMapGreen = transferMaps[1]; + transferMapBlue = transferMaps[2]; + transferMapGray = transferMaps[3]; + break; + } + } + + if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) { + var srcLength = src.byteLength; + var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2); + var dest32DataLength = dest32.length; + var fullSrcDiff = width + 7 >> 3; + var white = 0xffffffff; + var black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff; + + if (transferMapGray) { + if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) { + var _ref = [black, white]; + white = _ref[0]; + black = _ref[1]; + } + } + + for (i = 0; i < totalChunks; i++) { + thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + destPos = 0; + + for (j = 0; j < thisChunkHeight; j++) { + var srcDiff = srcLength - srcPos; + var k = 0; + var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7; + var kEndUnrolled = kEnd & ~7; + var mask = 0; + var srcByte = 0; + + for (; k < kEndUnrolled; k += 8) { + srcByte = src[srcPos++]; + dest32[destPos++] = srcByte & 128 ? white : black; + dest32[destPos++] = srcByte & 64 ? white : black; + dest32[destPos++] = srcByte & 32 ? white : black; + dest32[destPos++] = srcByte & 16 ? white : black; + dest32[destPos++] = srcByte & 8 ? white : black; + dest32[destPos++] = srcByte & 4 ? white : black; + dest32[destPos++] = srcByte & 2 ? white : black; + dest32[destPos++] = srcByte & 1 ? white : black; + } + + for (; k < kEnd; k++) { + if (mask === 0) { + srcByte = src[srcPos++]; + mask = 128; + } + + dest32[destPos++] = srcByte & mask ? white : black; + mask >>= 1; + } + } + + while (destPos < dest32DataLength) { + dest32[destPos++] = 0; + } + + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) { + var hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue); + j = 0; + elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4; + + for (i = 0; i < fullChunks; i++) { + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + srcPos += elemsInThisChunk; + + if (hasTransferMaps) { + for (var _k = 0; _k < elemsInThisChunk; _k += 4) { + if (transferMapRed) { + dest[_k + 0] = transferMapRed[dest[_k + 0]]; + } + + if (transferMapGreen) { + dest[_k + 1] = transferMapGreen[dest[_k + 1]]; + } + + if (transferMapBlue) { + dest[_k + 2] = transferMapBlue[dest[_k + 2]]; + } + } + } + + ctx.putImageData(chunkImgData, 0, j); + j += FULL_CHUNK_HEIGHT; + } + + if (i < totalChunks) { + elemsInThisChunk = width * partialChunkHeight * 4; + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + + if (hasTransferMaps) { + for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) { + if (transferMapRed) { + dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]]; + } + + if (transferMapGreen) { + dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]]; + } + + if (transferMapBlue) { + dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]]; + } + } + } + + ctx.putImageData(chunkImgData, 0, j); + } + } else if (imgData.kind === _util.ImageKind.RGB_24BPP) { + var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue); + + thisChunkHeight = FULL_CHUNK_HEIGHT; + elemsInThisChunk = width * thisChunkHeight; + + for (i = 0; i < totalChunks; i++) { + if (i >= fullChunks) { + thisChunkHeight = partialChunkHeight; + elemsInThisChunk = width * thisChunkHeight; + } + + destPos = 0; + + for (j = elemsInThisChunk; j--;) { + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = 255; + } + + if (_hasTransferMaps) { + for (var _k3 = 0; _k3 < destPos; _k3 += 4) { + if (transferMapRed) { + dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]]; + } + + if (transferMapGreen) { + dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]]; + } + + if (transferMapBlue) { + dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]]; + } + } + } + + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else { + throw new Error("bad image kind: ".concat(imgData.kind)); + } +} + +function putBinaryImageMask(ctx, imgData) { + if (imgData.bitmap) { + ctx.drawImage(imgData.bitmap, 0, 0); + return; + } + + var height = imgData.height, + width = imgData.width; + var partialChunkHeight = height % FULL_CHUNK_HEIGHT; + var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + var srcPos = 0; + var src = imgData.data; + var dest = chunkImgData.data; + + for (var i = 0; i < totalChunks; i++) { + var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + + var _applyMaskImageData = (0, _image_utils.applyMaskImageData)({ + src: src, + srcPos: srcPos, + dest: dest, + width: width, + height: thisChunkHeight + }); + + srcPos = _applyMaskImageData.srcPos; + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } +} + +function copyCtxState(sourceCtx, destCtx) { + var properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font"]; + + for (var i = 0, ii = properties.length; i < ii; i++) { + var property = properties[i]; + + if (sourceCtx[property] !== undefined) { + destCtx[property] = sourceCtx[property]; + } + } + + if (sourceCtx.setLineDash !== undefined) { + destCtx.setLineDash(sourceCtx.getLineDash()); + destCtx.lineDashOffset = sourceCtx.lineDashOffset; + } +} + +function resetCtxToDefault(ctx, foregroundColor) { + ctx.strokeStyle = ctx.fillStyle = foregroundColor || "#000000"; + ctx.fillRule = "nonzero"; + ctx.globalAlpha = 1; + ctx.lineWidth = 1; + ctx.lineCap = "butt"; + ctx.lineJoin = "miter"; + ctx.miterLimit = 10; + ctx.globalCompositeOperation = "source-over"; + ctx.font = "10px sans-serif"; + + if (ctx.setLineDash !== undefined) { + ctx.setLineDash([]); + ctx.lineDashOffset = 0; + } +} + +function composeSMaskBackdrop(bytes, r0, g0, b0) { + var length = bytes.length; + + for (var i = 3; i < length; i += 4) { + var alpha = bytes[i]; + + if (alpha === 0) { + bytes[i - 3] = r0; + bytes[i - 2] = g0; + bytes[i - 1] = b0; + } else if (alpha < 255) { + var alpha_ = 255 - alpha; + bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8; + bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8; + bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8; + } + } +} + +function composeSMaskAlpha(maskData, layerData, transferMap) { + var length = maskData.length; + var scale = 1 / 255; + + for (var i = 3; i < length; i += 4) { + var alpha = transferMap ? transferMap[maskData[i]] : maskData[i]; + layerData[i] = layerData[i] * alpha * scale | 0; + } +} + +function composeSMaskLuminosity(maskData, layerData, transferMap) { + var length = maskData.length; + + for (var i = 3; i < length; i += 4) { + var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28; + layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16; + } +} + +function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) { + var hasBackdrop = !!backdrop; + var r0 = hasBackdrop ? backdrop[0] : 0; + var g0 = hasBackdrop ? backdrop[1] : 0; + var b0 = hasBackdrop ? backdrop[2] : 0; + var composeFn; + + if (subtype === "Luminosity") { + composeFn = composeSMaskLuminosity; + } else { + composeFn = composeSMaskAlpha; + } + + var PIXELS_TO_PROCESS = 1048576; + var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width)); + + for (var row = 0; row < height; row += chunkSize) { + var chunkHeight = Math.min(chunkSize, height - row); + var maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight); + var layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight); + + if (hasBackdrop) { + composeSMaskBackdrop(maskData.data, r0, g0, b0); + } + + composeFn(maskData.data, layerData.data, transferMap); + layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY); + } +} + +function composeSMask(ctx, smask, layerCtx, layerBox) { + var layerOffsetX = layerBox[0]; + var layerOffsetY = layerBox[1]; + var layerWidth = layerBox[2] - layerOffsetX; + var layerHeight = layerBox[3] - layerOffsetY; + + if (layerWidth === 0 || layerHeight === 0) { + return; + } + + genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY); + ctx.save(); + ctx.globalAlpha = 1; + ctx.globalCompositeOperation = "source-over"; + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(layerCtx.canvas, 0, 0); + ctx.restore(); +} + +function getImageSmoothingEnabled(transform, interpolate) { + var scale = _util.Util.singularValueDecompose2dScale(transform); + + scale[0] = Math.fround(scale[0]); + scale[1] = Math.fround(scale[1]); + var actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS); + + if (interpolate !== undefined) { + return interpolate; + } else if (scale[0] <= actualScale || scale[1] <= actualScale) { + return true; + } + + return false; +} + +var LINE_CAP_STYLES = ["butt", "round", "square"]; +var LINE_JOIN_STYLES = ["miter", "round", "bevel"]; +var NORMAL_CLIP = {}; +var EO_CLIP = {}; + +var CanvasGraphics = /*#__PURE__*/function () { + function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, imageLayer, optionalContentConfig, annotationCanvasMap, pageColors) { + _classCallCheck(this, CanvasGraphics); + + this.ctx = canvasCtx; + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); + this.stateStack = []; + this.pendingClip = null; + this.pendingEOFill = false; + this.res = null; + this.xobjs = null; + this.commonObjs = commonObjs; + this.objs = objs; + this.canvasFactory = canvasFactory; + this.imageLayer = imageLayer; + this.groupStack = []; + this.processingType3 = null; + this.baseTransform = null; + this.baseTransformStack = []; + this.groupLevel = 0; + this.smaskStack = []; + this.smaskCounter = 0; + this.tempSMask = null; + this.suspendedCtx = null; + this.contentVisible = true; + this.markedContentStack = []; + this.optionalContentConfig = optionalContentConfig; + this.cachedCanvases = new CachedCanvases(this.canvasFactory); + this.cachedPatterns = new Map(); + this.annotationCanvasMap = annotationCanvasMap; + this.viewportScale = 1; + this.outputScaleX = 1; + this.outputScaleY = 1; + this.backgroundColor = (pageColors === null || pageColors === void 0 ? void 0 : pageColors.background) || null; + this.foregroundColor = (pageColors === null || pageColors === void 0 ? void 0 : pageColors.foreground) || null; + + if (canvasCtx) { + addContextCurrentTransform(canvasCtx); + } + + this._cachedScaleForStroking = null; + this._cachedGetSinglePixelWidth = null; + this._cachedBitmapsMap = new Map(); + } + + _createClass(CanvasGraphics, [{ + key: "getObject", + value: function getObject(data) { + var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + if (typeof data === "string") { + return data.startsWith("g_") ? this.commonObjs.get(data) : this.objs.get(data); + } + + return fallback; + } + }, { + key: "beginDrawing", + value: function beginDrawing(_ref2) { + var transform = _ref2.transform, + viewport = _ref2.viewport, + _ref2$transparency = _ref2.transparency, + transparency = _ref2$transparency === void 0 ? false : _ref2$transparency, + _ref2$background = _ref2.background, + background = _ref2$background === void 0 ? null : _ref2$background; + var width = this.ctx.canvas.width; + var height = this.ctx.canvas.height; + var defaultBackgroundColor = background || "#ffffff"; + this.ctx.save(); + + if (this.foregroundColor && this.backgroundColor) { + this.ctx.fillStyle = this.foregroundColor; + var fg = this.foregroundColor = this.ctx.fillStyle; + this.ctx.fillStyle = this.backgroundColor; + var bg = this.backgroundColor = this.ctx.fillStyle; + var isValidDefaultBg = true; + var defaultBg = defaultBackgroundColor; + this.ctx.fillStyle = defaultBackgroundColor; + defaultBg = this.ctx.fillStyle; + isValidDefaultBg = typeof defaultBg === "string" && /^#[0-9A-Fa-f]{6}$/.test(defaultBg); + + if (fg === "#000000" && bg === "#ffffff" || fg === bg || !isValidDefaultBg) { + this.foregroundColor = this.backgroundColor = null; + } else { + var cB = parseInt(defaultBg.slice(1), 16); + var rB = (cB && 0xff0000) >> 16; + var gB = (cB && 0x00ff00) >> 8; + var bB = cB && 0x0000ff; + + var newComp = function newComp(x) { + x /= 255; + return x <= 0.03928 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4); + }; + + var lumB = Math.round(0.2126 * newComp(rB) + 0.7152 * newComp(gB) + 0.0722 * newComp(bB)); + + this.selectColor = function (r, g, b) { + var lumC = 0.2126 * newComp(r) + 0.7152 * newComp(g) + 0.0722 * newComp(b); + return Math.round(lumC) === lumB ? bg : fg; + }; + } + } + + this.ctx.fillStyle = this.backgroundColor || defaultBackgroundColor; + this.ctx.fillRect(0, 0, width, height); + this.ctx.restore(); + + if (transparency) { + var transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height, true); + this.compositeCtx = this.ctx; + this.transparentCanvas = transparentCanvas.canvas; + this.ctx = transparentCanvas.context; + this.ctx.save(); + this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform); + } + + this.ctx.save(); + resetCtxToDefault(this.ctx, this.foregroundColor); + + if (transform) { + this.ctx.transform.apply(this.ctx, transform); + this.outputScaleX = transform[0]; + this.outputScaleY = transform[0]; + } + + this.ctx.transform.apply(this.ctx, viewport.transform); + this.viewportScale = viewport.scale; + this.baseTransform = this.ctx.mozCurrentTransform.slice(); + + if (this.imageLayer) { + this.imageLayer.beginLayout(); + } + } + }, { + key: "executeOperatorList", + value: function executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) { + var argsArray = operatorList.argsArray; + var fnArray = operatorList.fnArray; + var i = executionStartIdx || 0; + var argsArrayLen = argsArray.length; + + if (argsArrayLen === i) { + return i; + } + + var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function"; + var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0; + var steps = 0; + var commonObjs = this.commonObjs; + var objs = this.objs; + var fnId; + + while (true) { + if (stepper !== undefined && i === stepper.nextBreakPoint) { + stepper.breakIt(i, continueCallback); + return i; + } + + fnId = fnArray[i]; + + if (fnId !== _util.OPS.dependency) { + this[fnId].apply(this, argsArray[i]); + } else { + var _iterator3 = _createForOfIteratorHelper(argsArray[i]), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var depObjId = _step3.value; + var objsPool = depObjId.startsWith("g_") ? commonObjs : objs; + + if (!objsPool.has(depObjId)) { + objsPool.get(depObjId, continueCallback); + return i; + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + + i++; + + if (i === argsArrayLen) { + return i; + } + + if (chunkOperations && ++steps > EXECUTION_STEPS) { + if (Date.now() > endTime) { + continueCallback(); + return i; + } + + steps = 0; + } + } + } + }, { + key: "endDrawing", + value: function endDrawing() { + while (this.stateStack.length || this.inSMaskMode) { + this.restore(); + } + + this.ctx.restore(); + + if (this.transparentCanvas) { + this.ctx = this.compositeCtx; + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.drawImage(this.transparentCanvas, 0, 0); + this.ctx.restore(); + this.transparentCanvas = null; + } + + this.cachedCanvases.clear(); + this.cachedPatterns.clear(); + + var _iterator4 = _createForOfIteratorHelper(this._cachedBitmapsMap.values()), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var cache = _step4.value; + + var _iterator5 = _createForOfIteratorHelper(cache.values()), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var canvas = _step5.value; + + if (typeof HTMLCanvasElement !== "undefined" && canvas instanceof HTMLCanvasElement) { + canvas.width = canvas.height = 0; + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + cache.clear(); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._cachedBitmapsMap.clear(); + + if (this.imageLayer) { + this.imageLayer.endLayout(); + } + } + }, { + key: "_scaleImage", + value: function _scaleImage(img, inverseTransform) { + var width = img.width; + var height = img.height; + var widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1); + var heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1); + var paintWidth = width, + paintHeight = height; + var tmpCanvasId = "prescale1"; + var tmpCanvas, tmpCtx; + + while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) { + var newWidth = paintWidth, + newHeight = paintHeight; + + if (widthScale > 2 && paintWidth > 1) { + newWidth = Math.ceil(paintWidth / 2); + widthScale /= paintWidth / newWidth; + } + + if (heightScale > 2 && paintHeight > 1) { + newHeight = Math.ceil(paintHeight / 2); + heightScale /= paintHeight / newHeight; + } + + tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight, false); + tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, newWidth, newHeight); + tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight); + img = tmpCanvas.canvas; + paintWidth = newWidth; + paintHeight = newHeight; + tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1"; + } + + return { + img: img, + paintWidth: paintWidth, + paintHeight: paintHeight + }; + } + }, { + key: "_createMaskCanvas", + value: function _createMaskCanvas(img) { + var ctx = this.ctx; + var width = img.width, + height = img.height; + var fillColor = this.current.fillColor; + var isPatternFill = this.current.patternFill; + var currentTransform = ctx.mozCurrentTransform; + var cache, cacheKey, scaled, maskCanvas; + + if ((img.bitmap || img.data) && img.count > 1) { + var mainKey = img.bitmap || img.data.buffer; + var withoutTranslation = currentTransform.slice(0, 4); + cacheKey = JSON.stringify(isPatternFill ? withoutTranslation : [withoutTranslation, fillColor]); + cache = this._cachedBitmapsMap.get(mainKey); + + if (!cache) { + cache = new Map(); + + this._cachedBitmapsMap.set(mainKey, cache); + } + + var cachedImage = cache.get(cacheKey); + + if (cachedImage && !isPatternFill) { + var _offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]); + + var _offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]); + + return { + canvas: cachedImage, + offsetX: _offsetX, + offsetY: _offsetY + }; + } + + scaled = cachedImage; + } + + if (!scaled) { + maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height, false); + putBinaryImageMask(maskCanvas.context, img); + } + + var maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]); + + maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]); + + var cord1 = _util.Util.applyTransform([0, 0], maskToCanvas); + + var cord2 = _util.Util.applyTransform([width, height], maskToCanvas); + + var rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]); + + var drawnWidth = Math.round(rect[2] - rect[0]) || 1; + var drawnHeight = Math.round(rect[3] - rect[1]) || 1; + var fillCanvas = this.cachedCanvases.getCanvas("fillCanvas", drawnWidth, drawnHeight, true); + var fillCtx = fillCanvas.context; + var offsetX = Math.min(cord1[0], cord2[0]); + var offsetY = Math.min(cord1[1], cord2[1]); + fillCtx.translate(-offsetX, -offsetY); + fillCtx.transform.apply(fillCtx, maskToCanvas); + + if (!scaled) { + scaled = this._scaleImage(maskCanvas.canvas, fillCtx.mozCurrentTransformInverse); + scaled = scaled.img; + + if (cache && isPatternFill) { + cache.set(cacheKey, scaled); + } + } + + fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled(fillCtx.mozCurrentTransform, img.interpolate); + drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height); + fillCtx.globalCompositeOperation = "source-in"; + + var inverse = _util.Util.transform(fillCtx.mozCurrentTransformInverse, [1, 0, 0, 1, -offsetX, -offsetY]); + + fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor; + fillCtx.fillRect(0, 0, width, height); + + if (cache && !isPatternFill) { + this.cachedCanvases["delete"]("fillCanvas"); + cache.set(cacheKey, fillCanvas.canvas); + } + + return { + canvas: fillCanvas.canvas, + offsetX: Math.round(offsetX), + offsetY: Math.round(offsetY) + }; + } + }, { + key: "setLineWidth", + value: function setLineWidth(width) { + if (width !== this.current.lineWidth) { + this._cachedScaleForStroking = null; + } + + this.current.lineWidth = width; + this.ctx.lineWidth = width; + } + }, { + key: "setLineCap", + value: function setLineCap(style) { + this.ctx.lineCap = LINE_CAP_STYLES[style]; + } + }, { + key: "setLineJoin", + value: function setLineJoin(style) { + this.ctx.lineJoin = LINE_JOIN_STYLES[style]; + } + }, { + key: "setMiterLimit", + value: function setMiterLimit(limit) { + this.ctx.miterLimit = limit; + } + }, { + key: "setDash", + value: function setDash(dashArray, dashPhase) { + var ctx = this.ctx; + + if (ctx.setLineDash !== undefined) { + ctx.setLineDash(dashArray); + ctx.lineDashOffset = dashPhase; + } + } + }, { + key: "setRenderingIntent", + value: function setRenderingIntent(intent) {} + }, { + key: "setFlatness", + value: function setFlatness(flatness) {} + }, { + key: "setGState", + value: function setGState(states) { + for (var i = 0, ii = states.length; i < ii; i++) { + var state = states[i]; + var key = state[0]; + var value = state[1]; + + switch (key) { + case "LW": + this.setLineWidth(value); + break; + + case "LC": + this.setLineCap(value); + break; + + case "LJ": + this.setLineJoin(value); + break; + + case "ML": + this.setMiterLimit(value); + break; + + case "D": + this.setDash(value[0], value[1]); + break; + + case "RI": + this.setRenderingIntent(value); + break; + + case "FL": + this.setFlatness(value); + break; + + case "Font": + this.setFont(value[0], value[1]); + break; + + case "CA": + this.current.strokeAlpha = state[1]; + break; + + case "ca": + this.current.fillAlpha = state[1]; + this.ctx.globalAlpha = state[1]; + break; + + case "BM": + this.ctx.globalCompositeOperation = value; + break; + + case "SMask": + this.current.activeSMask = value ? this.tempSMask : null; + this.tempSMask = null; + this.checkSMaskState(); + break; + + case "TR": + this.current.transferMaps = value; + } + } + } + }, { + key: "inSMaskMode", + get: function get() { + return !!this.suspendedCtx; + } + }, { + key: "checkSMaskState", + value: function checkSMaskState() { + var inSMaskMode = this.inSMaskMode; + + if (this.current.activeSMask && !inSMaskMode) { + this.beginSMaskMode(); + } else if (!this.current.activeSMask && inSMaskMode) { + this.endSMaskMode(); + } + } + }, { + key: "beginSMaskMode", + value: function beginSMaskMode() { + if (this.inSMaskMode) { + throw new Error("beginSMaskMode called while already in smask mode"); + } + + var drawnWidth = this.ctx.canvas.width; + var drawnHeight = this.ctx.canvas.height; + var cacheId = "smaskGroupAt" + this.groupLevel; + var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true); + this.suspendedCtx = this.ctx; + this.ctx = scratchCanvas.context; + var ctx = this.ctx; + ctx.setTransform.apply(ctx, this.suspendedCtx.mozCurrentTransform); + copyCtxState(this.suspendedCtx, ctx); + mirrorContextOperations(ctx, this.suspendedCtx); + this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); + } + }, { + key: "endSMaskMode", + value: function endSMaskMode() { + if (!this.inSMaskMode) { + throw new Error("endSMaskMode called while not in smask mode"); + } + + this.ctx._removeMirroring(); + + copyCtxState(this.ctx, this.suspendedCtx); + this.ctx = this.suspendedCtx; + this.suspendedCtx = null; + } + }, { + key: "compose", + value: function compose(dirtyBox) { + if (!this.current.activeSMask) { + return; + } + + if (!dirtyBox) { + dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height]; + } else { + dirtyBox[0] = Math.floor(dirtyBox[0]); + dirtyBox[1] = Math.floor(dirtyBox[1]); + dirtyBox[2] = Math.ceil(dirtyBox[2]); + dirtyBox[3] = Math.ceil(dirtyBox[3]); + } + + var smask = this.current.activeSMask; + var suspendedCtx = this.suspendedCtx; + composeSMask(suspendedCtx, smask, this.ctx, dirtyBox); + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height); + this.ctx.restore(); + } + }, { + key: "save", + value: function save() { + if (this.inSMaskMode) { + copyCtxState(this.ctx, this.suspendedCtx); + this.suspendedCtx.save(); + } else { + this.ctx.save(); + } + + var old = this.current; + this.stateStack.push(old); + this.current = old.clone(); + } + }, { + key: "restore", + value: function restore() { + if (this.stateStack.length === 0 && this.inSMaskMode) { + this.endSMaskMode(); + } + + if (this.stateStack.length !== 0) { + this.current = this.stateStack.pop(); + + if (this.inSMaskMode) { + this.suspendedCtx.restore(); + copyCtxState(this.suspendedCtx, this.ctx); + } else { + this.ctx.restore(); + } + + this.checkSMaskState(); + this.pendingClip = null; + this._cachedScaleForStroking = null; + this._cachedGetSinglePixelWidth = null; + } + } + }, { + key: "transform", + value: function transform(a, b, c, d, e, f) { + this.ctx.transform(a, b, c, d, e, f); + this._cachedScaleForStroking = null; + this._cachedGetSinglePixelWidth = null; + } + }, { + key: "constructPath", + value: function constructPath(ops, args, minMax) { + var ctx = this.ctx; + var current = this.current; + var x = current.x, + y = current.y; + var startX, startY; + var currentTransform = ctx.mozCurrentTransform; + var isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0; + var minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null; + + for (var i = 0, j = 0, ii = ops.length; i < ii; i++) { + switch (ops[i] | 0) { + case _util.OPS.rectangle: + x = args[j++]; + y = args[j++]; + var width = args[j++]; + var height = args[j++]; + var xw = x + width; + var yh = y + height; + ctx.moveTo(x, y); + + if (width === 0 || height === 0) { + ctx.lineTo(xw, yh); + } else { + ctx.lineTo(xw, y); + ctx.lineTo(xw, yh); + ctx.lineTo(x, yh); + } + + if (!isScalingMatrix) { + current.updateRectMinMax(currentTransform, [x, y, xw, yh]); + } + + ctx.closePath(); + break; + + case _util.OPS.moveTo: + x = args[j++]; + y = args[j++]; + ctx.moveTo(x, y); + + if (!isScalingMatrix) { + current.updatePathMinMax(currentTransform, x, y); + } + + break; + + case _util.OPS.lineTo: + x = args[j++]; + y = args[j++]; + ctx.lineTo(x, y); + + if (!isScalingMatrix) { + current.updatePathMinMax(currentTransform, x, y); + } + + break; + + case _util.OPS.curveTo: + startX = x; + startY = y; + x = args[j + 4]; + y = args[j + 5]; + ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y); + current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier); + j += 6; + break; + + case _util.OPS.curveTo2: + startX = x; + startY = y; + ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]); + current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier); + x = args[j + 2]; + y = args[j + 3]; + j += 4; + break; + + case _util.OPS.curveTo3: + startX = x; + startY = y; + x = args[j + 2]; + y = args[j + 3]; + ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y); + current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier); + j += 4; + break; + + case _util.OPS.closePath: + ctx.closePath(); + break; + } + } + + if (isScalingMatrix) { + current.updateScalingPathMinMax(currentTransform, minMaxForBezier); + } + + current.setCurrentPoint(x, y); + } + }, { + key: "closePath", + value: function closePath() { + this.ctx.closePath(); + } + }, { + key: "stroke", + value: function stroke(consumePath) { + consumePath = typeof consumePath !== "undefined" ? consumePath : true; + var ctx = this.ctx; + var strokeColor = this.current.strokeColor; + ctx.globalAlpha = this.current.strokeAlpha; + + if (this.contentVisible) { + if (_typeof(strokeColor) === "object" && strokeColor !== null && strokeColor !== void 0 && strokeColor.getPattern) { + ctx.save(); + ctx.strokeStyle = strokeColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.STROKE); + this.rescaleAndStroke(false); + ctx.restore(); + } else { + this.rescaleAndStroke(true); + } + } + + if (consumePath) { + this.consumePath(this.current.getClippedPathBoundingBox()); + } + + ctx.globalAlpha = this.current.fillAlpha; + } + }, { + key: "closeStroke", + value: function closeStroke() { + this.closePath(); + this.stroke(); + } + }, { + key: "fill", + value: function fill(consumePath) { + consumePath = typeof consumePath !== "undefined" ? consumePath : true; + var ctx = this.ctx; + var fillColor = this.current.fillColor; + var isPatternFill = this.current.patternFill; + var needRestore = false; + + if (isPatternFill) { + ctx.save(); + ctx.fillStyle = fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL); + needRestore = true; + } + + var intersect = this.current.getClippedPathBoundingBox(); + + if (this.contentVisible && intersect !== null) { + if (this.pendingEOFill) { + ctx.fill("evenodd"); + this.pendingEOFill = false; + } else { + ctx.fill(); + } + } + + if (needRestore) { + ctx.restore(); + } + + if (consumePath) { + this.consumePath(intersect); + } + } + }, { + key: "eoFill", + value: function eoFill() { + this.pendingEOFill = true; + this.fill(); + } + }, { + key: "fillStroke", + value: function fillStroke() { + this.fill(false); + this.stroke(false); + this.consumePath(); + } + }, { + key: "eoFillStroke", + value: function eoFillStroke() { + this.pendingEOFill = true; + this.fillStroke(); + } + }, { + key: "closeFillStroke", + value: function closeFillStroke() { + this.closePath(); + this.fillStroke(); + } + }, { + key: "closeEOFillStroke", + value: function closeEOFillStroke() { + this.pendingEOFill = true; + this.closePath(); + this.fillStroke(); + } + }, { + key: "endPath", + value: function endPath() { + this.consumePath(); + } + }, { + key: "clip", + value: function clip() { + this.pendingClip = NORMAL_CLIP; + } + }, { + key: "eoClip", + value: function eoClip() { + this.pendingClip = EO_CLIP; + } + }, { + key: "beginText", + value: function beginText() { + this.current.textMatrix = _util.IDENTITY_MATRIX; + this.current.textMatrixScale = 1; + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + } + }, { + key: "endText", + value: function endText() { + var paths = this.pendingTextPaths; + var ctx = this.ctx; + + if (paths === undefined) { + ctx.beginPath(); + return; + } + + ctx.save(); + ctx.beginPath(); + + for (var i = 0; i < paths.length; i++) { + var path = paths[i]; + ctx.setTransform.apply(ctx, path.transform); + ctx.translate(path.x, path.y); + path.addToPath(ctx, path.fontSize); + } + + ctx.restore(); + ctx.clip(); + ctx.beginPath(); + delete this.pendingTextPaths; + } + }, { + key: "setCharSpacing", + value: function setCharSpacing(spacing) { + this.current.charSpacing = spacing; + } + }, { + key: "setWordSpacing", + value: function setWordSpacing(spacing) { + this.current.wordSpacing = spacing; + } + }, { + key: "setHScale", + value: function setHScale(scale) { + this.current.textHScale = scale / 100; + } + }, { + key: "setLeading", + value: function setLeading(leading) { + this.current.leading = -leading; + } + }, { + key: "setFont", + value: function setFont(fontRefName, size) { + var fontObj = this.commonObjs.get(fontRefName); + var current = this.current; + + if (!fontObj) { + throw new Error("Can't find font for ".concat(fontRefName)); + } + + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; + + if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) { + (0, _util.warn)("Invalid font matrix for font " + fontRefName); + } + + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + + this.current.font = fontObj; + this.current.fontSize = size; + + if (fontObj.isType3Font) { + return; + } + + var name = fontObj.loadedName || "sans-serif"; + var bold = "normal"; + + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + + var italic = fontObj.italic ? "italic" : "normal"; + var typeface = "\"".concat(name, "\", ").concat(fontObj.fallbackName); + var browserFontSize = size; + + if (size < MIN_FONT_SIZE) { + browserFontSize = MIN_FONT_SIZE; + } else if (size > MAX_FONT_SIZE) { + browserFontSize = MAX_FONT_SIZE; + } + + this.current.fontSizeScale = size / browserFontSize; + this.ctx.font = "".concat(italic, " ").concat(bold, " ").concat(browserFontSize, "px ").concat(typeface); + } + }, { + key: "setTextRenderingMode", + value: function setTextRenderingMode(mode) { + this.current.textRenderingMode = mode; + } + }, { + key: "setTextRise", + value: function setTextRise(rise) { + this.current.textRise = rise; + } + }, { + key: "moveText", + value: function moveText(x, y) { + this.current.x = this.current.lineX += x; + this.current.y = this.current.lineY += y; + } + }, { + key: "setLeadingMoveText", + value: function setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + }, { + key: "setTextMatrix", + value: function setTextMatrix(a, b, c, d, e, f) { + this.current.textMatrix = [a, b, c, d, e, f]; + this.current.textMatrixScale = Math.hypot(a, b); + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + } + }, { + key: "nextLine", + value: function nextLine() { + this.moveText(0, this.current.leading); + } + }, { + key: "paintChar", + value: function paintChar(character, x, y, patternTransform) { + var ctx = this.ctx; + var current = this.current; + var font = current.font; + var textRenderingMode = current.textRenderingMode; + var fontSize = current.fontSize / current.fontSizeScale; + var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG); + var patternFill = current.patternFill && !font.missingFile; + var addToPath; + + if (font.disableFontFace || isAddToPathSet || patternFill) { + addToPath = font.getPathGenerator(this.commonObjs, character); + } + + if (font.disableFontFace || patternFill) { + ctx.save(); + ctx.translate(x, y); + ctx.beginPath(); + addToPath(ctx, fontSize); + + if (patternTransform) { + ctx.setTransform.apply(ctx, patternTransform); + } + + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fill(); + } + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.stroke(); + } + + ctx.restore(); + } else { + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fillText(character, x, y); + } + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.strokeText(character, x, y); + } + } + + if (isAddToPathSet) { + var paths = this.pendingTextPaths || (this.pendingTextPaths = []); + paths.push({ + transform: ctx.mozCurrentTransform, + x: x, + y: y, + fontSize: fontSize, + addToPath: addToPath + }); + } + } + }, { + key: "isFontSubpixelAAEnabled", + get: function get() { + var _this$cachedCanvases$ = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10, false), + ctx = _this$cachedCanvases$.context; + + ctx.scale(1.5, 1); + ctx.fillText("I", 0, 10); + var data = ctx.getImageData(0, 0, 10, 10).data; + var enabled = false; + + for (var i = 3; i < data.length; i += 4) { + if (data[i] > 0 && data[i] < 255) { + enabled = true; + break; + } + } + + return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled); + } + }, { + key: "showText", + value: function showText(glyphs) { + var current = this.current; + var font = current.font; + + if (font.isType3Font) { + return this.showType3Text(glyphs); + } + + var fontSize = current.fontSize; + + if (fontSize === 0) { + return undefined; + } + + var ctx = this.ctx; + var fontSizeScale = current.fontSizeScale; + var charSpacing = current.charSpacing; + var wordSpacing = current.wordSpacing; + var fontDirection = current.fontDirection; + var textHScale = current.textHScale * fontDirection; + var glyphsLength = glyphs.length; + var vertical = font.vertical; + var spacingDir = vertical ? 1 : -1; + var defaultVMetrics = font.defaultVMetrics; + var widthAdvanceScale = fontSize * current.fontMatrix[0]; + var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill; + ctx.save(); + ctx.transform.apply(ctx, current.textMatrix); + ctx.translate(current.x, current.y + current.textRise); + + if (fontDirection > 0) { + ctx.scale(textHScale, -1); + } else { + ctx.scale(textHScale, 1); + } + + var patternTransform; + + if (current.patternFill) { + ctx.save(); + var pattern = current.fillColor.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL); + patternTransform = ctx.mozCurrentTransform; + ctx.restore(); + ctx.fillStyle = pattern; + } + + var lineWidth = current.lineWidth; + var scale = current.textMatrixScale; + + if (scale === 0 || lineWidth === 0) { + var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + lineWidth = this.getSinglePixelWidth(); + } + } else { + lineWidth /= scale; + } + + if (fontSizeScale !== 1.0) { + ctx.scale(fontSizeScale, fontSizeScale); + lineWidth /= fontSizeScale; + } + + ctx.lineWidth = lineWidth; + var x = 0, + i; + + for (i = 0; i < glyphsLength; ++i) { + var glyph = glyphs[i]; + + if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + + var restoreNeeded = false; + var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + var character = glyph.fontChar; + var accent = glyph.accent; + var scaledX = void 0, + scaledY = void 0; + var width = glyph.width; + + if (vertical) { + var vmetric = glyph.vmetric || defaultVMetrics; + var vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale; + var vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + + if (font.remeasure && width > 0) { + var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale; + + if (width < measuredWidth && this.isFontSubpixelAAEnabled) { + var characterScaleX = width / measuredWidth; + restoreNeeded = true; + ctx.save(); + ctx.scale(characterScaleX, 1); + scaledX /= characterScaleX; + } else if (width !== measuredWidth) { + scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale; + } + } + + if (this.contentVisible && (glyph.isInFont || font.missingFile)) { + if (simpleFillText && !accent) { + ctx.fillText(character, scaledX, scaledY); + } else { + this.paintChar(character, scaledX, scaledY, patternTransform); + + if (accent) { + var scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale; + var scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale; + this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform); + } + } + } + + var charWidth = void 0; + + if (vertical) { + charWidth = width * widthAdvanceScale - spacing * fontDirection; + } else { + charWidth = width * widthAdvanceScale + spacing * fontDirection; + } + + x += charWidth; + + if (restoreNeeded) { + ctx.restore(); + } + } + + if (vertical) { + current.y -= x; + } else { + current.x += x * textHScale; + } + + ctx.restore(); + this.compose(); + return undefined; + } + }, { + key: "showType3Text", + value: function showType3Text(glyphs) { + var ctx = this.ctx; + var current = this.current; + var font = current.font; + var fontSize = current.fontSize; + var fontDirection = current.fontDirection; + var spacingDir = font.vertical ? 1 : -1; + var charSpacing = current.charSpacing; + var wordSpacing = current.wordSpacing; + var textHScale = current.textHScale * fontDirection; + var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX; + var glyphsLength = glyphs.length; + var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE; + var i, glyph, width, spacingLength; + + if (isTextInvisible || fontSize === 0) { + return; + } + + this._cachedScaleForStroking = null; + this._cachedGetSinglePixelWidth = null; + ctx.save(); + ctx.transform.apply(ctx, current.textMatrix); + ctx.translate(current.x, current.y); + ctx.scale(textHScale, fontDirection); + + for (i = 0; i < glyphsLength; ++i) { + glyph = glyphs[i]; + + if (typeof glyph === "number") { + spacingLength = spacingDir * glyph * fontSize / 1000; + this.ctx.translate(spacingLength, 0); + current.x += spacingLength * textHScale; + continue; + } + + var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + var operatorList = font.charProcOperatorList[glyph.operatorListId]; + + if (!operatorList) { + (0, _util.warn)("Type3 character \"".concat(glyph.operatorListId, "\" is not available.")); + continue; + } + + if (this.contentVisible) { + this.processingType3 = glyph; + this.save(); + ctx.scale(fontSize, fontSize); + ctx.transform.apply(ctx, fontMatrix); + this.executeOperatorList(operatorList); + this.restore(); + } + + var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix); + + width = transformed[0] * fontSize + spacing; + ctx.translate(width, 0); + current.x += width * textHScale; + } + + ctx.restore(); + this.processingType3 = null; + } + }, { + key: "setCharWidth", + value: function setCharWidth(xWidth, yWidth) {} + }, { + key: "setCharWidthAndBounds", + value: function setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) { + this.ctx.rect(llx, lly, urx - llx, ury - lly); + this.ctx.clip(); + this.endPath(); + } + }, { + key: "getColorN_Pattern", + value: function getColorN_Pattern(IR) { + var _this = this; + + var pattern; + + if (IR[0] === "TilingPattern") { + var color = IR[1]; + var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice(); + var canvasGraphicsFactory = { + createCanvasGraphics: function createCanvasGraphics(ctx) { + return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory); + } + }; + pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform); + } else { + pattern = this._getPattern(IR[1], IR[2]); + } + + return pattern; + } + }, { + key: "setStrokeColorN", + value: function setStrokeColorN() { + this.current.strokeColor = this.getColorN_Pattern(arguments); + } + }, { + key: "setFillColorN", + value: function setFillColorN() { + this.current.fillColor = this.getColorN_Pattern(arguments); + this.current.patternFill = true; + } + }, { + key: "setStrokeRGBColor", + value: function setStrokeRGBColor(r, g, b) { + var _this$selectColor; + + var color = ((_this$selectColor = this.selectColor) === null || _this$selectColor === void 0 ? void 0 : _this$selectColor.call(this, r, g, b)) || _util.Util.makeHexColor(r, g, b); + + this.ctx.strokeStyle = color; + this.current.strokeColor = color; + } + }, { + key: "setFillRGBColor", + value: function setFillRGBColor(r, g, b) { + var _this$selectColor2; + + var color = ((_this$selectColor2 = this.selectColor) === null || _this$selectColor2 === void 0 ? void 0 : _this$selectColor2.call(this, r, g, b)) || _util.Util.makeHexColor(r, g, b); + + this.ctx.fillStyle = color; + this.current.fillColor = color; + this.current.patternFill = false; + } + }, { + key: "_getPattern", + value: function _getPattern(objId) { + var matrix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var pattern; + + if (this.cachedPatterns.has(objId)) { + pattern = this.cachedPatterns.get(objId); + } else { + pattern = (0, _pattern_helper.getShadingPattern)(this.objs.get(objId)); + this.cachedPatterns.set(objId, pattern); + } + + if (matrix) { + pattern.matrix = matrix; + } + + return pattern; + } + }, { + key: "shadingFill", + value: function shadingFill(objId) { + if (!this.contentVisible) { + return; + } + + var ctx = this.ctx; + this.save(); + + var pattern = this._getPattern(objId); + + ctx.fillStyle = pattern.getPattern(ctx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.SHADING); + var inv = ctx.mozCurrentTransformInverse; + + if (inv) { + var canvas = ctx.canvas; + var width = canvas.width; + var height = canvas.height; + + var bl = _util.Util.applyTransform([0, 0], inv); + + var br = _util.Util.applyTransform([0, height], inv); + + var ul = _util.Util.applyTransform([width, 0], inv); + + var ur = _util.Util.applyTransform([width, height], inv); + + var x0 = Math.min(bl[0], br[0], ul[0], ur[0]); + var y0 = Math.min(bl[1], br[1], ul[1], ur[1]); + var x1 = Math.max(bl[0], br[0], ul[0], ur[0]); + var y1 = Math.max(bl[1], br[1], ul[1], ur[1]); + this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0); + } else { + this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10); + } + + this.compose(this.current.getClippedPathBoundingBox()); + this.restore(); + } + }, { + key: "beginInlineImage", + value: function beginInlineImage() { + (0, _util.unreachable)("Should not call beginInlineImage"); + } + }, { + key: "beginImageData", + value: function beginImageData() { + (0, _util.unreachable)("Should not call beginImageData"); + } + }, { + key: "paintFormXObjectBegin", + value: function paintFormXObjectBegin(matrix, bbox) { + if (!this.contentVisible) { + return; + } + + this.save(); + this.baseTransformStack.push(this.baseTransform); + + if (Array.isArray(matrix) && matrix.length === 6) { + this.transform.apply(this, matrix); + } + + this.baseTransform = this.ctx.mozCurrentTransform; + + if (bbox) { + var width = bbox[2] - bbox[0]; + var height = bbox[3] - bbox[1]; + this.ctx.rect(bbox[0], bbox[1], width, height); + this.current.updateRectMinMax(this.ctx.mozCurrentTransform, bbox); + this.clip(); + this.endPath(); + } + } + }, { + key: "paintFormXObjectEnd", + value: function paintFormXObjectEnd() { + if (!this.contentVisible) { + return; + } + + this.restore(); + this.baseTransform = this.baseTransformStack.pop(); + } + }, { + key: "beginGroup", + value: function beginGroup(group) { + if (!this.contentVisible) { + return; + } + + this.save(); + + if (this.inSMaskMode) { + this.endSMaskMode(); + this.current.activeSMask = null; + } + + var currentCtx = this.ctx; + + if (!group.isolated) { + (0, _util.info)("TODO: Support non-isolated groups."); + } + + if (group.knockout) { + (0, _util.warn)("Knockout groups not supported."); + } + + var currentTransform = currentCtx.mozCurrentTransform; + + if (group.matrix) { + currentCtx.transform.apply(currentCtx, group.matrix); + } + + if (!group.bbox) { + throw new Error("Bounding box is required."); + } + + var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform); + + var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height]; + bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0]; + var offsetX = Math.floor(bounds[0]); + var offsetY = Math.floor(bounds[1]); + var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1); + var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1); + var scaleX = 1, + scaleY = 1; + + if (drawnWidth > MAX_GROUP_SIZE) { + scaleX = drawnWidth / MAX_GROUP_SIZE; + drawnWidth = MAX_GROUP_SIZE; + } + + if (drawnHeight > MAX_GROUP_SIZE) { + scaleY = drawnHeight / MAX_GROUP_SIZE; + drawnHeight = MAX_GROUP_SIZE; + } + + this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]); + var cacheId = "groupAt" + this.groupLevel; + + if (group.smask) { + cacheId += "_smask_" + this.smaskCounter++ % 2; + } + + var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true); + var groupCtx = scratchCanvas.context; + groupCtx.scale(1 / scaleX, 1 / scaleY); + groupCtx.translate(-offsetX, -offsetY); + groupCtx.transform.apply(groupCtx, currentTransform); + + if (group.smask) { + this.smaskStack.push({ + canvas: scratchCanvas.canvas, + context: groupCtx, + offsetX: offsetX, + offsetY: offsetY, + scaleX: scaleX, + scaleY: scaleY, + subtype: group.smask.subtype, + backdrop: group.smask.backdrop, + transferMap: group.smask.transferMap || null, + startTransformInverse: null + }); + } else { + currentCtx.setTransform(1, 0, 0, 1, 0, 0); + currentCtx.translate(offsetX, offsetY); + currentCtx.scale(scaleX, scaleY); + currentCtx.save(); + } + + copyCtxState(currentCtx, groupCtx); + this.ctx = groupCtx; + this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); + this.groupStack.push(currentCtx); + this.groupLevel++; + } + }, { + key: "endGroup", + value: function endGroup(group) { + if (!this.contentVisible) { + return; + } + + this.groupLevel--; + var groupCtx = this.ctx; + var ctx = this.groupStack.pop(); + this.ctx = ctx; + this.ctx.imageSmoothingEnabled = false; + + if (group.smask) { + this.tempSMask = this.smaskStack.pop(); + this.restore(); + } else { + this.ctx.restore(); + var currentMtx = this.ctx.mozCurrentTransform; + this.restore(); + this.ctx.save(); + this.ctx.setTransform.apply(this.ctx, currentMtx); + + var dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx); + + this.ctx.drawImage(groupCtx.canvas, 0, 0); + this.ctx.restore(); + this.compose(dirtyBox); + } + } + }, { + key: "beginAnnotations", + value: function beginAnnotations() { + this.save(); + + if (this.baseTransform) { + this.ctx.setTransform.apply(this.ctx, this.baseTransform); + } + } + }, { + key: "endAnnotations", + value: function endAnnotations() { + this.restore(); + } + }, { + key: "beginAnnotation", + value: function beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) { + this.save(); + + if (Array.isArray(rect) && rect.length === 4) { + var width = rect[2] - rect[0]; + var height = rect[3] - rect[1]; + + if (hasOwnCanvas && this.annotationCanvasMap) { + transform = transform.slice(); + transform[4] -= rect[0]; + transform[5] -= rect[1]; + rect = rect.slice(); + rect[0] = rect[1] = 0; + rect[2] = width; + rect[3] = height; + + var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(this.ctx.mozCurrentTransform), + _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2), + scaleX = _Util$singularValueDe2[0], + scaleY = _Util$singularValueDe2[1]; + + var viewportScale = this.viewportScale; + var canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale); + var canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale); + this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight); + var _this$annotationCanva = this.annotationCanvas, + canvas = _this$annotationCanva.canvas, + context = _this$annotationCanva.context; + var viewportScaleFactorStr = "var(--zoom-factor) * ".concat(_display_utils.PixelsPerInch.PDF_TO_CSS_UNITS); + canvas.style.width = "calc(".concat(width, "px * ").concat(viewportScaleFactorStr, ")"); + canvas.style.height = "calc(".concat(height, "px * ").concat(viewportScaleFactorStr, ")"); + this.annotationCanvasMap.set(id, canvas); + this.annotationCanvas.savedCtx = this.ctx; + this.ctx = context; + this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY); + addContextCurrentTransform(this.ctx); + resetCtxToDefault(this.ctx, this.foregroundColor); + } else { + resetCtxToDefault(this.ctx, this.foregroundColor); + this.ctx.rect(rect[0], rect[1], width, height); + this.ctx.clip(); + this.endPath(); + } + } + + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); + this.transform.apply(this, transform); + this.transform.apply(this, matrix); + } + }, { + key: "endAnnotation", + value: function endAnnotation() { + if (this.annotationCanvas) { + this.ctx = this.annotationCanvas.savedCtx; + delete this.annotationCanvas.savedCtx; + delete this.annotationCanvas; + } + + this.restore(); + } + }, { + key: "paintImageMaskXObject", + value: function paintImageMaskXObject(img) { + if (!this.contentVisible) { + return; + } + + var count = img.count; + img = this.getObject(img.data, img); + img.count = count; + var ctx = this.ctx; + var glyph = this.processingType3; + + if (glyph) { + if (glyph.compiled === undefined) { + glyph.compiled = compileType3Glyph(img); + } + + if (glyph.compiled) { + glyph.compiled(ctx); + return; + } + } + + var mask = this._createMaskCanvas(img); + + var maskCanvas = mask.canvas; + ctx.save(); + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY); + ctx.restore(); + this.compose(); + } + }, { + key: "paintImageMaskXObjectRepeat", + value: function paintImageMaskXObjectRepeat(img, scaleX) { + var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var scaleY = arguments.length > 4 ? arguments[4] : undefined; + var positions = arguments.length > 5 ? arguments[5] : undefined; + + if (!this.contentVisible) { + return; + } + + img = this.getObject(img.data, img); + var ctx = this.ctx; + ctx.save(); + var currentTransform = ctx.mozCurrentTransform; + ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0); + + var mask = this._createMaskCanvas(img); + + ctx.setTransform(1, 0, 0, 1, 0, 0); + + for (var i = 0, ii = positions.length; i < ii; i += 2) { + var trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]); + + var _Util$applyTransform3 = _util.Util.applyTransform([0, 0], trans), + _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2), + x = _Util$applyTransform4[0], + y = _Util$applyTransform4[1]; + + ctx.drawImage(mask.canvas, x, y); + } + + ctx.restore(); + this.compose(); + } + }, { + key: "paintImageMaskXObjectGroup", + value: function paintImageMaskXObjectGroup(images) { + if (!this.contentVisible) { + return; + } + + var ctx = this.ctx; + var fillColor = this.current.fillColor; + var isPatternFill = this.current.patternFill; + + for (var i = 0, ii = images.length; i < ii; i++) { + var image = images[i]; + var width = image.width, + height = image.height; + var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height, false); + var maskCtx = maskCanvas.context; + maskCtx.save(); + putBinaryImageMask(maskCtx, image); + maskCtx.globalCompositeOperation = "source-in"; + maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, ctx.mozCurrentTransformInverse, _pattern_helper.PathType.FILL) : fillColor; + maskCtx.fillRect(0, 0, width, height); + maskCtx.restore(); + ctx.save(); + ctx.transform.apply(ctx, image.transform); + ctx.scale(1, -1); + drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); + ctx.restore(); + } + + this.compose(); + } + }, { + key: "paintImageXObject", + value: function paintImageXObject(objId) { + if (!this.contentVisible) { + return; + } + + var imgData = this.getObject(objId); + + if (!imgData) { + (0, _util.warn)("Dependent image isn't ready yet"); + return; + } + + this.paintInlineImageXObject(imgData); + } + }, { + key: "paintImageXObjectRepeat", + value: function paintImageXObjectRepeat(objId, scaleX, scaleY, positions) { + if (!this.contentVisible) { + return; + } + + var imgData = this.getObject(objId); + + if (!imgData) { + (0, _util.warn)("Dependent image isn't ready yet"); + return; + } + + var width = imgData.width; + var height = imgData.height; + var map = []; + + for (var i = 0, ii = positions.length; i < ii; i += 2) { + map.push({ + transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]], + x: 0, + y: 0, + w: width, + h: height + }); + } + + this.paintInlineImageXObjectGroup(imgData, map); + } + }, { + key: "paintInlineImageXObject", + value: function paintInlineImageXObject(imgData) { + if (!this.contentVisible) { + return; + } + + var width = imgData.width; + var height = imgData.height; + var ctx = this.ctx; + this.save(); + ctx.scale(1 / width, -1 / height); + var imgToPaint; + + if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) { + imgToPaint = imgData; + } else { + var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height, false); + var tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData, this.current.transferMaps); + imgToPaint = tmpCanvas.canvas; + } + + var scaled = this._scaleImage(imgToPaint, ctx.mozCurrentTransformInverse); + + ctx.imageSmoothingEnabled = getImageSmoothingEnabled(ctx.mozCurrentTransform, imgData.interpolate); + + var _drawImageAtIntegerCo = drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height), + _drawImageAtIntegerCo2 = _slicedToArray(_drawImageAtIntegerCo, 2), + rWidth = _drawImageAtIntegerCo2[0], + rHeight = _drawImageAtIntegerCo2[1]; + + if (this.imageLayer) { + var position = this.getCanvasPosition(0, -height); + this.imageLayer.appendImage({ + imgData: imgData, + left: position[0], + top: position[1], + width: rWidth, + height: rHeight + }); + } + + this.compose(); + this.restore(); + } + }, { + key: "paintInlineImageXObjectGroup", + value: function paintInlineImageXObjectGroup(imgData, map) { + if (!this.contentVisible) { + return; + } + + var ctx = this.ctx; + var w = imgData.width; + var h = imgData.height; + var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h, false); + var tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData, this.current.transferMaps); + + for (var i = 0, ii = map.length; i < ii; i++) { + var entry = map[i]; + ctx.save(); + ctx.transform.apply(ctx, entry.transform); + ctx.scale(1, -1); + drawImageAtIntegerCoords(ctx, tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1); + + if (this.imageLayer) { + var position = this.getCanvasPosition(entry.x, entry.y); + this.imageLayer.appendImage({ + imgData: imgData, + left: position[0], + top: position[1], + width: w, + height: h + }); + } + + ctx.restore(); + } + + this.compose(); + } + }, { + key: "paintSolidColorImageMask", + value: function paintSolidColorImageMask() { + if (!this.contentVisible) { + return; + } + + this.ctx.fillRect(0, 0, 1, 1); + this.compose(); + } + }, { + key: "markPoint", + value: function markPoint(tag) {} + }, { + key: "markPointProps", + value: function markPointProps(tag, properties) {} + }, { + key: "beginMarkedContent", + value: function beginMarkedContent(tag) { + this.markedContentStack.push({ + visible: true + }); + } + }, { + key: "beginMarkedContentProps", + value: function beginMarkedContentProps(tag, properties) { + if (tag === "OC") { + this.markedContentStack.push({ + visible: this.optionalContentConfig.isVisible(properties) + }); + } else { + this.markedContentStack.push({ + visible: true + }); + } + + this.contentVisible = this.isContentVisible(); + } + }, { + key: "endMarkedContent", + value: function endMarkedContent() { + this.markedContentStack.pop(); + this.contentVisible = this.isContentVisible(); + } + }, { + key: "beginCompat", + value: function beginCompat() {} + }, { + key: "endCompat", + value: function endCompat() {} + }, { + key: "consumePath", + value: function consumePath(clipBox) { + var isEmpty = this.current.isEmptyClip(); + + if (this.pendingClip) { + this.current.updateClipFromPath(); + } + + if (!this.pendingClip) { + this.compose(clipBox); + } + + var ctx = this.ctx; + + if (this.pendingClip) { + if (!isEmpty) { + if (this.pendingClip === EO_CLIP) { + ctx.clip("evenodd"); + } else { + ctx.clip(); + } + } + + this.pendingClip = null; + } + + this.current.startNewPathAndClipBox(this.current.clipBox); + ctx.beginPath(); + } + }, { + key: "getSinglePixelWidth", + value: function getSinglePixelWidth() { + if (!this._cachedGetSinglePixelWidth) { + var m = this.ctx.mozCurrentTransform; + + if (m[1] === 0 && m[2] === 0) { + this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3])); + } else { + var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); + var normX = Math.hypot(m[0], m[2]); + var normY = Math.hypot(m[1], m[3]); + this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet; + } + } + + return this._cachedGetSinglePixelWidth; + } + }, { + key: "getScaleForStroking", + value: function getScaleForStroking() { + if (!this._cachedScaleForStroking) { + var lineWidth = this.current.lineWidth; + var m = this.ctx.mozCurrentTransform; + var scaleX, scaleY; + + if (m[1] === 0 && m[2] === 0) { + var normX = Math.abs(m[0]); + var normY = Math.abs(m[3]); + + if (lineWidth === 0) { + scaleX = 1 / normX; + scaleY = 1 / normY; + } else { + var scaledXLineWidth = normX * lineWidth; + var scaledYLineWidth = normY * lineWidth; + scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1; + scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1; + } + } else { + var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); + + var _normX = Math.hypot(m[0], m[1]); + + var _normY = Math.hypot(m[2], m[3]); + + if (lineWidth === 0) { + scaleX = _normY / absDet; + scaleY = _normX / absDet; + } else { + var baseArea = lineWidth * absDet; + scaleX = _normY > baseArea ? _normY / baseArea : 1; + scaleY = _normX > baseArea ? _normX / baseArea : 1; + } + } + + this._cachedScaleForStroking = [scaleX, scaleY]; + } + + return this._cachedScaleForStroking; + } + }, { + key: "rescaleAndStroke", + value: function rescaleAndStroke(saveRestore) { + var ctx = this.ctx; + var lineWidth = this.current.lineWidth; + + var _this$getScaleForStro = this.getScaleForStroking(), + _this$getScaleForStro2 = _slicedToArray(_this$getScaleForStro, 2), + scaleX = _this$getScaleForStro2[0], + scaleY = _this$getScaleForStro2[1]; + + ctx.lineWidth = lineWidth || 1; + + if (scaleX === 1 && scaleY === 1) { + ctx.stroke(); + return; + } + + var savedMatrix, savedDashes, savedDashOffset; + + if (saveRestore) { + savedMatrix = ctx.mozCurrentTransform.slice(); + savedDashes = ctx.getLineDash().slice(); + savedDashOffset = ctx.lineDashOffset; + } + + ctx.scale(scaleX, scaleY); + var scale = Math.max(scaleX, scaleY); + ctx.setLineDash(ctx.getLineDash().map(function (x) { + return x / scale; + })); + ctx.lineDashOffset /= scale; + ctx.stroke(); + + if (saveRestore) { + ctx.setTransform.apply(ctx, _toConsumableArray(savedMatrix)); + ctx.setLineDash(savedDashes); + ctx.lineDashOffset = savedDashOffset; + } + } + }, { + key: "getCanvasPosition", + value: function getCanvasPosition(x, y) { + var transform = this.ctx.mozCurrentTransform; + return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]]; + } + }, { + key: "isContentVisible", + value: function isContentVisible() { + for (var i = this.markedContentStack.length - 1; i >= 0; i--) { + if (!this.markedContentStack[i].visible) { + return false; + } + } + + return true; + } + }]); + + return CanvasGraphics; +}(); + +exports.CanvasGraphics = CanvasGraphics; + +for (var op in _util.OPS) { + if (CanvasGraphics.prototype[op] !== undefined) { + CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op]; + } +} + +/***/ }), +/* 164 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TilingPattern = exports.PathType = void 0; +exports.getShadingPattern = getShadingPattern; + +var _util = __w_pdfjs_require__(1); + +var _is_node = __w_pdfjs_require__(3); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var PathType = { + FILL: "Fill", + STROKE: "Stroke", + SHADING: "Shading" +}; +exports.PathType = PathType; + +function applyBoundingBox(ctx, bbox) { + if (!bbox || _is_node.isNodeJS) { + return; + } + + var width = bbox[2] - bbox[0]; + var height = bbox[3] - bbox[1]; + var region = new Path2D(); + region.rect(bbox[0], bbox[1], width, height); + ctx.clip(region); +} + +var BaseShadingPattern = /*#__PURE__*/function () { + function BaseShadingPattern() { + _classCallCheck(this, BaseShadingPattern); + + if (this.constructor === BaseShadingPattern) { + (0, _util.unreachable)("Cannot initialize BaseShadingPattern."); + } + } + + _createClass(BaseShadingPattern, [{ + key: "getPattern", + value: function getPattern() { + (0, _util.unreachable)("Abstract method `getPattern` called."); + } + }]); + + return BaseShadingPattern; +}(); + +var RadialAxialShadingPattern = /*#__PURE__*/function (_BaseShadingPattern) { + _inherits(RadialAxialShadingPattern, _BaseShadingPattern); + + var _super = _createSuper(RadialAxialShadingPattern); + + function RadialAxialShadingPattern(IR) { + var _this; + + _classCallCheck(this, RadialAxialShadingPattern); + + _this = _super.call(this); + _this._type = IR[1]; + _this._bbox = IR[2]; + _this._colorStops = IR[3]; + _this._p0 = IR[4]; + _this._p1 = IR[5]; + _this._r0 = IR[6]; + _this._r1 = IR[7]; + _this.matrix = null; + return _this; + } + + _createClass(RadialAxialShadingPattern, [{ + key: "_createGradient", + value: function _createGradient(ctx) { + var grad; + + if (this._type === "axial") { + grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]); + } else if (this._type === "radial") { + grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1); + } + + var _iterator = _createForOfIteratorHelper(this._colorStops), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var colorStop = _step.value; + grad.addColorStop(colorStop[0], colorStop[1]); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return grad; + } + }, { + key: "getPattern", + value: function getPattern(ctx, owner, inverse, pathType) { + var pattern; + + if (pathType === PathType.STROKE || pathType === PathType.FILL) { + var ownerBBox = owner.current.getClippedPathBoundingBox(pathType, ctx.mozCurrentTransform) || [0, 0, 0, 0]; + var width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1; + var height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1; + var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", width, height, true); + var tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.beginPath(); + tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]); + inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]); + tmpCtx.transform.apply(tmpCtx, owner.baseTransform); + + if (this.matrix) { + tmpCtx.transform.apply(tmpCtx, this.matrix); + } + + applyBoundingBox(tmpCtx, this._bbox); + tmpCtx.fillStyle = this._createGradient(tmpCtx); + tmpCtx.fill(); + pattern = ctx.createPattern(tmpCanvas.canvas, "no-repeat"); + var domMatrix = new DOMMatrix(inverse); + + try { + pattern.setTransform(domMatrix); + } catch (ex) { + (0, _util.warn)("RadialAxialShadingPattern.getPattern: \"".concat(ex === null || ex === void 0 ? void 0 : ex.message, "\".")); + } + } else { + applyBoundingBox(ctx, this._bbox); + pattern = this._createGradient(ctx); + } + + return pattern; + } + }]); + + return RadialAxialShadingPattern; +}(BaseShadingPattern); + +function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) { + var coords = context.coords, + colors = context.colors; + var bytes = data.data, + rowSize = data.width * 4; + var tmp; + + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + + if (coords[p2 + 1] > coords[p3 + 1]) { + tmp = p2; + p2 = p3; + p3 = tmp; + tmp = c2; + c2 = c3; + c3 = tmp; + } + + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + + var x1 = (coords[p1] + context.offsetX) * context.scaleX; + var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY; + var x2 = (coords[p2] + context.offsetX) * context.scaleX; + var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY; + var x3 = (coords[p3] + context.offsetX) * context.scaleX; + var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY; + + if (y1 >= y3) { + return; + } + + var c1r = colors[c1], + c1g = colors[c1 + 1], + c1b = colors[c1 + 2]; + var c2r = colors[c2], + c2g = colors[c2 + 1], + c2b = colors[c2 + 2]; + var c3r = colors[c3], + c3g = colors[c3 + 1], + c3b = colors[c3 + 2]; + var minY = Math.round(y1), + maxY = Math.round(y3); + var xa, car, cag, cab; + var xb, cbr, cbg, cbb; + + for (var y = minY; y <= maxY; y++) { + if (y < y2) { + var _k = void 0; + + if (y < y1) { + _k = 0; + } else { + _k = (y1 - y) / (y1 - y2); + } + + xa = x1 - (x1 - x2) * _k; + car = c1r - (c1r - c2r) * _k; + cag = c1g - (c1g - c2g) * _k; + cab = c1b - (c1b - c2b) * _k; + } else { + var _k2 = void 0; + + if (y > y3) { + _k2 = 1; + } else if (y2 === y3) { + _k2 = 0; + } else { + _k2 = (y2 - y) / (y2 - y3); + } + + xa = x2 - (x2 - x3) * _k2; + car = c2r - (c2r - c3r) * _k2; + cag = c2g - (c2g - c3g) * _k2; + cab = c2b - (c2b - c3b) * _k2; + } + + var k = void 0; + + if (y < y1) { + k = 0; + } else if (y > y3) { + k = 1; + } else { + k = (y1 - y) / (y1 - y3); + } + + xb = x1 - (x1 - x3) * k; + cbr = c1r - (c1r - c3r) * k; + cbg = c1g - (c1g - c3g) * k; + cbb = c1b - (c1b - c3b) * k; + var x1_ = Math.round(Math.min(xa, xb)); + var x2_ = Math.round(Math.max(xa, xb)); + var j = rowSize * y + x1_ * 4; + + for (var x = x1_; x <= x2_; x++) { + k = (xa - x) / (xa - xb); + + if (k < 0) { + k = 0; + } else if (k > 1) { + k = 1; + } + + bytes[j++] = car - (car - cbr) * k | 0; + bytes[j++] = cag - (cag - cbg) * k | 0; + bytes[j++] = cab - (cab - cbb) * k | 0; + bytes[j++] = 255; + } + } +} + +function drawFigure(data, figure, context) { + var ps = figure.coords; + var cs = figure.colors; + var i, ii; + + switch (figure.type) { + case "lattice": + var verticesPerRow = figure.verticesPerRow; + var rows = Math.floor(ps.length / verticesPerRow) - 1; + var cols = verticesPerRow - 1; + + for (i = 0; i < rows; i++) { + var q = i * verticesPerRow; + + for (var j = 0; j < cols; j++, q++) { + drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]); + drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]); + } + } + + break; + + case "triangles": + for (i = 0, ii = ps.length; i < ii; i += 3) { + drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]); + } + + break; + + default: + throw new Error("illegal figure"); + } +} + +var MeshShadingPattern = /*#__PURE__*/function (_BaseShadingPattern2) { + _inherits(MeshShadingPattern, _BaseShadingPattern2); + + var _super2 = _createSuper(MeshShadingPattern); + + function MeshShadingPattern(IR) { + var _this2; + + _classCallCheck(this, MeshShadingPattern); + + _this2 = _super2.call(this); + _this2._coords = IR[2]; + _this2._colors = IR[3]; + _this2._figures = IR[4]; + _this2._bounds = IR[5]; + _this2._bbox = IR[7]; + _this2._background = IR[8]; + _this2.matrix = null; + return _this2; + } + + _createClass(MeshShadingPattern, [{ + key: "_createMeshCanvas", + value: function _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) { + var EXPECTED_SCALE = 1.1; + var MAX_PATTERN_SIZE = 3000; + var BORDER_SIZE = 2; + var offsetX = Math.floor(this._bounds[0]); + var offsetY = Math.floor(this._bounds[1]); + var boundsWidth = Math.ceil(this._bounds[2]) - offsetX; + var boundsHeight = Math.ceil(this._bounds[3]) - offsetY; + var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + var scaleX = boundsWidth / width; + var scaleY = boundsHeight / height; + var context = { + coords: this._coords, + colors: this._colors, + offsetX: -offsetX, + offsetY: -offsetY, + scaleX: 1 / scaleX, + scaleY: 1 / scaleY + }; + var paddedWidth = width + BORDER_SIZE * 2; + var paddedHeight = height + BORDER_SIZE * 2; + var tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false); + var tmpCtx = tmpCanvas.context; + var data = tmpCtx.createImageData(width, height); + + if (backgroundColor) { + var bytes = data.data; + + for (var i = 0, ii = bytes.length; i < ii; i += 4) { + bytes[i] = backgroundColor[0]; + bytes[i + 1] = backgroundColor[1]; + bytes[i + 2] = backgroundColor[2]; + bytes[i + 3] = 255; + } + } + + var _iterator2 = _createForOfIteratorHelper(this._figures), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var figure = _step2.value; + drawFigure(data, figure, context); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE); + var canvas = tmpCanvas.canvas; + return { + canvas: canvas, + offsetX: offsetX - BORDER_SIZE * scaleX, + offsetY: offsetY - BORDER_SIZE * scaleY, + scaleX: scaleX, + scaleY: scaleY + }; + } + }, { + key: "getPattern", + value: function getPattern(ctx, owner, inverse, pathType) { + applyBoundingBox(ctx, this._bbox); + var scale; + + if (pathType === PathType.SHADING) { + scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform); + } else { + scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform); + + if (this.matrix) { + var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); + + scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]]; + } + } + + var temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases); + + if (pathType !== PathType.SHADING) { + ctx.setTransform.apply(ctx, owner.baseTransform); + + if (this.matrix) { + ctx.transform.apply(ctx, this.matrix); + } + } + + ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY); + return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat"); + } + }]); + + return MeshShadingPattern; +}(BaseShadingPattern); + +var DummyShadingPattern = /*#__PURE__*/function (_BaseShadingPattern3) { + _inherits(DummyShadingPattern, _BaseShadingPattern3); + + var _super3 = _createSuper(DummyShadingPattern); + + function DummyShadingPattern() { + _classCallCheck(this, DummyShadingPattern); + + return _super3.apply(this, arguments); + } + + _createClass(DummyShadingPattern, [{ + key: "getPattern", + value: function getPattern() { + return "hotpink"; + } + }]); + + return DummyShadingPattern; +}(BaseShadingPattern); + +function getShadingPattern(IR) { + switch (IR[0]) { + case "RadialAxial": + return new RadialAxialShadingPattern(IR); + + case "Mesh": + return new MeshShadingPattern(IR); + + case "Dummy": + return new DummyShadingPattern(); + } + + throw new Error("Unknown IR type: ".concat(IR[0])); +} + +var PaintType = { + COLORED: 1, + UNCOLORED: 2 +}; + +var TilingPattern = /*#__PURE__*/function () { + function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) { + _classCallCheck(this, TilingPattern); + + this.operatorList = IR[2]; + this.matrix = IR[3] || [1, 0, 0, 1, 0, 0]; + this.bbox = IR[4]; + this.xstep = IR[5]; + this.ystep = IR[6]; + this.paintType = IR[7]; + this.tilingType = IR[8]; + this.color = color; + this.ctx = ctx; + this.canvasGraphicsFactory = canvasGraphicsFactory; + this.baseTransform = baseTransform; + } + + _createClass(TilingPattern, [{ + key: "createPatternCanvas", + value: function createPatternCanvas(owner) { + var operatorList = this.operatorList; + var bbox = this.bbox; + var xstep = this.xstep; + var ystep = this.ystep; + var paintType = this.paintType; + var tilingType = this.tilingType; + var color = this.color; + var canvasGraphicsFactory = this.canvasGraphicsFactory; + (0, _util.info)("TilingType: " + tilingType); + var x0 = bbox[0], + y0 = bbox[1], + x1 = bbox[2], + y1 = bbox[3]; + + var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); + + var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform); + + var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]]; + var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]); + var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]); + var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true); + var tmpCtx = tmpCanvas.context; + var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx); + graphics.groupLevel = owner.groupLevel; + this.setFillAndStrokeStyleToContext(graphics, paintType, color); + var adjustedX0 = x0; + var adjustedY0 = y0; + var adjustedX1 = x1; + var adjustedY1 = y1; + + if (x0 < 0) { + adjustedX0 = 0; + adjustedX1 += Math.abs(x0); + } + + if (y0 < 0) { + adjustedY0 = 0; + adjustedY1 += Math.abs(y0); + } + + tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0)); + graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0); + tmpCtx.save(); + this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1); + graphics.baseTransform = graphics.ctx.mozCurrentTransform.slice(); + graphics.executeOperatorList(operatorList); + graphics.endDrawing(); + return { + canvas: tmpCanvas.canvas, + scaleX: dimx.scale, + scaleY: dimy.scale, + offsetX: adjustedX0, + offsetY: adjustedY0 + }; + } + }, { + key: "getSizeAndScale", + value: function getSizeAndScale(step, realOutputSize, scale) { + step = Math.abs(step); + var maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize); + var size = Math.ceil(step * scale); + + if (size >= maxSize) { + size = maxSize; + } else { + scale = size / step; + } + + return { + scale: scale, + size: size + }; + } + }, { + key: "clipBbox", + value: function clipBbox(graphics, x0, y0, x1, y1) { + var bboxWidth = x1 - x0; + var bboxHeight = y1 - y0; + graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight); + graphics.current.updateRectMinMax(graphics.ctx.mozCurrentTransform, [x0, y0, x1, y1]); + graphics.clip(); + graphics.endPath(); + } + }, { + key: "setFillAndStrokeStyleToContext", + value: function setFillAndStrokeStyleToContext(graphics, paintType, color) { + var context = graphics.ctx, + current = graphics.current; + + switch (paintType) { + case PaintType.COLORED: + var ctx = this.ctx; + context.fillStyle = ctx.fillStyle; + context.strokeStyle = ctx.strokeStyle; + current.fillColor = ctx.fillStyle; + current.strokeColor = ctx.strokeStyle; + break; + + case PaintType.UNCOLORED: + var cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]); + + context.fillStyle = cssColor; + context.strokeStyle = cssColor; + current.fillColor = cssColor; + current.strokeColor = cssColor; + break; + + default: + throw new _util.FormatError("Unsupported paint type: ".concat(paintType)); + } + } + }, { + key: "getPattern", + value: function getPattern(ctx, owner, inverse, pathType) { + var matrix = inverse; + + if (pathType !== PathType.SHADING) { + matrix = _util.Util.transform(matrix, owner.baseTransform); + + if (this.matrix) { + matrix = _util.Util.transform(matrix, this.matrix); + } + } + + var temporaryPatternCanvas = this.createPatternCanvas(owner); + var domMatrix = new DOMMatrix(matrix); + domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY); + var pattern = ctx.createPattern(temporaryPatternCanvas.canvas, "repeat"); + + try { + pattern.setTransform(domMatrix); + } catch (ex) { + (0, _util.warn)("TilingPattern.getPattern: \"".concat(ex === null || ex === void 0 ? void 0 : ex.message, "\".")); + } + + return pattern; + } + }], [{ + key: "MAX_PATTERN_SIZE", + get: function get() { + return (0, _util.shadow)(this, "MAX_PATTERN_SIZE", 3000); + } + }]); + + return TilingPattern; +}(); + +exports.TilingPattern = TilingPattern; + +/***/ }), +/* 165 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.applyMaskImageData = applyMaskImageData; + +var _util = __w_pdfjs_require__(1); + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function applyMaskImageData(_ref) { + var src = _ref.src, + _ref$srcPos = _ref.srcPos, + srcPos = _ref$srcPos === void 0 ? 0 : _ref$srcPos, + dest = _ref.dest, + _ref$destPos = _ref.destPos, + destPos = _ref$destPos === void 0 ? 0 : _ref$destPos, + width = _ref.width, + height = _ref.height, + _ref$inverseDecode = _ref.inverseDecode, + inverseDecode = _ref$inverseDecode === void 0 ? false : _ref$inverseDecode; + var opaque = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff; + + var _ref2 = !inverseDecode ? [opaque, 0] : [0, opaque], + _ref3 = _slicedToArray(_ref2, 2), + zeroMapping = _ref3[0], + oneMapping = _ref3[1]; + + var widthInSource = width >> 3; + var widthRemainder = width & 7; + var srcLength = src.length; + dest = new Uint32Array(dest.buffer); + + for (var i = 0; i < height; i++) { + for (var max = srcPos + widthInSource; srcPos < max; srcPos++) { + var _elem = srcPos < srcLength ? src[srcPos] : 255; + + dest[destPos++] = _elem & 128 ? oneMapping : zeroMapping; + dest[destPos++] = _elem & 64 ? oneMapping : zeroMapping; + dest[destPos++] = _elem & 32 ? oneMapping : zeroMapping; + dest[destPos++] = _elem & 16 ? oneMapping : zeroMapping; + dest[destPos++] = _elem & 8 ? oneMapping : zeroMapping; + dest[destPos++] = _elem & 4 ? oneMapping : zeroMapping; + dest[destPos++] = _elem & 2 ? oneMapping : zeroMapping; + dest[destPos++] = _elem & 1 ? oneMapping : zeroMapping; + } + + if (widthRemainder === 0) { + continue; + } + + var elem = srcPos < srcLength ? src[srcPos++] : 255; + + for (var j = 0; j < widthRemainder; j++) { + dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping; + } + } + + return { + srcPos: srcPos, + destPos: destPos + }; +} + +/***/ }), +/* 166 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GlobalWorkerOptions = void 0; +var GlobalWorkerOptions = Object.create(null); +exports.GlobalWorkerOptions = GlobalWorkerOptions; +GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort; +GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc; + +/***/ }), +/* 167 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.MessageHandler = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(156)); + +var _util = __w_pdfjs_require__(1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +var CallbackKind = { + UNKNOWN: 0, + DATA: 1, + ERROR: 2 +}; +var StreamKind = { + UNKNOWN: 0, + CANCEL: 1, + CANCEL_COMPLETE: 2, + CLOSE: 3, + ENQUEUE: 4, + ERROR: 5, + PULL: 6, + PULL_COMPLETE: 7, + START_COMPLETE: 8 +}; + +function wrapReason(reason) { + if (!(reason instanceof Error || _typeof(reason) === "object" && reason !== null)) { + (0, _util.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'); + } + + switch (reason.name) { + case "AbortException": + return new _util.AbortException(reason.message); + + case "MissingPDFException": + return new _util.MissingPDFException(reason.message); + + case "PasswordException": + return new _util.PasswordException(reason.message, reason.code); + + case "UnexpectedResponseException": + return new _util.UnexpectedResponseException(reason.message, reason.status); + + case "UnknownErrorException": + return new _util.UnknownErrorException(reason.message, reason.details); + + default: + return new _util.UnknownErrorException(reason.message, reason.toString()); + } +} + +var MessageHandler = /*#__PURE__*/function () { + function MessageHandler(sourceName, targetName, comObj) { + var _this = this; + + _classCallCheck(this, MessageHandler); + + this.sourceName = sourceName; + this.targetName = targetName; + this.comObj = comObj; + this.callbackId = 1; + this.streamId = 1; + this.streamSinks = Object.create(null); + this.streamControllers = Object.create(null); + this.callbackCapabilities = Object.create(null); + this.actionHandler = Object.create(null); + + this._onComObjOnMessage = function (event) { + var data = event.data; + + if (data.targetName !== _this.sourceName) { + return; + } + + if (data.stream) { + _this._processStreamMessage(data); + + return; + } + + if (data.callback) { + var callbackId = data.callbackId; + var capability = _this.callbackCapabilities[callbackId]; + + if (!capability) { + throw new Error("Cannot resolve callback ".concat(callbackId)); + } + + delete _this.callbackCapabilities[callbackId]; + + if (data.callback === CallbackKind.DATA) { + capability.resolve(data.data); + } else if (data.callback === CallbackKind.ERROR) { + capability.reject(wrapReason(data.reason)); + } else { + throw new Error("Unexpected callback case"); + } + + return; + } + + var action = _this.actionHandler[data.action]; + + if (!action) { + throw new Error("Unknown action from worker: ".concat(data.action)); + } + + if (data.callbackId) { + var cbSourceName = _this.sourceName; + var cbTargetName = data.sourceName; + new Promise(function (resolve) { + resolve(action(data.data)); + }).then(function (result) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.DATA, + callbackId: data.callbackId, + data: result + }); + }, function (reason) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.ERROR, + callbackId: data.callbackId, + reason: wrapReason(reason) + }); + }); + return; + } + + if (data.streamId) { + _this._createStreamSink(data); + + return; + } + + action(data.data); + }; + + comObj.addEventListener("message", this._onComObjOnMessage); + } + + _createClass(MessageHandler, [{ + key: "on", + value: function on(actionName, handler) { + var ah = this.actionHandler; + + if (ah[actionName]) { + throw new Error("There is already an actionName called \"".concat(actionName, "\"")); + } + + ah[actionName] = handler; + } + }, { + key: "send", + value: function send(actionName, data, transfers) { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + data: data + }, transfers); + } + }, { + key: "sendWithPromise", + value: function sendWithPromise(actionName, data, transfers) { + var callbackId = this.callbackId++; + var capability = (0, _util.createPromiseCapability)(); + this.callbackCapabilities[callbackId] = capability; + + try { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + callbackId: callbackId, + data: data + }, transfers); + } catch (ex) { + capability.reject(ex); + } + + return capability.promise; + } + }, { + key: "sendWithStream", + value: function sendWithStream(actionName, data, queueingStrategy, transfers) { + var _this2 = this; + + var streamId = this.streamId++, + sourceName = this.sourceName, + targetName = this.targetName, + comObj = this.comObj; + return new ReadableStream({ + start: function start(controller) { + var startCapability = (0, _util.createPromiseCapability)(); + _this2.streamControllers[streamId] = { + controller: controller, + startCall: startCapability, + pullCall: null, + cancelCall: null, + isClosed: false + }; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + action: actionName, + streamId: streamId, + data: data, + desiredSize: controller.desiredSize + }, transfers); + return startCapability.promise; + }, + pull: function pull(controller) { + var pullCapability = (0, _util.createPromiseCapability)(); + _this2.streamControllers[streamId].pullCall = pullCapability; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL, + streamId: streamId, + desiredSize: controller.desiredSize + }); + return pullCapability.promise; + }, + cancel: function cancel(reason) { + (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason"); + var cancelCapability = (0, _util.createPromiseCapability)(); + _this2.streamControllers[streamId].cancelCall = cancelCapability; + _this2.streamControllers[streamId].isClosed = true; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL, + streamId: streamId, + reason: wrapReason(reason) + }); + return cancelCapability.promise; + } + }, queueingStrategy); + } + }, { + key: "_createStreamSink", + value: function _createStreamSink(data) { + var streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + var self = this, + action = this.actionHandler[data.action]; + var streamSink = { + enqueue: function enqueue(chunk) { + var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var transfers = arguments.length > 2 ? arguments[2] : undefined; + + if (this.isCancelled) { + return; + } + + var lastDesiredSize = this.desiredSize; + this.desiredSize -= size; + + if (lastDesiredSize > 0 && this.desiredSize <= 0) { + this.sinkCapability = (0, _util.createPromiseCapability)(); + this.ready = this.sinkCapability.promise; + } + + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.ENQUEUE, + streamId: streamId, + chunk: chunk + }, transfers); + }, + close: function close() { + if (this.isCancelled) { + return; + } + + this.isCancelled = true; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CLOSE, + streamId: streamId + }); + delete self.streamSinks[streamId]; + }, + error: function error(reason) { + (0, _util.assert)(reason instanceof Error, "error must have a valid reason"); + + if (this.isCancelled) { + return; + } + + this.isCancelled = true; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.ERROR, + streamId: streamId, + reason: wrapReason(reason) + }); + }, + sinkCapability: (0, _util.createPromiseCapability)(), + onPull: null, + onCancel: null, + isCancelled: false, + desiredSize: data.desiredSize, + ready: null + }; + streamSink.sinkCapability.resolve(); + streamSink.ready = streamSink.sinkCapability.promise; + this.streamSinks[streamId] = streamSink; + new Promise(function (resolve) { + resolve(action(data.data, streamSink)); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.START_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.START_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + } + }, { + key: "_processStreamMessage", + value: function _processStreamMessage(data) { + var streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + var streamController = this.streamControllers[streamId], + streamSink = this.streamSinks[streamId]; + + switch (data.stream) { + case StreamKind.START_COMPLETE: + if (data.success) { + streamController.startCall.resolve(); + } else { + streamController.startCall.reject(wrapReason(data.reason)); + } + + break; + + case StreamKind.PULL_COMPLETE: + if (data.success) { + streamController.pullCall.resolve(); + } else { + streamController.pullCall.reject(wrapReason(data.reason)); + } + + break; + + case StreamKind.PULL: + if (!streamSink) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + success: true + }); + break; + } + + if (streamSink.desiredSize <= 0 && data.desiredSize > 0) { + streamSink.sinkCapability.resolve(); + } + + streamSink.desiredSize = data.desiredSize; + new Promise(function (resolve) { + resolve(streamSink.onPull && streamSink.onPull()); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + break; + + case StreamKind.ENQUEUE: + (0, _util.assert)(streamController, "enqueue should have stream controller"); + + if (streamController.isClosed) { + break; + } + + streamController.controller.enqueue(data.chunk); + break; + + case StreamKind.CLOSE: + (0, _util.assert)(streamController, "close should have stream controller"); + + if (streamController.isClosed) { + break; + } + + streamController.isClosed = true; + streamController.controller.close(); + + this._deleteStreamController(streamController, streamId); + + break; + + case StreamKind.ERROR: + (0, _util.assert)(streamController, "error should have stream controller"); + streamController.controller.error(wrapReason(data.reason)); + + this._deleteStreamController(streamController, streamId); + + break; + + case StreamKind.CANCEL_COMPLETE: + if (data.success) { + streamController.cancelCall.resolve(); + } else { + streamController.cancelCall.reject(wrapReason(data.reason)); + } + + this._deleteStreamController(streamController, streamId); + + break; + + case StreamKind.CANCEL: + if (!streamSink) { + break; + } + + new Promise(function (resolve) { + resolve(streamSink.onCancel && streamSink.onCancel(wrapReason(data.reason))); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + streamSink.sinkCapability.reject(wrapReason(data.reason)); + streamSink.isCancelled = true; + delete this.streamSinks[streamId]; + break; + + default: + throw new Error("Unexpected stream case"); + } + } + }, { + key: "_deleteStreamController", + value: function () { + var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(streamController, streamId) { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return Promise.allSettled([streamController.startCall && streamController.startCall.promise, streamController.pullCall && streamController.pullCall.promise, streamController.cancelCall && streamController.cancelCall.promise]); + + case 2: + delete this.streamControllers[streamId]; + + case 3: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _deleteStreamController(_x, _x2) { + return _deleteStreamController2.apply(this, arguments); + } + + return _deleteStreamController; + }() + }, { + key: "destroy", + value: function destroy() { + this.comObj.removeEventListener("message", this._onComObjOnMessage); + } + }]); + + return MessageHandler; +}(); + +exports.MessageHandler = MessageHandler; + +/***/ }), +/* 168 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.Metadata = void 0; + +var _util = __w_pdfjs_require__(1); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +var _metadataMap = /*#__PURE__*/new WeakMap(); + +var _data = /*#__PURE__*/new WeakMap(); + +var Metadata = /*#__PURE__*/function () { + function Metadata(_ref) { + var parsedData = _ref.parsedData, + rawData = _ref.rawData; + + _classCallCheck(this, Metadata); + + _classPrivateFieldInitSpec(this, _metadataMap, { + writable: true, + value: void 0 + }); + + _classPrivateFieldInitSpec(this, _data, { + writable: true, + value: void 0 + }); + + _classPrivateFieldSet(this, _metadataMap, parsedData); + + _classPrivateFieldSet(this, _data, rawData); + } + + _createClass(Metadata, [{ + key: "getRaw", + value: function getRaw() { + return _classPrivateFieldGet(this, _data); + } + }, { + key: "get", + value: function get(name) { + var _classPrivateFieldGet2; + + return (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _metadataMap).get(name)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : null; + } + }, { + key: "getAll", + value: function getAll() { + return (0, _util.objectFromMap)(_classPrivateFieldGet(this, _metadataMap)); + } + }, { + key: "has", + value: function has(name) { + return _classPrivateFieldGet(this, _metadataMap).has(name); + } + }]); + + return Metadata; +}(); + +exports.Metadata = Metadata; + +/***/ }), +/* 169 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.OptionalContentConfig = void 0; + +var _util = __w_pdfjs_require__(1); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var OptionalContentGroup = /*#__PURE__*/_createClass(function OptionalContentGroup(name, intent) { + _classCallCheck(this, OptionalContentGroup); + + this.visible = true; + this.name = name; + this.intent = intent; +}); + +var OptionalContentConfig = /*#__PURE__*/function () { + function OptionalContentConfig(data) { + _classCallCheck(this, OptionalContentConfig); + + this.name = null; + this.creator = null; + this._order = null; + this._groups = new Map(); + + if (data === null) { + return; + } + + this.name = data.name; + this.creator = data.creator; + this._order = data.order; + + var _iterator = _createForOfIteratorHelper(data.groups), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _group = _step.value; + + this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + if (data.baseState === "OFF") { + var _iterator2 = _createForOfIteratorHelper(this._groups), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var group = _step2.value; + group.visible = false; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + + var _iterator3 = _createForOfIteratorHelper(data.on), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var on = _step3.value; + this._groups.get(on).visible = true; + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + var _iterator4 = _createForOfIteratorHelper(data.off), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var off = _step4.value; + this._groups.get(off).visible = false; + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + + _createClass(OptionalContentConfig, [{ + key: "_evaluateVisibilityExpression", + value: function _evaluateVisibilityExpression(array) { + var length = array.length; + + if (length < 2) { + return true; + } + + var operator = array[0]; + + for (var i = 1; i < length; i++) { + var element = array[i]; + var state = void 0; + + if (Array.isArray(element)) { + state = this._evaluateVisibilityExpression(element); + } else if (this._groups.has(element)) { + state = this._groups.get(element).visible; + } else { + (0, _util.warn)("Optional content group not found: ".concat(element)); + return true; + } + + switch (operator) { + case "And": + if (!state) { + return false; + } + + break; + + case "Or": + if (state) { + return true; + } + + break; + + case "Not": + return !state; + + default: + return true; + } + } + + return operator === "And"; + } + }, { + key: "isVisible", + value: function isVisible(group) { + if (this._groups.size === 0) { + return true; + } + + if (!group) { + (0, _util.warn)("Optional content group not defined."); + return true; + } + + if (group.type === "OCG") { + if (!this._groups.has(group.id)) { + (0, _util.warn)("Optional content group not found: ".concat(group.id)); + return true; + } + + return this._groups.get(group.id).visible; + } else if (group.type === "OCMD") { + if (group.expression) { + return this._evaluateVisibilityExpression(group.expression); + } + + if (!group.policy || group.policy === "AnyOn") { + var _iterator5 = _createForOfIteratorHelper(group.ids), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var id = _step5.value; + + if (!this._groups.has(id)) { + (0, _util.warn)("Optional content group not found: ".concat(id)); + return true; + } + + if (this._groups.get(id).visible) { + return true; + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + return false; + } else if (group.policy === "AllOn") { + var _iterator6 = _createForOfIteratorHelper(group.ids), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var _id = _step6.value; + + if (!this._groups.has(_id)) { + (0, _util.warn)("Optional content group not found: ".concat(_id)); + return true; + } + + if (!this._groups.get(_id).visible) { + return false; + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + return true; + } else if (group.policy === "AnyOff") { + var _iterator7 = _createForOfIteratorHelper(group.ids), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var _id2 = _step7.value; + + if (!this._groups.has(_id2)) { + (0, _util.warn)("Optional content group not found: ".concat(_id2)); + return true; + } + + if (!this._groups.get(_id2).visible) { + return true; + } + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + return false; + } else if (group.policy === "AllOff") { + var _iterator8 = _createForOfIteratorHelper(group.ids), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _id3 = _step8.value; + + if (!this._groups.has(_id3)) { + (0, _util.warn)("Optional content group not found: ".concat(_id3)); + return true; + } + + if (this._groups.get(_id3).visible) { + return false; + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + return true; + } + + (0, _util.warn)("Unknown optional content policy ".concat(group.policy, ".")); + return true; + } + + (0, _util.warn)("Unknown group type ".concat(group.type, ".")); + return true; + } + }, { + key: "setVisibility", + value: function setVisibility(id) { + var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + if (!this._groups.has(id)) { + (0, _util.warn)("Optional content group not found: ".concat(id)); + return; + } + + this._groups.get(id).visible = !!visible; + } + }, { + key: "getOrder", + value: function getOrder() { + if (!this._groups.size) { + return null; + } + + if (this._order) { + return this._order.slice(); + } + + return Array.from(this._groups.keys()); + } + }, { + key: "getGroups", + value: function getGroups() { + return this._groups.size > 0 ? (0, _util.objectFromMap)(this._groups) : null; + } + }, { + key: "getGroup", + value: function getGroup(id) { + return this._groups.get(id) || null; + } + }]); + + return OptionalContentConfig; +}(); + +exports.OptionalContentConfig = OptionalContentConfig; + +/***/ }), +/* 170 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFDataTransportStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(156)); + +var _util = __w_pdfjs_require__(1); + +var _display_utils = __w_pdfjs_require__(158); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var PDFDataTransportStream = /*#__PURE__*/function () { + function PDFDataTransportStream(params, pdfDataRangeTransport) { + var _this = this; + + _classCallCheck(this, PDFDataTransportStream); + + (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'); + this._queuedChunks = []; + this._progressiveDone = params.progressiveDone || false; + this._contentDispositionFilename = params.contentDispositionFilename || null; + var initialData = params.initialData; + + if ((initialData === null || initialData === void 0 ? void 0 : initialData.length) > 0) { + var buffer = new Uint8Array(initialData).buffer; + + this._queuedChunks.push(buffer); + } + + this._pdfDataRangeTransport = pdfDataRangeTransport; + this._isStreamingSupported = !params.disableStream; + this._isRangeSupported = !params.disableRange; + this._contentLength = params.length; + this._fullRequestReader = null; + this._rangeReaders = []; + + this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) { + _this._onReceiveData({ + begin: begin, + chunk: chunk + }); + }); + + this._pdfDataRangeTransport.addProgressListener(function (loaded, total) { + _this._onProgress({ + loaded: loaded, + total: total + }); + }); + + this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) { + _this._onReceiveData({ + chunk: chunk + }); + }); + + this._pdfDataRangeTransport.addProgressiveDoneListener(function () { + _this._onProgressiveDone(); + }); + + this._pdfDataRangeTransport.transportReady(); + } + + _createClass(PDFDataTransportStream, [{ + key: "_onReceiveData", + value: function _onReceiveData(args) { + var buffer = new Uint8Array(args.chunk).buffer; + + if (args.begin === undefined) { + if (this._fullRequestReader) { + this._fullRequestReader._enqueue(buffer); + } else { + this._queuedChunks.push(buffer); + } + } else { + var found = this._rangeReaders.some(function (rangeReader) { + if (rangeReader._begin !== args.begin) { + return false; + } + + rangeReader._enqueue(buffer); + + return true; + }); + + (0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."); + } + } + }, { + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } + }, { + key: "_onProgress", + value: function _onProgress(evt) { + if (evt.total === undefined) { + var firstReader = this._rangeReaders[0]; + + if (firstReader !== null && firstReader !== void 0 && firstReader.onProgress) { + firstReader.onProgress({ + loaded: evt.loaded + }); + } + } else { + var fullReader = this._fullRequestReader; + + if (fullReader !== null && fullReader !== void 0 && fullReader.onProgress) { + fullReader.onProgress({ + loaded: evt.loaded, + total: evt.total + }); + } + } + } + }, { + key: "_onProgressiveDone", + value: function _onProgressiveDone() { + if (this._fullRequestReader) { + this._fullRequestReader.progressiveDone(); + } + + this._progressiveDone = true; + } + }, { + key: "_removeRangeReader", + value: function _removeRangeReader(reader) { + var i = this._rangeReaders.indexOf(reader); + + if (i >= 0) { + this._rangeReaders.splice(i, 1); + } + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once."); + var queuedChunks = this._queuedChunks; + this._queuedChunks = null; + return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename); + } + }, { + key: "getRangeReader", + value: function getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + + var reader = new PDFDataTransportStreamRangeReader(this, begin, end); + + this._pdfDataRangeTransport.requestDataRange(begin, end); + + this._rangeReaders.push(reader); + + return reader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + + var _iterator = _createForOfIteratorHelper(this._rangeReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this._pdfDataRangeTransport.abort(); + } + }]); + + return PDFDataTransportStream; +}(); + +exports.PDFDataTransportStream = PDFDataTransportStream; + +var PDFDataTransportStreamReader = /*#__PURE__*/function () { + function PDFDataTransportStreamReader(stream, queuedChunks) { + var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + + _classCallCheck(this, PDFDataTransportStreamReader); + + this._stream = stream; + this._done = progressiveDone || false; + this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null; + this._queuedChunks = queuedChunks || []; + this._loaded = 0; + + var _iterator2 = _createForOfIteratorHelper(this._queuedChunks), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var chunk = _step2.value; + this._loaded += chunk.byteLength; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + this._requests = []; + this._headersReady = Promise.resolve(); + stream._fullRequestReader = this; + this.onProgress = null; + } + + _createClass(PDFDataTransportStreamReader, [{ + key: "_enqueue", + value: function _enqueue(chunk) { + if (this._done) { + return; + } + + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunks.push(chunk); + } + + this._loaded += chunk.byteLength; + } + }, { + key: "headersReady", + get: function get() { + return this._headersReady; + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._stream._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._stream._isStreamingSupported; + } + }, { + key: "contentLength", + get: function get() { + return this._stream._contentLength; + } + }, { + key: "read", + value: function () { + var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!(this._queuedChunks.length > 0)) { + _context.next = 3; + break; + } + + chunk = this._queuedChunks.shift(); + return _context.abrupt("return", { + value: chunk, + done: false + }); + + case 3: + if (!this._done) { + _context.next = 5; + break; + } + + return _context.abrupt("return", { + value: undefined, + done: true + }); + + case 5: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context.abrupt("return", requestCapability.promise); + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + var _iterator3 = _createForOfIteratorHelper(this._requests), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var requestCapability = _step3.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + this._requests.length = 0; + } + }, { + key: "progressiveDone", + value: function progressiveDone() { + if (this._done) { + return; + } + + this._done = true; + } + }]); + + return PDFDataTransportStreamReader; +}(); + +var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () { + function PDFDataTransportStreamRangeReader(stream, begin, end) { + _classCallCheck(this, PDFDataTransportStreamRangeReader); + + this._stream = stream; + this._begin = begin; + this._end = end; + this._queuedChunk = null; + this._requests = []; + this._done = false; + this.onProgress = null; + } + + _createClass(PDFDataTransportStreamRangeReader, [{ + key: "_enqueue", + value: function _enqueue(chunk) { + if (this._done) { + return; + } + + if (this._requests.length === 0) { + this._queuedChunk = chunk; + } else { + var requestsCapability = this._requests.shift(); + + requestsCapability.resolve({ + value: chunk, + done: false + }); + + var _iterator4 = _createForOfIteratorHelper(this._requests), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var requestCapability = _step4.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._requests.length = 0; + } + + this._done = true; + + this._stream._removeRangeReader(this); + } + }, { + key: "isStreamingSupported", + get: function get() { + return false; + } + }, { + key: "read", + value: function () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!this._queuedChunk) { + _context2.next = 4; + break; + } + + chunk = this._queuedChunk; + this._queuedChunk = null; + return _context2.abrupt("return", { + value: chunk, + done: false + }); + + case 4: + if (!this._done) { + _context2.next = 6; + break; + } + + return _context2.abrupt("return", { + value: undefined, + done: true + }); + + case 6: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context2.abrupt("return", requestCapability.promise); + + case 9: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + var _iterator5 = _createForOfIteratorHelper(this._requests), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var requestCapability = _step5.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this._requests.length = 0; + + this._stream._removeRangeReader(this); + } + }]); + + return PDFDataTransportStreamRangeReader; +}(); + +/***/ }), +/* 171 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaText = void 0; + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var XfaText = /*#__PURE__*/function () { + function XfaText() { + _classCallCheck(this, XfaText); + } + + _createClass(XfaText, null, [{ + key: "textContent", + value: function textContent(xfa) { + var items = []; + var output = { + items: items, + styles: Object.create(null) + }; + + function walk(node) { + var _node$attributes; + + if (!node) { + return; + } + + var str = null; + var name = node.name; + + if (name === "#text") { + str = node.value; + } else if (!XfaText.shouldBuildText(name)) { + return; + } else if (node !== null && node !== void 0 && (_node$attributes = node.attributes) !== null && _node$attributes !== void 0 && _node$attributes.textContent) { + str = node.attributes.textContent; + } else if (node.value) { + str = node.value; + } + + if (str !== null) { + items.push({ + str: str + }); + } + + if (!node.children) { + return; + } + + var _iterator = _createForOfIteratorHelper(node.children), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var child = _step.value; + walk(child); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + walk(xfa); + return output; + } + }, { + key: "shouldBuildText", + value: function shouldBuildText(name) { + return !(name === "textarea" || name === "input" || name === "option" || name === "select"); + } + }]); + + return XfaText; +}(); + +exports.XfaText = XfaText; + +/***/ }), +/* 172 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.NodeStandardFontDataFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0; + +var _base_factory = __w_pdfjs_require__(159); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +; + +var fetchData = function fetchData(url) { + return new Promise(function (resolve, reject) { + var fs = require("fs"); + + fs.readFile(url, function (error, data) { + if (error || !data) { + reject(new Error(error)); + return; + } + + resolve(new Uint8Array(data)); + }); + }); +}; + +var NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) { + _inherits(NodeCanvasFactory, _BaseCanvasFactory); + + var _super = _createSuper(NodeCanvasFactory); + + function NodeCanvasFactory() { + _classCallCheck(this, NodeCanvasFactory); + + return _super.apply(this, arguments); + } + + _createClass(NodeCanvasFactory, [{ + key: "_createCanvas", + value: function _createCanvas(width, height) { + var Canvas = require("canvas"); + + return Canvas.createCanvas(width, height); + } + }]); + + return NodeCanvasFactory; +}(_base_factory.BaseCanvasFactory); + +exports.NodeCanvasFactory = NodeCanvasFactory; + +var NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) { + _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor); + + var _super2 = _createSuper(NodeCMapReaderFactory); + + function NodeCMapReaderFactory() { + _classCallCheck(this, NodeCMapReaderFactory); + + return _super2.apply(this, arguments); + } + + _createClass(NodeCMapReaderFactory, [{ + key: "_fetchData", + value: function _fetchData(url, compressionType) { + return fetchData(url).then(function (data) { + return { + cMapData: data, + compressionType: compressionType + }; + }); + } + }]); + + return NodeCMapReaderFactory; +}(_base_factory.BaseCMapReaderFactory); + +exports.NodeCMapReaderFactory = NodeCMapReaderFactory; + +var NodeStandardFontDataFactory = /*#__PURE__*/function (_BaseStandardFontData) { + _inherits(NodeStandardFontDataFactory, _BaseStandardFontData); + + var _super3 = _createSuper(NodeStandardFontDataFactory); + + function NodeStandardFontDataFactory() { + _classCallCheck(this, NodeStandardFontDataFactory); + + return _super3.apply(this, arguments); + } + + _createClass(NodeStandardFontDataFactory, [{ + key: "_fetchData", + value: function _fetchData(url) { + return fetchData(url); + } + }]); + + return NodeStandardFontDataFactory; +}(_base_factory.BaseStandardFontDataFactory); + +exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory; + +/***/ }), +/* 173 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationLayer = void 0; + +var _util = __w_pdfjs_require__(1); + +var _display_utils = __w_pdfjs_require__(158); + +var _annotation_storage = __w_pdfjs_require__(161); + +var _scripting_utils = __w_pdfjs_require__(174); + +var _xfa_layer = __w_pdfjs_require__(175); + +function _classStaticPrivateMethodGet(receiver, classConstructor, method) { _classCheckPrivateStaticAccess(receiver, classConstructor); return method; } + +function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } } + +function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var DEFAULT_TAB_INDEX = 1000; +var GetElementsByNameSet = new WeakSet(); + +function getRectDims(rect) { + return { + width: rect[2] - rect[0], + height: rect[3] - rect[1] + }; +} + +var AnnotationElementFactory = /*#__PURE__*/function () { + function AnnotationElementFactory() { + _classCallCheck(this, AnnotationElementFactory); + } + + _createClass(AnnotationElementFactory, null, [{ + key: "create", + value: function create(parameters) { + var subtype = parameters.data.annotationType; + + switch (subtype) { + case _util.AnnotationType.LINK: + return new LinkAnnotationElement(parameters); + + case _util.AnnotationType.TEXT: + return new TextAnnotationElement(parameters); + + case _util.AnnotationType.WIDGET: + var fieldType = parameters.data.fieldType; + + switch (fieldType) { + case "Tx": + return new TextWidgetAnnotationElement(parameters); + + case "Btn": + if (parameters.data.radioButton) { + return new RadioButtonWidgetAnnotationElement(parameters); + } else if (parameters.data.checkBox) { + return new CheckboxWidgetAnnotationElement(parameters); + } + + return new PushButtonWidgetAnnotationElement(parameters); + + case "Ch": + return new ChoiceWidgetAnnotationElement(parameters); + } + + return new WidgetAnnotationElement(parameters); + + case _util.AnnotationType.POPUP: + return new PopupAnnotationElement(parameters); + + case _util.AnnotationType.FREETEXT: + return new FreeTextAnnotationElement(parameters); + + case _util.AnnotationType.LINE: + return new LineAnnotationElement(parameters); + + case _util.AnnotationType.SQUARE: + return new SquareAnnotationElement(parameters); + + case _util.AnnotationType.CIRCLE: + return new CircleAnnotationElement(parameters); + + case _util.AnnotationType.POLYLINE: + return new PolylineAnnotationElement(parameters); + + case _util.AnnotationType.CARET: + return new CaretAnnotationElement(parameters); + + case _util.AnnotationType.INK: + return new InkAnnotationElement(parameters); + + case _util.AnnotationType.POLYGON: + return new PolygonAnnotationElement(parameters); + + case _util.AnnotationType.HIGHLIGHT: + return new HighlightAnnotationElement(parameters); + + case _util.AnnotationType.UNDERLINE: + return new UnderlineAnnotationElement(parameters); + + case _util.AnnotationType.SQUIGGLY: + return new SquigglyAnnotationElement(parameters); + + case _util.AnnotationType.STRIKEOUT: + return new StrikeOutAnnotationElement(parameters); + + case _util.AnnotationType.STAMP: + return new StampAnnotationElement(parameters); + + case _util.AnnotationType.FILEATTACHMENT: + return new FileAttachmentAnnotationElement(parameters); + + default: + return new AnnotationElement(parameters); + } + } + }]); + + return AnnotationElementFactory; +}(); + +var AnnotationElement = /*#__PURE__*/function () { + function AnnotationElement(parameters) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$isRenderable = _ref.isRenderable, + isRenderable = _ref$isRenderable === void 0 ? false : _ref$isRenderable, + _ref$ignoreBorder = _ref.ignoreBorder, + ignoreBorder = _ref$ignoreBorder === void 0 ? false : _ref$ignoreBorder, + _ref$createQuadrilate = _ref.createQuadrilaterals, + createQuadrilaterals = _ref$createQuadrilate === void 0 ? false : _ref$createQuadrilate; + + _classCallCheck(this, AnnotationElement); + + this.isRenderable = isRenderable; + this.data = parameters.data; + this.layer = parameters.layer; + this.page = parameters.page; + this.viewport = parameters.viewport; + this.linkService = parameters.linkService; + this.downloadManager = parameters.downloadManager; + this.imageResourcesPath = parameters.imageResourcesPath; + this.renderForms = parameters.renderForms; + this.svgFactory = parameters.svgFactory; + this.annotationStorage = parameters.annotationStorage; + this.enableScripting = parameters.enableScripting; + this.hasJSActions = parameters.hasJSActions; + this._fieldObjects = parameters.fieldObjects; + this._mouseState = parameters.mouseState; + + if (isRenderable) { + this.container = this._createContainer(ignoreBorder); + } + + if (createQuadrilaterals) { + this.quadrilaterals = this._createQuadrilaterals(ignoreBorder); + } + } + + _createClass(AnnotationElement, [{ + key: "_createContainer", + value: function _createContainer() { + var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var data = this.data, + page = this.page, + viewport = this.viewport; + var container = document.createElement("section"); + + var _getRectDims = getRectDims(data.rect), + width = _getRectDims.width, + height = _getRectDims.height; + + container.setAttribute("data-annotation-id", data.id); + + var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]); + + if (data.hasOwnCanvas) { + var transform = viewport.transform.slice(); + + var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(transform), + _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2), + scaleX = _Util$singularValueDe2[0], + scaleY = _Util$singularValueDe2[1]; + + width = Math.ceil(width * scaleX); + height = Math.ceil(height * scaleY); + rect[0] *= scaleX; + rect[1] *= scaleY; + + for (var i = 0; i < 4; i++) { + transform[i] = Math.sign(transform[i]); + } + + container.style.transform = "matrix(".concat(transform.join(","), ")"); + } else { + container.style.transform = "matrix(".concat(viewport.transform.join(","), ")"); + } + + container.style.transformOrigin = "".concat(-rect[0], "px ").concat(-rect[1], "px"); + + if (!ignoreBorder && data.borderStyle.width > 0) { + container.style.borderWidth = "".concat(data.borderStyle.width, "px"); + + if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) { + width -= 2 * data.borderStyle.width; + height -= 2 * data.borderStyle.width; + } + + var horizontalRadius = data.borderStyle.horizontalCornerRadius; + var verticalRadius = data.borderStyle.verticalCornerRadius; + + if (horizontalRadius > 0 || verticalRadius > 0) { + var radius = "".concat(horizontalRadius, "px / ").concat(verticalRadius, "px"); + container.style.borderRadius = radius; + } + + switch (data.borderStyle.style) { + case _util.AnnotationBorderStyleType.SOLID: + container.style.borderStyle = "solid"; + break; + + case _util.AnnotationBorderStyleType.DASHED: + container.style.borderStyle = "dashed"; + break; + + case _util.AnnotationBorderStyleType.BEVELED: + (0, _util.warn)("Unimplemented border style: beveled"); + break; + + case _util.AnnotationBorderStyleType.INSET: + (0, _util.warn)("Unimplemented border style: inset"); + break; + + case _util.AnnotationBorderStyleType.UNDERLINE: + container.style.borderBottomStyle = "solid"; + break; + + default: + break; + } + + var borderColor = data.borderColor || data.color || null; + + if (borderColor) { + container.style.borderColor = _util.Util.makeHexColor(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0); + } else { + container.style.borderWidth = 0; + } + } + + container.style.left = "".concat(rect[0], "px"); + container.style.top = "".concat(rect[1], "px"); + + if (data.hasOwnCanvas) { + container.style.width = container.style.height = "auto"; + } else { + container.style.width = "".concat(width, "px"); + container.style.height = "".concat(height, "px"); + } + + return container; + } + }, { + key: "_commonActions", + get: function get() { + var _this = this; + + var setColor = function setColor(jsName, styleName, event) { + var color = event.detail[jsName]; + event.target.style[styleName] = _scripting_utils.ColorConverters["".concat(color[0], "_HTML")](color.slice(1)); + }; + + return (0, _util.shadow)(this, "_commonActions", { + display: function display(event) { + var hidden = event.detail.display % 2 === 1; + event.target.style.visibility = hidden ? "hidden" : "visible"; + + _this.annotationStorage.setValue(_this.data.id, { + hidden: hidden, + print: event.detail.display === 0 || event.detail.display === 3 + }); + }, + print: function print(event) { + _this.annotationStorage.setValue(_this.data.id, { + print: event.detail.print + }); + }, + hidden: function hidden(event) { + event.target.style.visibility = event.detail.hidden ? "hidden" : "visible"; + + _this.annotationStorage.setValue(_this.data.id, { + hidden: event.detail.hidden + }); + }, + focus: function focus(event) { + setTimeout(function () { + return event.target.focus({ + preventScroll: false + }); + }, 0); + }, + userName: function userName(event) { + event.target.title = event.detail.userName; + }, + readonly: function readonly(event) { + if (event.detail.readonly) { + event.target.setAttribute("readonly", ""); + } else { + event.target.removeAttribute("readonly"); + } + }, + required: function required(event) { + if (event.detail.required) { + event.target.setAttribute("required", ""); + } else { + event.target.removeAttribute("required"); + } + }, + bgColor: function bgColor(event) { + setColor("bgColor", "backgroundColor", event); + }, + fillColor: function fillColor(event) { + setColor("fillColor", "backgroundColor", event); + }, + fgColor: function fgColor(event) { + setColor("fgColor", "color", event); + }, + textColor: function textColor(event) { + setColor("textColor", "color", event); + }, + borderColor: function borderColor(event) { + setColor("borderColor", "borderColor", event); + }, + strokeColor: function strokeColor(event) { + setColor("strokeColor", "borderColor", event); + } + }); + } + }, { + key: "_dispatchEventFromSandbox", + value: function _dispatchEventFromSandbox(actions, jsEvent) { + var commonActions = this._commonActions; + + for (var _i2 = 0, _Object$keys = Object.keys(jsEvent.detail); _i2 < _Object$keys.length; _i2++) { + var name = _Object$keys[_i2]; + var action = actions[name] || commonActions[name]; + + if (action) { + action(jsEvent); + } + } + } + }, { + key: "_setDefaultPropertiesFromJS", + value: function _setDefaultPropertiesFromJS(element) { + if (!this.enableScripting) { + return; + } + + var storedData = this.annotationStorage.getRawValue(this.data.id); + + if (!storedData) { + return; + } + + var commonActions = this._commonActions; + + for (var _i3 = 0, _Object$entries = Object.entries(storedData); _i3 < _Object$entries.length; _i3++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i3], 2), + actionName = _Object$entries$_i[0], + detail = _Object$entries$_i[1]; + + var action = commonActions[actionName]; + + if (action) { + action({ + detail: detail, + target: element + }); + delete storedData[actionName]; + } + } + } + }, { + key: "_createQuadrilaterals", + value: function _createQuadrilaterals() { + var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this.data.quadPoints) { + return null; + } + + var quadrilaterals = []; + var savedRect = this.data.rect; + + var _iterator = _createForOfIteratorHelper(this.data.quadPoints), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var quadPoint = _step.value; + this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y]; + quadrilaterals.push(this._createContainer(ignoreBorder)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this.data.rect = savedRect; + return quadrilaterals; + } + }, { + key: "_createPopup", + value: function _createPopup(trigger, data) { + var container = this.container; + + if (this.quadrilaterals) { + trigger = trigger || this.quadrilaterals; + container = this.quadrilaterals[0]; + } + + if (!trigger) { + trigger = document.createElement("div"); + trigger.style.height = container.style.height; + trigger.style.width = container.style.width; + container.appendChild(trigger); + } + + var popupElement = new PopupElement({ + container: container, + trigger: trigger, + color: data.color, + titleObj: data.titleObj, + modificationDate: data.modificationDate, + contentsObj: data.contentsObj, + richText: data.richText, + hideWrapper: true + }); + var popup = popupElement.render(); + popup.style.left = container.style.width; + container.appendChild(popup); + } + }, { + key: "_renderQuadrilaterals", + value: function _renderQuadrilaterals(className) { + var _iterator2 = _createForOfIteratorHelper(this.quadrilaterals), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var quadrilateral = _step2.value; + quadrilateral.className = className; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return this.quadrilaterals; + } + }, { + key: "render", + value: function render() { + (0, _util.unreachable)("Abstract method `AnnotationElement.render` called"); + } + }, { + key: "_getElementsByName", + value: function _getElementsByName(name) { + var skipId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var fields = []; + + if (this._fieldObjects) { + var fieldObj = this._fieldObjects[name]; + + if (fieldObj) { + var _iterator3 = _createForOfIteratorHelper(fieldObj), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _step3$value = _step3.value, + page = _step3$value.page, + id = _step3$value.id, + exportValues = _step3$value.exportValues; + + if (page === -1) { + continue; + } + + if (id === skipId) { + continue; + } + + var exportValue = typeof exportValues === "string" ? exportValues : null; + var domElement = document.getElementById(id); + + if (domElement && !GetElementsByNameSet.has(domElement)) { + (0, _util.warn)("_getElementsByName - element not allowed: ".concat(id)); + continue; + } + + fields.push({ + id: id, + exportValue: exportValue, + domElement: domElement + }); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + + return fields; + } + + var _iterator4 = _createForOfIteratorHelper(document.getElementsByName(name)), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var _domElement = _step4.value; + var _id = _domElement.id, + _exportValue = _domElement.exportValue; + + if (_id === skipId) { + continue; + } + + if (!GetElementsByNameSet.has(_domElement)) { + continue; + } + + fields.push({ + id: _id, + exportValue: _exportValue, + domElement: _domElement + }); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + return fields; + } + }], [{ + key: "platform", + get: function get() { + var platform = typeof navigator !== "undefined" ? navigator.platform : ""; + return (0, _util.shadow)(this, "platform", { + isWin: platform.includes("Win"), + isMac: platform.includes("Mac") + }); + } + }]); + + return AnnotationElement; +}(); + +var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) { + _inherits(LinkAnnotationElement, _AnnotationElement); + + var _super = _createSuper(LinkAnnotationElement); + + function LinkAnnotationElement(parameters) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + _classCallCheck(this, LinkAnnotationElement); + + var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action || parameters.data.isTooltipOnly || parameters.data.resetForm || parameters.data.actions && (parameters.data.actions.Action || parameters.data.actions["Mouse Up"] || parameters.data.actions["Mouse Down"])); + return _super.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: !!(options !== null && options !== void 0 && options.ignoreBorder), + createQuadrilaterals: true + }); + } + + _createClass(LinkAnnotationElement, [{ + key: "render", + value: function render() { + var data = this.data, + linkService = this.linkService; + var link = document.createElement("a"); + + if (data.url) { + linkService.addLinkAttributes(link, data.url, data.newWindow); + } else if (data.action) { + this._bindNamedAction(link, data.action); + } else if (data.dest) { + this._bindLink(link, data.dest); + } else { + var hasClickAction = false; + + if (data.actions && (data.actions.Action || data.actions["Mouse Up"] || data.actions["Mouse Down"]) && this.enableScripting && this.hasJSActions) { + hasClickAction = true; + + this._bindJSAction(link, data); + } + + if (data.resetForm) { + this._bindResetFormAction(link, data.resetForm); + } else if (!hasClickAction) { + this._bindLink(link, ""); + } + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("linkAnnotation").map(function (quadrilateral, index) { + var linkElement = index === 0 ? link : link.cloneNode(); + quadrilateral.appendChild(linkElement); + return quadrilateral; + }); + } + + this.container.className = "linkAnnotation"; + this.container.appendChild(link); + return this.container; + } + }, { + key: "_bindLink", + value: function _bindLink(link, destination) { + var _this2 = this; + + link.href = this.linkService.getDestinationHash(destination); + + link.onclick = function () { + if (destination) { + _this2.linkService.goToDestination(destination); + } + + return false; + }; + + if (destination || destination === "") { + link.className = "internalLink"; + } + } + }, { + key: "_bindNamedAction", + value: function _bindNamedAction(link, action) { + var _this3 = this; + + link.href = this.linkService.getAnchorUrl(""); + + link.onclick = function () { + _this3.linkService.executeNamedAction(action); + + return false; + }; + + link.className = "internalLink"; + } + }, { + key: "_bindJSAction", + value: function _bindJSAction(link, data) { + var _this4 = this; + + link.href = this.linkService.getAnchorUrl(""); + var map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]); + + var _loop = function _loop() { + var name = _Object$keys2[_i4]; + var jsName = map.get(name); + + if (!jsName) { + return "continue"; + } + + link[jsName] = function () { + var _this4$linkService$ev; + + (_this4$linkService$ev = _this4.linkService.eventBus) === null || _this4$linkService$ev === void 0 ? void 0 : _this4$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this4, + detail: { + id: data.id, + name: name + } + }); + return false; + }; + }; + + for (var _i4 = 0, _Object$keys2 = Object.keys(data.actions); _i4 < _Object$keys2.length; _i4++) { + var _ret = _loop(); + + if (_ret === "continue") continue; + } + + if (!link.onclick) { + link.onclick = function () { + return false; + }; + } + + link.className = "internalLink"; + } + }, { + key: "_bindResetFormAction", + value: function _bindResetFormAction(link, resetForm) { + var _this5 = this; + + var otherClickAction = link.onclick; + + if (!otherClickAction) { + link.href = this.linkService.getAnchorUrl(""); + } + + link.className = "internalLink"; + + if (!this._fieldObjects) { + (0, _util.warn)("_bindResetFormAction - \"resetForm\" action not supported, " + "ensure that the `fieldObjects` parameter is provided."); + + if (!otherClickAction) { + link.onclick = function () { + return false; + }; + } + + return; + } + + link.onclick = function () { + if (otherClickAction) { + otherClickAction(); + } + + var resetFormFields = resetForm.fields, + resetFormRefs = resetForm.refs, + include = resetForm.include; + var allFields = []; + + if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) { + var fieldIds = new Set(resetFormRefs); + + var _iterator5 = _createForOfIteratorHelper(resetFormFields), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var fieldName = _step5.value; + + var _fields = _this5._fieldObjects[fieldName] || []; + + var _iterator7 = _createForOfIteratorHelper(_fields), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var id = _step7.value.id; + fieldIds.add(id); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + for (var _i5 = 0, _Object$values = Object.values(_this5._fieldObjects); _i5 < _Object$values.length; _i5++) { + var fields = _Object$values[_i5]; + + var _iterator6 = _createForOfIteratorHelper(fields), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var field = _step6.value; + + if (fieldIds.has(field.id) === include) { + allFields.push(field); + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + } + } else { + for (var _i6 = 0, _Object$values2 = Object.values(_this5._fieldObjects); _i6 < _Object$values2.length; _i6++) { + var _fields2 = _Object$values2[_i6]; + allFields.push.apply(allFields, _toConsumableArray(_fields2)); + } + } + + var storage = _this5.annotationStorage; + var allIds = []; + + for (var _i7 = 0, _allFields = allFields; _i7 < _allFields.length; _i7++) { + var _field = _allFields[_i7]; + var _id2 = _field.id; + allIds.push(_id2); + + switch (_field.type) { + case "text": + { + var value = _field.defaultValue || ""; + storage.setValue(_id2, { + value: value + }); + break; + } + + case "checkbox": + case "radiobutton": + { + var _value = _field.defaultValue === _field.exportValues; + + storage.setValue(_id2, { + value: _value + }); + break; + } + + case "combobox": + case "listbox": + { + var _value2 = _field.defaultValue || ""; + + storage.setValue(_id2, { + value: _value2 + }); + break; + } + + default: + continue; + } + + var domElement = document.getElementById(_id2); + + if (!domElement || !GetElementsByNameSet.has(domElement)) { + continue; + } + + domElement.dispatchEvent(new Event("resetform")); + } + + if (_this5.enableScripting) { + var _this5$linkService$ev; + + (_this5$linkService$ev = _this5.linkService.eventBus) === null || _this5$linkService$ev === void 0 ? void 0 : _this5$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this5, + detail: { + id: "app", + ids: allIds, + name: "ResetForm" + } + }); + } + + return false; + }; + } + }]); + + return LinkAnnotationElement; +}(AnnotationElement); + +var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) { + _inherits(TextAnnotationElement, _AnnotationElement2); + + var _super2 = _createSuper(TextAnnotationElement); + + function TextAnnotationElement(parameters) { + var _parameters$data$titl, _parameters$data$cont, _parameters$data$rich; + + _classCallCheck(this, TextAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl = parameters.data.titleObj) !== null && _parameters$data$titl !== void 0 && _parameters$data$titl.str || (_parameters$data$cont = parameters.data.contentsObj) !== null && _parameters$data$cont !== void 0 && _parameters$data$cont.str || (_parameters$data$rich = parameters.data.richText) !== null && _parameters$data$rich !== void 0 && _parameters$data$rich.str); + return _super2.call(this, parameters, { + isRenderable: isRenderable + }); + } + + _createClass(TextAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "textAnnotation"; + var image = document.createElement("img"); + image.style.height = this.container.style.height; + image.style.width = this.container.style.width; + image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg"; + image.alt = "[{{type}} Annotation]"; + image.dataset.l10nId = "text_annotation_type"; + image.dataset.l10nArgs = JSON.stringify({ + type: this.data.name + }); + + if (!this.data.hasPopup) { + this._createPopup(image, this.data); + } + + this.container.appendChild(image); + return this.container; + } + }]); + + return TextAnnotationElement; +}(AnnotationElement); + +var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) { + _inherits(WidgetAnnotationElement, _AnnotationElement3); + + var _super3 = _createSuper(WidgetAnnotationElement); + + function WidgetAnnotationElement() { + _classCallCheck(this, WidgetAnnotationElement); + + return _super3.apply(this, arguments); + } + + _createClass(WidgetAnnotationElement, [{ + key: "render", + value: function render() { + if (this.data.alternativeText) { + this.container.title = this.data.alternativeText; + } + + return this.container; + } + }, { + key: "_getKeyModifier", + value: function _getKeyModifier(event) { + var _AnnotationElement$pl = AnnotationElement.platform, + isWin = _AnnotationElement$pl.isWin, + isMac = _AnnotationElement$pl.isMac; + return isWin && event.ctrlKey || isMac && event.metaKey; + } + }, { + key: "_setEventListener", + value: function _setEventListener(element, baseName, eventName, valueGetter) { + var _this6 = this; + + if (baseName.includes("mouse")) { + element.addEventListener(baseName, function (event) { + var _this6$linkService$ev; + + (_this6$linkService$ev = _this6.linkService.eventBus) === null || _this6$linkService$ev === void 0 ? void 0 : _this6$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this6, + detail: { + id: _this6.data.id, + name: eventName, + value: valueGetter(event), + shift: event.shiftKey, + modifier: _this6._getKeyModifier(event) + } + }); + }); + } else { + element.addEventListener(baseName, function (event) { + var _this6$linkService$ev2; + + (_this6$linkService$ev2 = _this6.linkService.eventBus) === null || _this6$linkService$ev2 === void 0 ? void 0 : _this6$linkService$ev2.dispatch("dispatcheventinsandbox", { + source: _this6, + detail: { + id: _this6.data.id, + name: eventName, + value: valueGetter(event) + } + }); + }); + } + } + }, { + key: "_setEventListeners", + value: function _setEventListeners(element, names, getter) { + var _iterator8 = _createForOfIteratorHelper(names), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _this$data$actions; + + var _step8$value = _slicedToArray(_step8.value, 2), + baseName = _step8$value[0], + eventName = _step8$value[1]; + + if (eventName === "Action" || (_this$data$actions = this.data.actions) !== null && _this$data$actions !== void 0 && _this$data$actions[eventName]) { + this._setEventListener(element, baseName, eventName, getter); + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + } + }, { + key: "_setBackgroundColor", + value: function _setBackgroundColor(element) { + var color = this.data.backgroundColor || null; + element.style.backgroundColor = color === null ? "transparent" : _util.Util.makeHexColor(color[0], color[1], color[2]); + } + }]); + + return WidgetAnnotationElement; +}(AnnotationElement); + +var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) { + _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem); + + var _super4 = _createSuper(TextWidgetAnnotationElement); + + function TextWidgetAnnotationElement(parameters) { + _classCallCheck(this, TextWidgetAnnotationElement); + + var isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue; + return _super4.call(this, parameters, { + isRenderable: isRenderable + }); + } + + _createClass(TextWidgetAnnotationElement, [{ + key: "setPropertyOnSiblings", + value: function setPropertyOnSiblings(base, key, value, keyInStorage) { + var storage = this.annotationStorage; + + var _iterator9 = _createForOfIteratorHelper(this._getElementsByName(base.name, base.id)), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var element = _step9.value; + + if (element.domElement) { + element.domElement[key] = value; + } + + storage.setValue(element.id, _defineProperty({}, keyInStorage, value)); + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + } + }, { + key: "render", + value: function render() { + var _this7 = this; + + var storage = this.annotationStorage; + var id = this.data.id; + this.container.className = "textWidgetAnnotation"; + var element = null; + + if (this.renderForms) { + var storedData = storage.getValue(id, { + value: this.data.fieldValue + }); + var textContent = storedData.formattedValue || storedData.value || ""; + var elementData = { + userValue: null, + formattedValue: null, + valueOnFocus: "" + }; + + if (this.data.multiLine) { + element = document.createElement("textarea"); + element.textContent = textContent; + } else { + element = document.createElement("input"); + element.type = "text"; + element.setAttribute("value", textContent); + } + + GetElementsByNameSet.add(element); + element.disabled = this.data.readOnly; + element.name = this.data.fieldName; + element.tabIndex = DEFAULT_TAB_INDEX; + elementData.userValue = textContent; + element.setAttribute("id", id); + element.addEventListener("input", function (event) { + storage.setValue(id, { + value: event.target.value + }); + + _this7.setPropertyOnSiblings(element, "value", event.target.value, "value"); + }); + element.addEventListener("resetform", function (event) { + var _this7$data$defaultFi; + + var defaultValue = (_this7$data$defaultFi = _this7.data.defaultFieldValue) !== null && _this7$data$defaultFi !== void 0 ? _this7$data$defaultFi : ""; + element.value = elementData.userValue = defaultValue; + elementData.formattedValue = null; + }); + + var blurListener = function blurListener(event) { + var formattedValue = elementData.formattedValue; + + if (formattedValue !== null && formattedValue !== undefined) { + event.target.value = formattedValue; + } + + event.target.scrollLeft = 0; + }; + + if (this.enableScripting && this.hasJSActions) { + var _this$data$actions2; + + element.addEventListener("focus", function (event) { + if (elementData.userValue) { + event.target.value = elementData.userValue; + } + + elementData.valueOnFocus = event.target.value; + }); + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + var _event$detail$value; + + elementData.userValue = (_event$detail$value = event.detail.value) !== null && _event$detail$value !== void 0 ? _event$detail$value : ""; + storage.setValue(id, { + value: elementData.userValue.toString() + }); + event.target.value = elementData.userValue; + }, + formattedValue: function formattedValue(event) { + var formattedValue = event.detail.formattedValue; + elementData.formattedValue = formattedValue; + + if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) { + event.target.value = formattedValue; + } + + storage.setValue(id, { + formattedValue: formattedValue + }); + }, + selRange: function selRange(event) { + var _event$target; + + (_event$target = event.target).setSelectionRange.apply(_event$target, _toConsumableArray(event.detail.selRange)); + } + }; + + _this7._dispatchEventFromSandbox(actions, jsEvent); + }); + element.addEventListener("keydown", function (event) { + var _this7$linkService$ev; + + var commitKey = -1; + + if (event.key === "Escape") { + commitKey = 0; + } else if (event.key === "Enter") { + commitKey = 2; + } else if (event.key === "Tab") { + commitKey = 3; + } + + if (commitKey === -1) { + return; + } + + var value = event.target.value; + + if (elementData.valueOnFocus === value) { + return; + } + + elementData.userValue = value; + (_this7$linkService$ev = _this7.linkService.eventBus) === null || _this7$linkService$ev === void 0 ? void 0 : _this7$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this7, + detail: { + id: id, + name: "Keystroke", + value: value, + willCommit: true, + commitKey: commitKey, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + }); + var _blurListener = blurListener; + blurListener = null; + element.addEventListener("blur", function (event) { + var value = event.target.value; + elementData.userValue = value; + + if (_this7._mouseState.isDown && elementData.valueOnFocus !== value) { + var _this7$linkService$ev2; + + (_this7$linkService$ev2 = _this7.linkService.eventBus) === null || _this7$linkService$ev2 === void 0 ? void 0 : _this7$linkService$ev2.dispatch("dispatcheventinsandbox", { + source: _this7, + detail: { + id: id, + name: "Keystroke", + value: value, + willCommit: true, + commitKey: 1, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + } + + _blurListener(event); + }); + + if ((_this$data$actions2 = this.data.actions) !== null && _this$data$actions2 !== void 0 && _this$data$actions2.Keystroke) { + element.addEventListener("beforeinput", function (event) { + var _this7$linkService$ev3; + + var data = event.data, + target = event.target; + var value = target.value, + selectionStart = target.selectionStart, + selectionEnd = target.selectionEnd; + var selStart = selectionStart, + selEnd = selectionEnd; + + switch (event.inputType) { + case "deleteWordBackward": + { + var match = value.substring(0, selectionStart).match(/\w*[^\w]*$/); + + if (match) { + selStart -= match[0].length; + } + + break; + } + + case "deleteWordForward": + { + var _match = value.substring(selectionStart).match(/^[^\w]*\w*/); + + if (_match) { + selEnd += _match[0].length; + } + + break; + } + + case "deleteContentBackward": + if (selectionStart === selectionEnd) { + selStart -= 1; + } + + break; + + case "deleteContentForward": + if (selectionStart === selectionEnd) { + selEnd += 1; + } + + break; + } + + event.preventDefault(); + (_this7$linkService$ev3 = _this7.linkService.eventBus) === null || _this7$linkService$ev3 === void 0 ? void 0 : _this7$linkService$ev3.dispatch("dispatcheventinsandbox", { + source: _this7, + detail: { + id: id, + name: "Keystroke", + value: value, + change: data || "", + willCommit: false, + selStart: selStart, + selEnd: selEnd + } + }); + }); + } + + this._setEventListeners(element, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return event.target.value; + }); + } + + if (blurListener) { + element.addEventListener("blur", blurListener); + } + + if (this.data.maxLen !== null) { + element.maxLength = this.data.maxLen; + } + + if (this.data.comb) { + var fieldWidth = this.data.rect[2] - this.data.rect[0]; + var combWidth = fieldWidth / this.data.maxLen; + element.classList.add("comb"); + element.style.letterSpacing = "calc(".concat(combWidth, "px - 1ch)"); + } + } else { + element = document.createElement("div"); + element.textContent = this.data.fieldValue; + element.style.verticalAlign = "middle"; + element.style.display = "table-cell"; + } + + this._setTextStyle(element); + + this._setBackgroundColor(element); + + this._setDefaultPropertiesFromJS(element); + + this.container.appendChild(element); + return this.container; + } + }, { + key: "_setTextStyle", + value: function _setTextStyle(element) { + var TEXT_ALIGNMENT = ["left", "center", "right"]; + var _this$data$defaultApp = this.data.defaultAppearanceData, + fontSize = _this$data$defaultApp.fontSize, + fontColor = _this$data$defaultApp.fontColor; + var style = element.style; + + if (fontSize) { + style.fontSize = "".concat(fontSize, "px"); + } + + style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]); + + if (this.data.textAlignment !== null) { + style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment]; + } + } + }]); + + return TextWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) { + _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2); + + var _super5 = _createSuper(CheckboxWidgetAnnotationElement); + + function CheckboxWidgetAnnotationElement(parameters) { + _classCallCheck(this, CheckboxWidgetAnnotationElement); + + return _super5.call(this, parameters, { + isRenderable: parameters.renderForms + }); + } + + _createClass(CheckboxWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var _this8 = this; + + var storage = this.annotationStorage; + var data = this.data; + var id = data.id; + var value = storage.getValue(id, { + value: data.exportValue === data.fieldValue + }).value; + + if (typeof value === "string") { + value = value !== "Off"; + storage.setValue(id, { + value: value + }); + } + + this.container.className = "buttonWidgetAnnotation checkBox"; + var element = document.createElement("input"); + GetElementsByNameSet.add(element); + element.disabled = data.readOnly; + element.type = "checkbox"; + element.name = data.fieldName; + + if (value) { + element.setAttribute("checked", true); + } + + element.setAttribute("id", id); + element.setAttribute("exportValue", data.exportValue); + element.tabIndex = DEFAULT_TAB_INDEX; + element.addEventListener("change", function (event) { + var _event$target2 = event.target, + name = _event$target2.name, + checked = _event$target2.checked; + + var _iterator10 = _createForOfIteratorHelper(_this8._getElementsByName(name, id)), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var checkbox = _step10.value; + var curChecked = checked && checkbox.exportValue === data.exportValue; + + if (checkbox.domElement) { + checkbox.domElement.checked = curChecked; + } + + storage.setValue(checkbox.id, { + value: curChecked + }); + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", function (event) { + var defaultValue = data.defaultFieldValue || "Off"; + event.target.checked = defaultValue === data.exportValue; + }); + + if (this.enableScripting && this.hasJSActions) { + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + event.target.checked = event.detail.value !== "Off"; + storage.setValue(id, { + value: event.target.checked + }); + } + }; + + _this8._dispatchEventFromSandbox(actions, jsEvent); + }); + + this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return event.target.checked; + }); + } + + this._setBackgroundColor(element); + + this._setDefaultPropertiesFromJS(element); + + this.container.appendChild(element); + return this.container; + } + }]); + + return CheckboxWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) { + _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3); + + var _super6 = _createSuper(RadioButtonWidgetAnnotationElement); + + function RadioButtonWidgetAnnotationElement(parameters) { + _classCallCheck(this, RadioButtonWidgetAnnotationElement); + + return _super6.call(this, parameters, { + isRenderable: parameters.renderForms + }); + } + + _createClass(RadioButtonWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var _this9 = this; + + this.container.className = "buttonWidgetAnnotation radioButton"; + var storage = this.annotationStorage; + var data = this.data; + var id = data.id; + var value = storage.getValue(id, { + value: data.fieldValue === data.buttonValue + }).value; + + if (typeof value === "string") { + value = value !== data.buttonValue; + storage.setValue(id, { + value: value + }); + } + + var element = document.createElement("input"); + GetElementsByNameSet.add(element); + element.disabled = data.readOnly; + element.type = "radio"; + element.name = data.fieldName; + + if (value) { + element.setAttribute("checked", true); + } + + element.setAttribute("id", id); + element.tabIndex = DEFAULT_TAB_INDEX; + element.addEventListener("change", function (event) { + var _event$target3 = event.target, + name = _event$target3.name, + checked = _event$target3.checked; + + var _iterator11 = _createForOfIteratorHelper(_this9._getElementsByName(name, id)), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var radio = _step11.value; + storage.setValue(radio.id, { + value: false + }); + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", function (event) { + var defaultValue = data.defaultFieldValue; + event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue; + }); + + if (this.enableScripting && this.hasJSActions) { + var pdfButtonValue = data.buttonValue; + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + var checked = pdfButtonValue === event.detail.value; + + var _iterator12 = _createForOfIteratorHelper(_this9._getElementsByName(event.target.name)), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var radio = _step12.value; + var curChecked = checked && radio.id === id; + + if (radio.domElement) { + radio.domElement.checked = curChecked; + } + + storage.setValue(radio.id, { + value: curChecked + }); + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + } + }; + + _this9._dispatchEventFromSandbox(actions, jsEvent); + }); + + this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return event.target.checked; + }); + } + + this._setBackgroundColor(element); + + this._setDefaultPropertiesFromJS(element); + + this.container.appendChild(element); + return this.container; + } + }]); + + return RadioButtonWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) { + _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen); + + var _super7 = _createSuper(PushButtonWidgetAnnotationElement); + + function PushButtonWidgetAnnotationElement(parameters) { + _classCallCheck(this, PushButtonWidgetAnnotationElement); + + return _super7.call(this, parameters, { + ignoreBorder: parameters.data.hasAppearance + }); + } + + _createClass(PushButtonWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), "render", this).call(this); + + container.className = "buttonWidgetAnnotation pushButton"; + + if (this.data.alternativeText) { + container.title = this.data.alternativeText; + } + + this._setDefaultPropertiesFromJS(container); + + return container; + } + }]); + + return PushButtonWidgetAnnotationElement; +}(LinkAnnotationElement); + +var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) { + _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4); + + var _super8 = _createSuper(ChoiceWidgetAnnotationElement); + + function ChoiceWidgetAnnotationElement(parameters) { + _classCallCheck(this, ChoiceWidgetAnnotationElement); + + return _super8.call(this, parameters, { + isRenderable: parameters.renderForms + }); + } + + _createClass(ChoiceWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var _this10 = this; + + this.container.className = "choiceWidgetAnnotation"; + var storage = this.annotationStorage; + var id = this.data.id; + var storedData = storage.getValue(id, { + value: this.data.fieldValue + }); + var fontSize = this.data.defaultAppearanceData.fontSize; + + if (!fontSize) { + fontSize = 9; + } + + var fontSizeStyle = "calc(".concat(fontSize, "px * var(--zoom-factor))"); + var selectElement = document.createElement("select"); + GetElementsByNameSet.add(selectElement); + selectElement.disabled = this.data.readOnly; + selectElement.name = this.data.fieldName; + selectElement.setAttribute("id", id); + selectElement.tabIndex = DEFAULT_TAB_INDEX; + selectElement.style.fontSize = "".concat(fontSize, "px"); + + if (!this.data.combo) { + selectElement.size = this.data.options.length; + + if (this.data.multiSelect) { + selectElement.multiple = true; + } + } + + selectElement.addEventListener("resetform", function (event) { + var defaultValue = _this10.data.defaultFieldValue; + + var _iterator13 = _createForOfIteratorHelper(selectElement.options), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var option = _step13.value; + option.selected = option.value === defaultValue; + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + }); + + var _iterator14 = _createForOfIteratorHelper(this.data.options), + _step14; + + try { + for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { + var option = _step14.value; + var optionElement = document.createElement("option"); + optionElement.textContent = option.displayValue; + optionElement.value = option.exportValue; + + if (this.data.combo) { + optionElement.style.fontSize = fontSizeStyle; + } + + if (storedData.value.includes(option.exportValue)) { + optionElement.setAttribute("selected", true); + } + + selectElement.appendChild(optionElement); + } + } catch (err) { + _iterator14.e(err); + } finally { + _iterator14.f(); + } + + var getValue = function getValue(event, isExport) { + var name = isExport ? "value" : "textContent"; + var options = event.target.options; + + if (!event.target.multiple) { + return options.selectedIndex === -1 ? null : options[options.selectedIndex][name]; + } + + return Array.prototype.filter.call(options, function (option) { + return option.selected; + }).map(function (option) { + return option[name]; + }); + }; + + var getItems = function getItems(event) { + var options = event.target.options; + return Array.prototype.map.call(options, function (option) { + return { + displayValue: option.textContent, + exportValue: option.value + }; + }); + }; + + if (this.enableScripting && this.hasJSActions) { + selectElement.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + var value = event.detail.value; + var values = new Set(Array.isArray(value) ? value : [value]); + + var _iterator15 = _createForOfIteratorHelper(selectElement.options), + _step15; + + try { + for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) { + var option = _step15.value; + option.selected = values.has(option.value); + } + } catch (err) { + _iterator15.e(err); + } finally { + _iterator15.f(); + } + + storage.setValue(id, { + value: getValue(event, true) + }); + }, + multipleSelection: function multipleSelection(event) { + selectElement.multiple = true; + }, + remove: function remove(event) { + var options = selectElement.options; + var index = event.detail.remove; + options[index].selected = false; + selectElement.remove(index); + + if (options.length > 0) { + var i = Array.prototype.findIndex.call(options, function (option) { + return option.selected; + }); + + if (i === -1) { + options[0].selected = true; + } + } + + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + clear: function clear(event) { + while (selectElement.length !== 0) { + selectElement.remove(0); + } + + storage.setValue(id, { + value: null, + items: [] + }); + }, + insert: function insert(event) { + var _event$detail$insert = event.detail.insert, + index = _event$detail$insert.index, + displayValue = _event$detail$insert.displayValue, + exportValue = _event$detail$insert.exportValue; + var optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + selectElement.insertBefore(optionElement, selectElement.children[index]); + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + items: function items(event) { + var items = event.detail.items; + + while (selectElement.length !== 0) { + selectElement.remove(0); + } + + var _iterator16 = _createForOfIteratorHelper(items), + _step16; + + try { + for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) { + var item = _step16.value; + var displayValue = item.displayValue, + exportValue = item.exportValue; + var optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + selectElement.appendChild(optionElement); + } + } catch (err) { + _iterator16.e(err); + } finally { + _iterator16.f(); + } + + if (selectElement.options.length > 0) { + selectElement.options[0].selected = true; + } + + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + indices: function indices(event) { + var indices = new Set(event.detail.indices); + + var _iterator17 = _createForOfIteratorHelper(event.target.options), + _step17; + + try { + for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) { + var option = _step17.value; + option.selected = indices.has(option.index); + } + } catch (err) { + _iterator17.e(err); + } finally { + _iterator17.f(); + } + + storage.setValue(id, { + value: getValue(event, true) + }); + }, + editable: function editable(event) { + event.target.disabled = !event.detail.editable; + } + }; + + _this10._dispatchEventFromSandbox(actions, jsEvent); + }); + selectElement.addEventListener("input", function (event) { + var _this10$linkService$e; + + var exportValue = getValue(event, true); + var value = getValue(event, false); + storage.setValue(id, { + value: exportValue + }); + (_this10$linkService$e = _this10.linkService.eventBus) === null || _this10$linkService$e === void 0 ? void 0 : _this10$linkService$e.dispatch("dispatcheventinsandbox", { + source: _this10, + detail: { + id: id, + name: "Keystroke", + value: value, + changeEx: exportValue, + willCommit: true, + commitKey: 1, + keyDown: false + } + }); + }); + + this._setEventListeners(selectElement, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"], ["input", "Action"]], function (event) { + return event.target.checked; + }); + } else { + selectElement.addEventListener("input", function (event) { + storage.setValue(id, { + value: getValue(event, true) + }); + }); + } + + this._setBackgroundColor(selectElement); + + this._setDefaultPropertiesFromJS(selectElement); + + this.container.appendChild(selectElement); + return this.container; + } + }]); + + return ChoiceWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) { + _inherits(PopupAnnotationElement, _AnnotationElement4); + + var _super9 = _createSuper(PopupAnnotationElement); + + function PopupAnnotationElement(parameters) { + var _parameters$data$titl2, _parameters$data$cont2, _parameters$data$rich2; + + _classCallCheck(this, PopupAnnotationElement); + + var isRenderable = !!((_parameters$data$titl2 = parameters.data.titleObj) !== null && _parameters$data$titl2 !== void 0 && _parameters$data$titl2.str || (_parameters$data$cont2 = parameters.data.contentsObj) !== null && _parameters$data$cont2 !== void 0 && _parameters$data$cont2.str || (_parameters$data$rich2 = parameters.data.richText) !== null && _parameters$data$rich2 !== void 0 && _parameters$data$rich2.str); + return _super9.call(this, parameters, { + isRenderable: isRenderable + }); + } + + _createClass(PopupAnnotationElement, [{ + key: "render", + value: function render() { + var IGNORE_TYPES = ["Line", "Square", "Circle", "PolyLine", "Polygon", "Ink"]; + this.container.className = "popupAnnotation"; + + if (IGNORE_TYPES.includes(this.data.parentType)) { + return this.container; + } + + var selector = "[data-annotation-id=\"".concat(this.data.parentId, "\"]"); + var parentElements = this.layer.querySelectorAll(selector); + + if (parentElements.length === 0) { + return this.container; + } + + var popup = new PopupElement({ + container: this.container, + trigger: Array.from(parentElements), + color: this.data.color, + titleObj: this.data.titleObj, + modificationDate: this.data.modificationDate, + contentsObj: this.data.contentsObj, + richText: this.data.richText + }); + var page = this.page; + + var rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]); + + var popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0]; + var popupTop = rect[1]; + this.container.style.transformOrigin = "".concat(-popupLeft, "px ").concat(-popupTop, "px"); + this.container.style.left = "".concat(popupLeft, "px"); + this.container.style.top = "".concat(popupTop, "px"); + this.container.appendChild(popup.render()); + return this.container; + } + }]); + + return PopupAnnotationElement; +}(AnnotationElement); + +var PopupElement = /*#__PURE__*/function () { + function PopupElement(parameters) { + _classCallCheck(this, PopupElement); + + this.container = parameters.container; + this.trigger = parameters.trigger; + this.color = parameters.color; + this.titleObj = parameters.titleObj; + this.modificationDate = parameters.modificationDate; + this.contentsObj = parameters.contentsObj; + this.richText = parameters.richText; + this.hideWrapper = parameters.hideWrapper || false; + this.pinned = false; + } + + _createClass(PopupElement, [{ + key: "render", + value: function render() { + var _this$richText, _this$contentsObj; + + var BACKGROUND_ENLIGHT = 0.7; + var wrapper = document.createElement("div"); + wrapper.className = "popupWrapper"; + this.hideElement = this.hideWrapper ? wrapper : this.container; + this.hideElement.hidden = true; + var popup = document.createElement("div"); + popup.className = "popup"; + var color = this.color; + + if (color) { + var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0]; + var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1]; + var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2]; + popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0); + } + + var title = document.createElement("h1"); + title.dir = this.titleObj.dir; + title.textContent = this.titleObj.str; + popup.appendChild(title); + + var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate); + + if (dateObject) { + var modificationDate = document.createElement("span"); + modificationDate.className = "popupDate"; + modificationDate.textContent = "{{date}}, {{time}}"; + modificationDate.dataset.l10nId = "annotation_date_string"; + modificationDate.dataset.l10nArgs = JSON.stringify({ + date: dateObject.toLocaleDateString(), + time: dateObject.toLocaleTimeString() + }); + popup.appendChild(modificationDate); + } + + if ((_this$richText = this.richText) !== null && _this$richText !== void 0 && _this$richText.str && (!((_this$contentsObj = this.contentsObj) !== null && _this$contentsObj !== void 0 && _this$contentsObj.str) || this.contentsObj.str === this.richText.str)) { + _xfa_layer.XfaLayer.render({ + xfaHtml: this.richText.html, + intent: "richText", + div: popup + }); + + popup.lastChild.className = "richText popupContent"; + } else { + var contents = this._formatContents(this.contentsObj); + + popup.appendChild(contents); + } + + if (!Array.isArray(this.trigger)) { + this.trigger = [this.trigger]; + } + + var _iterator18 = _createForOfIteratorHelper(this.trigger), + _step18; + + try { + for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) { + var element = _step18.value; + element.addEventListener("click", this._toggle.bind(this)); + element.addEventListener("mouseover", this._show.bind(this, false)); + element.addEventListener("mouseout", this._hide.bind(this, false)); + } + } catch (err) { + _iterator18.e(err); + } finally { + _iterator18.f(); + } + + popup.addEventListener("click", this._hide.bind(this, true)); + wrapper.appendChild(popup); + return wrapper; + } + }, { + key: "_formatContents", + value: function _formatContents(_ref2) { + var str = _ref2.str, + dir = _ref2.dir; + var p = document.createElement("p"); + p.className = "popupContent"; + p.dir = dir; + var lines = str.split(/(?:\r\n?|\n)/); + + for (var i = 0, ii = lines.length; i < ii; ++i) { + var line = lines[i]; + p.appendChild(document.createTextNode(line)); + + if (i < ii - 1) { + p.appendChild(document.createElement("br")); + } + } + + return p; + } + }, { + key: "_toggle", + value: function _toggle() { + if (this.pinned) { + this._hide(true); + } else { + this._show(true); + } + } + }, { + key: "_show", + value: function _show() { + var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (pin) { + this.pinned = true; + } + + if (this.hideElement.hidden) { + this.hideElement.hidden = false; + this.container.style.zIndex += 1; + } + } + }, { + key: "_hide", + value: function _hide() { + var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + + if (unpin) { + this.pinned = false; + } + + if (!this.hideElement.hidden && !this.pinned) { + this.hideElement.hidden = true; + this.container.style.zIndex -= 1; + } + } + }]); + + return PopupElement; +}(); + +var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) { + _inherits(FreeTextAnnotationElement, _AnnotationElement5); + + var _super10 = _createSuper(FreeTextAnnotationElement); + + function FreeTextAnnotationElement(parameters) { + var _parameters$data$titl3, _parameters$data$cont3, _parameters$data$rich3; + + _classCallCheck(this, FreeTextAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl3 = parameters.data.titleObj) !== null && _parameters$data$titl3 !== void 0 && _parameters$data$titl3.str || (_parameters$data$cont3 = parameters.data.contentsObj) !== null && _parameters$data$cont3 !== void 0 && _parameters$data$cont3.str || (_parameters$data$rich3 = parameters.data.richText) !== null && _parameters$data$rich3 !== void 0 && _parameters$data$rich3.str); + return _super10.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(FreeTextAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "freeTextAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return FreeTextAnnotationElement; +}(AnnotationElement); + +var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) { + _inherits(LineAnnotationElement, _AnnotationElement6); + + var _super11 = _createSuper(LineAnnotationElement); + + function LineAnnotationElement(parameters) { + var _parameters$data$titl4, _parameters$data$cont4, _parameters$data$rich4; + + _classCallCheck(this, LineAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl4 = parameters.data.titleObj) !== null && _parameters$data$titl4 !== void 0 && _parameters$data$titl4.str || (_parameters$data$cont4 = parameters.data.contentsObj) !== null && _parameters$data$cont4 !== void 0 && _parameters$data$cont4.str || (_parameters$data$rich4 = parameters.data.richText) !== null && _parameters$data$rich4 !== void 0 && _parameters$data$rich4.str); + return _super11.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(LineAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "lineAnnotation"; + var data = this.data; + + var _getRectDims2 = getRectDims(data.rect), + width = _getRectDims2.width, + height = _getRectDims2.height; + + var svg = this.svgFactory.create(width, height); + var line = this.svgFactory.createElement("svg:line"); + line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]); + line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]); + line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]); + line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]); + line.setAttribute("stroke-width", data.borderStyle.width || 1); + line.setAttribute("stroke", "transparent"); + line.setAttribute("fill", "transparent"); + svg.appendChild(line); + this.container.append(svg); + + this._createPopup(line, data); + + return this.container; + } + }]); + + return LineAnnotationElement; +}(AnnotationElement); + +var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) { + _inherits(SquareAnnotationElement, _AnnotationElement7); + + var _super12 = _createSuper(SquareAnnotationElement); + + function SquareAnnotationElement(parameters) { + var _parameters$data$titl5, _parameters$data$cont5, _parameters$data$rich5; + + _classCallCheck(this, SquareAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl5 = parameters.data.titleObj) !== null && _parameters$data$titl5 !== void 0 && _parameters$data$titl5.str || (_parameters$data$cont5 = parameters.data.contentsObj) !== null && _parameters$data$cont5 !== void 0 && _parameters$data$cont5.str || (_parameters$data$rich5 = parameters.data.richText) !== null && _parameters$data$rich5 !== void 0 && _parameters$data$rich5.str); + return _super12.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(SquareAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "squareAnnotation"; + var data = this.data; + + var _getRectDims3 = getRectDims(data.rect), + width = _getRectDims3.width, + height = _getRectDims3.height; + + var svg = this.svgFactory.create(width, height); + var borderWidth = data.borderStyle.width; + var square = this.svgFactory.createElement("svg:rect"); + square.setAttribute("x", borderWidth / 2); + square.setAttribute("y", borderWidth / 2); + square.setAttribute("width", width - borderWidth); + square.setAttribute("height", height - borderWidth); + square.setAttribute("stroke-width", borderWidth || 1); + square.setAttribute("stroke", "transparent"); + square.setAttribute("fill", "transparent"); + svg.appendChild(square); + this.container.append(svg); + + this._createPopup(square, data); + + return this.container; + } + }]); + + return SquareAnnotationElement; +}(AnnotationElement); + +var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) { + _inherits(CircleAnnotationElement, _AnnotationElement8); + + var _super13 = _createSuper(CircleAnnotationElement); + + function CircleAnnotationElement(parameters) { + var _parameters$data$titl6, _parameters$data$cont6, _parameters$data$rich6; + + _classCallCheck(this, CircleAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl6 = parameters.data.titleObj) !== null && _parameters$data$titl6 !== void 0 && _parameters$data$titl6.str || (_parameters$data$cont6 = parameters.data.contentsObj) !== null && _parameters$data$cont6 !== void 0 && _parameters$data$cont6.str || (_parameters$data$rich6 = parameters.data.richText) !== null && _parameters$data$rich6 !== void 0 && _parameters$data$rich6.str); + return _super13.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(CircleAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "circleAnnotation"; + var data = this.data; + + var _getRectDims4 = getRectDims(data.rect), + width = _getRectDims4.width, + height = _getRectDims4.height; + + var svg = this.svgFactory.create(width, height); + var borderWidth = data.borderStyle.width; + var circle = this.svgFactory.createElement("svg:ellipse"); + circle.setAttribute("cx", width / 2); + circle.setAttribute("cy", height / 2); + circle.setAttribute("rx", width / 2 - borderWidth / 2); + circle.setAttribute("ry", height / 2 - borderWidth / 2); + circle.setAttribute("stroke-width", borderWidth || 1); + circle.setAttribute("stroke", "transparent"); + circle.setAttribute("fill", "transparent"); + svg.appendChild(circle); + this.container.append(svg); + + this._createPopup(circle, data); + + return this.container; + } + }]); + + return CircleAnnotationElement; +}(AnnotationElement); + +var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) { + _inherits(PolylineAnnotationElement, _AnnotationElement9); + + var _super14 = _createSuper(PolylineAnnotationElement); + + function PolylineAnnotationElement(parameters) { + var _parameters$data$titl7, _parameters$data$cont7, _parameters$data$rich7; + + var _this11; + + _classCallCheck(this, PolylineAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl7 = parameters.data.titleObj) !== null && _parameters$data$titl7 !== void 0 && _parameters$data$titl7.str || (_parameters$data$cont7 = parameters.data.contentsObj) !== null && _parameters$data$cont7 !== void 0 && _parameters$data$cont7.str || (_parameters$data$rich7 = parameters.data.richText) !== null && _parameters$data$rich7 !== void 0 && _parameters$data$rich7.str); + _this11 = _super14.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + _this11.containerClassName = "polylineAnnotation"; + _this11.svgElementName = "svg:polyline"; + return _this11; + } + + _createClass(PolylineAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = this.containerClassName; + var data = this.data; + + var _getRectDims5 = getRectDims(data.rect), + width = _getRectDims5.width, + height = _getRectDims5.height; + + var svg = this.svgFactory.create(width, height); + var points = []; + + var _iterator19 = _createForOfIteratorHelper(data.vertices), + _step19; + + try { + for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) { + var coordinate = _step19.value; + var x = coordinate.x - data.rect[0]; + var y = data.rect[3] - coordinate.y; + points.push(x + "," + y); + } + } catch (err) { + _iterator19.e(err); + } finally { + _iterator19.f(); + } + + points = points.join(" "); + var polyline = this.svgFactory.createElement(this.svgElementName); + polyline.setAttribute("points", points); + polyline.setAttribute("stroke-width", data.borderStyle.width || 1); + polyline.setAttribute("stroke", "transparent"); + polyline.setAttribute("fill", "transparent"); + svg.appendChild(polyline); + this.container.append(svg); + + this._createPopup(polyline, data); + + return this.container; + } + }]); + + return PolylineAnnotationElement; +}(AnnotationElement); + +var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) { + _inherits(PolygonAnnotationElement, _PolylineAnnotationEl); + + var _super15 = _createSuper(PolygonAnnotationElement); + + function PolygonAnnotationElement(parameters) { + var _this12; + + _classCallCheck(this, PolygonAnnotationElement); + + _this12 = _super15.call(this, parameters); + _this12.containerClassName = "polygonAnnotation"; + _this12.svgElementName = "svg:polygon"; + return _this12; + } + + return _createClass(PolygonAnnotationElement); +}(PolylineAnnotationElement); + +var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) { + _inherits(CaretAnnotationElement, _AnnotationElement10); + + var _super16 = _createSuper(CaretAnnotationElement); + + function CaretAnnotationElement(parameters) { + var _parameters$data$titl8, _parameters$data$cont8, _parameters$data$rich8; + + _classCallCheck(this, CaretAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl8 = parameters.data.titleObj) !== null && _parameters$data$titl8 !== void 0 && _parameters$data$titl8.str || (_parameters$data$cont8 = parameters.data.contentsObj) !== null && _parameters$data$cont8 !== void 0 && _parameters$data$cont8.str || (_parameters$data$rich8 = parameters.data.richText) !== null && _parameters$data$rich8 !== void 0 && _parameters$data$rich8.str); + return _super16.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(CaretAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "caretAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return CaretAnnotationElement; +}(AnnotationElement); + +var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) { + _inherits(InkAnnotationElement, _AnnotationElement11); + + var _super17 = _createSuper(InkAnnotationElement); + + function InkAnnotationElement(parameters) { + var _parameters$data$titl9, _parameters$data$cont9, _parameters$data$rich9; + + var _this13; + + _classCallCheck(this, InkAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl9 = parameters.data.titleObj) !== null && _parameters$data$titl9 !== void 0 && _parameters$data$titl9.str || (_parameters$data$cont9 = parameters.data.contentsObj) !== null && _parameters$data$cont9 !== void 0 && _parameters$data$cont9.str || (_parameters$data$rich9 = parameters.data.richText) !== null && _parameters$data$rich9 !== void 0 && _parameters$data$rich9.str); + _this13 = _super17.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + _this13.containerClassName = "inkAnnotation"; + _this13.svgElementName = "svg:polyline"; + return _this13; + } + + _createClass(InkAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = this.containerClassName; + var data = this.data; + + var _getRectDims6 = getRectDims(data.rect), + width = _getRectDims6.width, + height = _getRectDims6.height; + + var svg = this.svgFactory.create(width, height); + + var _iterator20 = _createForOfIteratorHelper(data.inkLists), + _step20; + + try { + for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) { + var inkList = _step20.value; + var points = []; + + var _iterator21 = _createForOfIteratorHelper(inkList), + _step21; + + try { + for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) { + var coordinate = _step21.value; + var x = coordinate.x - data.rect[0]; + var y = data.rect[3] - coordinate.y; + points.push("".concat(x, ",").concat(y)); + } + } catch (err) { + _iterator21.e(err); + } finally { + _iterator21.f(); + } + + points = points.join(" "); + var polyline = this.svgFactory.createElement(this.svgElementName); + polyline.setAttribute("points", points); + polyline.setAttribute("stroke-width", data.borderStyle.width || 1); + polyline.setAttribute("stroke", "transparent"); + polyline.setAttribute("fill", "transparent"); + + this._createPopup(polyline, data); + + svg.appendChild(polyline); + } + } catch (err) { + _iterator20.e(err); + } finally { + _iterator20.f(); + } + + this.container.append(svg); + return this.container; + } + }]); + + return InkAnnotationElement; +}(AnnotationElement); + +var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) { + _inherits(HighlightAnnotationElement, _AnnotationElement12); + + var _super18 = _createSuper(HighlightAnnotationElement); + + function HighlightAnnotationElement(parameters) { + var _parameters$data$titl10, _parameters$data$cont10, _parameters$data$rich10; + + _classCallCheck(this, HighlightAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl10 = parameters.data.titleObj) !== null && _parameters$data$titl10 !== void 0 && _parameters$data$titl10.str || (_parameters$data$cont10 = parameters.data.contentsObj) !== null && _parameters$data$cont10 !== void 0 && _parameters$data$cont10.str || (_parameters$data$rich10 = parameters.data.richText) !== null && _parameters$data$rich10 !== void 0 && _parameters$data$rich10.str); + return _super18.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(HighlightAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("highlightAnnotation"); + } + + this.container.className = "highlightAnnotation"; + return this.container; + } + }]); + + return HighlightAnnotationElement; +}(AnnotationElement); + +var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) { + _inherits(UnderlineAnnotationElement, _AnnotationElement13); + + var _super19 = _createSuper(UnderlineAnnotationElement); + + function UnderlineAnnotationElement(parameters) { + var _parameters$data$titl11, _parameters$data$cont11, _parameters$data$rich11; + + _classCallCheck(this, UnderlineAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl11 = parameters.data.titleObj) !== null && _parameters$data$titl11 !== void 0 && _parameters$data$titl11.str || (_parameters$data$cont11 = parameters.data.contentsObj) !== null && _parameters$data$cont11 !== void 0 && _parameters$data$cont11.str || (_parameters$data$rich11 = parameters.data.richText) !== null && _parameters$data$rich11 !== void 0 && _parameters$data$rich11.str); + return _super19.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(UnderlineAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("underlineAnnotation"); + } + + this.container.className = "underlineAnnotation"; + return this.container; + } + }]); + + return UnderlineAnnotationElement; +}(AnnotationElement); + +var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) { + _inherits(SquigglyAnnotationElement, _AnnotationElement14); + + var _super20 = _createSuper(SquigglyAnnotationElement); + + function SquigglyAnnotationElement(parameters) { + var _parameters$data$titl12, _parameters$data$cont12, _parameters$data$rich12; + + _classCallCheck(this, SquigglyAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl12 = parameters.data.titleObj) !== null && _parameters$data$titl12 !== void 0 && _parameters$data$titl12.str || (_parameters$data$cont12 = parameters.data.contentsObj) !== null && _parameters$data$cont12 !== void 0 && _parameters$data$cont12.str || (_parameters$data$rich12 = parameters.data.richText) !== null && _parameters$data$rich12 !== void 0 && _parameters$data$rich12.str); + return _super20.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(SquigglyAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("squigglyAnnotation"); + } + + this.container.className = "squigglyAnnotation"; + return this.container; + } + }]); + + return SquigglyAnnotationElement; +}(AnnotationElement); + +var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) { + _inherits(StrikeOutAnnotationElement, _AnnotationElement15); + + var _super21 = _createSuper(StrikeOutAnnotationElement); + + function StrikeOutAnnotationElement(parameters) { + var _parameters$data$titl13, _parameters$data$cont13, _parameters$data$rich13; + + _classCallCheck(this, StrikeOutAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl13 = parameters.data.titleObj) !== null && _parameters$data$titl13 !== void 0 && _parameters$data$titl13.str || (_parameters$data$cont13 = parameters.data.contentsObj) !== null && _parameters$data$cont13 !== void 0 && _parameters$data$cont13.str || (_parameters$data$rich13 = parameters.data.richText) !== null && _parameters$data$rich13 !== void 0 && _parameters$data$rich13.str); + return _super21.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(StrikeOutAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("strikeoutAnnotation"); + } + + this.container.className = "strikeoutAnnotation"; + return this.container; + } + }]); + + return StrikeOutAnnotationElement; +}(AnnotationElement); + +var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) { + _inherits(StampAnnotationElement, _AnnotationElement16); + + var _super22 = _createSuper(StampAnnotationElement); + + function StampAnnotationElement(parameters) { + var _parameters$data$titl14, _parameters$data$cont14, _parameters$data$rich14; + + _classCallCheck(this, StampAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl14 = parameters.data.titleObj) !== null && _parameters$data$titl14 !== void 0 && _parameters$data$titl14.str || (_parameters$data$cont14 = parameters.data.contentsObj) !== null && _parameters$data$cont14 !== void 0 && _parameters$data$cont14.str || (_parameters$data$rich14 = parameters.data.richText) !== null && _parameters$data$rich14 !== void 0 && _parameters$data$rich14.str); + return _super22.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(StampAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "stampAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return StampAnnotationElement; +}(AnnotationElement); + +var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) { + _inherits(FileAttachmentAnnotationElement, _AnnotationElement17); + + var _super23 = _createSuper(FileAttachmentAnnotationElement); + + function FileAttachmentAnnotationElement(parameters) { + var _this14$linkService$e; + + var _this14; + + _classCallCheck(this, FileAttachmentAnnotationElement); + + _this14 = _super23.call(this, parameters, { + isRenderable: true + }); + var _this14$data$file = _this14.data.file, + filename = _this14$data$file.filename, + content = _this14$data$file.content; + _this14.filename = (0, _display_utils.getFilenameFromUrl)(filename); + _this14.content = content; + (_this14$linkService$e = _this14.linkService.eventBus) === null || _this14$linkService$e === void 0 ? void 0 : _this14$linkService$e.dispatch("fileattachmentannotation", { + source: _assertThisInitialized(_this14), + filename: filename, + content: content + }); + return _this14; + } + + _createClass(FileAttachmentAnnotationElement, [{ + key: "render", + value: function render() { + var _this$data$titleObj, _this$data$contentsOb; + + this.container.className = "fileAttachmentAnnotation"; + var trigger = document.createElement("div"); + trigger.style.height = this.container.style.height; + trigger.style.width = this.container.style.width; + trigger.addEventListener("dblclick", this._download.bind(this)); + + if (!this.data.hasPopup && ((_this$data$titleObj = this.data.titleObj) !== null && _this$data$titleObj !== void 0 && _this$data$titleObj.str || (_this$data$contentsOb = this.data.contentsObj) !== null && _this$data$contentsOb !== void 0 && _this$data$contentsOb.str || this.data.richText)) { + this._createPopup(trigger, this.data); + } + + this.container.appendChild(trigger); + return this.container; + } + }, { + key: "_download", + value: function _download() { + var _this$downloadManager; + + (_this$downloadManager = this.downloadManager) === null || _this$downloadManager === void 0 ? void 0 : _this$downloadManager.openOrDownloadData(this.container, this.content, this.filename); + } + }]); + + return FileAttachmentAnnotationElement; +}(AnnotationElement); + +var AnnotationLayer = /*#__PURE__*/function () { + function AnnotationLayer() { + _classCallCheck(this, AnnotationLayer); + } + + _createClass(AnnotationLayer, null, [{ + key: "render", + value: function render(parameters) { + var sortedAnnotations = [], + popupAnnotations = []; + + var _iterator22 = _createForOfIteratorHelper(parameters.annotations), + _step22; + + try { + for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) { + var _data = _step22.value; + + if (!_data) { + continue; + } + + var _getRectDims7 = getRectDims(_data.rect), + width = _getRectDims7.width, + height = _getRectDims7.height; + + if (width <= 0 || height <= 0) { + continue; + } + + if (_data.annotationType === _util.AnnotationType.POPUP) { + popupAnnotations.push(_data); + continue; + } + + sortedAnnotations.push(_data); + } + } catch (err) { + _iterator22.e(err); + } finally { + _iterator22.f(); + } + + if (popupAnnotations.length) { + sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations); + } + + var div = parameters.div; + + for (var _i8 = 0, _sortedAnnotations = sortedAnnotations; _i8 < _sortedAnnotations.length; _i8++) { + var data = _sortedAnnotations[_i8]; + var element = AnnotationElementFactory.create({ + data: data, + layer: div, + page: parameters.page, + viewport: parameters.viewport, + linkService: parameters.linkService, + downloadManager: parameters.downloadManager, + imageResourcesPath: parameters.imageResourcesPath || "", + renderForms: parameters.renderForms !== false, + svgFactory: new _display_utils.DOMSVGFactory(), + annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(), + enableScripting: parameters.enableScripting, + hasJSActions: parameters.hasJSActions, + fieldObjects: parameters.fieldObjects, + mouseState: parameters.mouseState || { + isDown: false + } + }); + + if (element.isRenderable) { + var rendered = element.render(); + + if (data.hidden) { + rendered.style.visibility = "hidden"; + } + + if (Array.isArray(rendered)) { + var _iterator23 = _createForOfIteratorHelper(rendered), + _step23; + + try { + for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) { + var renderedElement = _step23.value; + div.appendChild(renderedElement); + } + } catch (err) { + _iterator23.e(err); + } finally { + _iterator23.f(); + } + } else { + if (element instanceof PopupAnnotationElement) { + div.prepend(rendered); + } else { + div.appendChild(rendered); + } + } + } + } + + _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, parameters.annotationCanvasMap); + } + }, { + key: "update", + value: function update(parameters) { + var page = parameters.page, + viewport = parameters.viewport, + annotations = parameters.annotations, + annotationCanvasMap = parameters.annotationCanvasMap, + div = parameters.div; + var transform = viewport.transform; + var matrix = "matrix(".concat(transform.join(","), ")"); + var scale, ownMatrix; + + var _iterator24 = _createForOfIteratorHelper(annotations), + _step24; + + try { + for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) { + var data = _step24.value; + var elements = div.querySelectorAll("[data-annotation-id=\"".concat(data.id, "\"]")); + + if (elements) { + var _iterator25 = _createForOfIteratorHelper(elements), + _step25; + + try { + for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) { + var element = _step25.value; + + if (data.hasOwnCanvas) { + var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]); + + if (!ownMatrix) { + scale = Math.abs(transform[0] || transform[1]); + var ownTransform = transform.slice(); + + for (var i = 0; i < 4; i++) { + ownTransform[i] = Math.sign(ownTransform[i]); + } + + ownMatrix = "matrix(".concat(ownTransform.join(","), ")"); + } + + var left = rect[0] * scale; + var top = rect[1] * scale; + element.style.left = "".concat(left, "px"); + element.style.top = "".concat(top, "px"); + element.style.transformOrigin = "".concat(-left, "px ").concat(-top, "px"); + element.style.transform = ownMatrix; + } else { + element.style.transform = matrix; + } + } + } catch (err) { + _iterator25.e(err); + } finally { + _iterator25.f(); + } + } + } + } catch (err) { + _iterator24.e(err); + } finally { + _iterator24.f(); + } + + _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, annotationCanvasMap); + + div.hidden = false; + } + }]); + + return AnnotationLayer; +}(); + +exports.AnnotationLayer = AnnotationLayer; + +function _setAnnotationCanvasMap(div, annotationCanvasMap) { + if (!annotationCanvasMap) { + return; + } + + var _iterator26 = _createForOfIteratorHelper(annotationCanvasMap), + _step26; + + try { + for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) { + var _step26$value = _slicedToArray(_step26.value, 2), + id = _step26$value[0], + canvas = _step26$value[1]; + + var element = div.querySelector("[data-annotation-id=\"".concat(id, "\"]")); + + if (!element) { + continue; + } + + var firstChild = element.firstChild; + + if (firstChild.nodeName === "CANVAS") { + element.replaceChild(canvas, firstChild); + } else { + element.insertBefore(canvas, firstChild); + } + } + } catch (err) { + _iterator26.e(err); + } finally { + _iterator26.f(); + } + + annotationCanvasMap.clear(); +} + +/***/ }), +/* 174 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.ColorConverters = void 0; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function makeColorComp(n) { + return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0"); +} + +var ColorConverters = /*#__PURE__*/function () { + function ColorConverters() { + _classCallCheck(this, ColorConverters); + } + + _createClass(ColorConverters, null, [{ + key: "CMYK_G", + value: function CMYK_G(_ref) { + var _ref2 = _slicedToArray(_ref, 4), + c = _ref2[0], + y = _ref2[1], + m = _ref2[2], + k = _ref2[3]; + + return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)]; + } + }, { + key: "G_CMYK", + value: function G_CMYK(_ref3) { + var _ref4 = _slicedToArray(_ref3, 1), + g = _ref4[0]; + + return ["CMYK", 0, 0, 0, 1 - g]; + } + }, { + key: "G_RGB", + value: function G_RGB(_ref5) { + var _ref6 = _slicedToArray(_ref5, 1), + g = _ref6[0]; + + return ["RGB", g, g, g]; + } + }, { + key: "G_HTML", + value: function G_HTML(_ref7) { + var _ref8 = _slicedToArray(_ref7, 1), + g = _ref8[0]; + + var G = makeColorComp(g); + return "#".concat(G).concat(G).concat(G); + } + }, { + key: "RGB_G", + value: function RGB_G(_ref9) { + var _ref10 = _slicedToArray(_ref9, 3), + r = _ref10[0], + g = _ref10[1], + b = _ref10[2]; + + return ["G", 0.3 * r + 0.59 * g + 0.11 * b]; + } + }, { + key: "RGB_HTML", + value: function RGB_HTML(_ref11) { + var _ref12 = _slicedToArray(_ref11, 3), + r = _ref12[0], + g = _ref12[1], + b = _ref12[2]; + + var R = makeColorComp(r); + var G = makeColorComp(g); + var B = makeColorComp(b); + return "#".concat(R).concat(G).concat(B); + } + }, { + key: "T_HTML", + value: function T_HTML() { + return "#00000000"; + } + }, { + key: "CMYK_RGB", + value: function CMYK_RGB(_ref13) { + var _ref14 = _slicedToArray(_ref13, 4), + c = _ref14[0], + y = _ref14[1], + m = _ref14[2], + k = _ref14[3]; + + return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)]; + } + }, { + key: "CMYK_HTML", + value: function CMYK_HTML(components) { + return this.RGB_HTML(this.CMYK_RGB(components)); + } + }, { + key: "RGB_CMYK", + value: function RGB_CMYK(_ref15) { + var _ref16 = _slicedToArray(_ref15, 3), + r = _ref16[0], + g = _ref16[1], + b = _ref16[2]; + + var c = 1 - r; + var m = 1 - g; + var y = 1 - b; + var k = Math.min(c, m, y); + return ["CMYK", c, m, y, k]; + } + }]); + + return ColorConverters; +}(); + +exports.ColorConverters = ColorConverters; + +/***/ }), +/* 175 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaLayer = void 0; + +var _xfa_text = __w_pdfjs_require__(171); + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var XfaLayer = /*#__PURE__*/function () { + function XfaLayer() { + _classCallCheck(this, XfaLayer); + } + + _createClass(XfaLayer, null, [{ + key: "setupStorage", + value: function setupStorage(html, id, element, storage, intent) { + var storedData = storage.getValue(id, { + value: null + }); + + switch (element.name) { + case "textarea": + if (storedData.value !== null) { + html.textContent = storedData.value; + } + + if (intent === "print") { + break; + } + + html.addEventListener("input", function (event) { + storage.setValue(id, { + value: event.target.value + }); + }); + break; + + case "input": + if (element.attributes.type === "radio" || element.attributes.type === "checkbox") { + if (storedData.value === element.attributes.xfaOn) { + html.setAttribute("checked", true); + } else if (storedData.value === element.attributes.xfaOff) { + html.removeAttribute("checked"); + } + + if (intent === "print") { + break; + } + + html.addEventListener("change", function (event) { + storage.setValue(id, { + value: event.target.checked ? event.target.getAttribute("xfaOn") : event.target.getAttribute("xfaOff") + }); + }); + } else { + if (storedData.value !== null) { + html.setAttribute("value", storedData.value); + } + + if (intent === "print") { + break; + } + + html.addEventListener("input", function (event) { + storage.setValue(id, { + value: event.target.value + }); + }); + } + + break; + + case "select": + if (storedData.value !== null) { + var _iterator = _createForOfIteratorHelper(element.children), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var option = _step.value; + + if (option.attributes.value === storedData.value) { + option.attributes.selected = true; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + html.addEventListener("input", function (event) { + var options = event.target.options; + var value = options.selectedIndex === -1 ? "" : options[options.selectedIndex].value; + storage.setValue(id, { + value: value + }); + }); + break; + } + } + }, { + key: "setAttributes", + value: function setAttributes(_ref) { + var html = _ref.html, + element = _ref.element, + _ref$storage = _ref.storage, + storage = _ref$storage === void 0 ? null : _ref$storage, + intent = _ref.intent, + linkService = _ref.linkService; + var attributes = element.attributes; + var isHTMLAnchorElement = html instanceof HTMLAnchorElement; + + if (attributes.type === "radio") { + attributes.name = "".concat(attributes.name, "-").concat(intent); + } + + for (var _i = 0, _Object$entries = Object.entries(attributes); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + key = _Object$entries$_i[0], + value = _Object$entries$_i[1]; + + if (value === null || value === undefined || key === "dataId") { + continue; + } + + if (key !== "style") { + if (key === "textContent") { + html.textContent = value; + } else if (key === "class") { + if (value.length) { + html.setAttribute(key, value.join(" ")); + } + } else { + if (isHTMLAnchorElement && (key === "href" || key === "newWindow")) { + continue; + } + + html.setAttribute(key, value); + } + } else { + Object.assign(html.style, value); + } + } + + if (isHTMLAnchorElement) { + linkService.addLinkAttributes(html, attributes.href, attributes.newWindow); + } + + if (storage && attributes.dataId) { + this.setupStorage(html, attributes.dataId, element, storage); + } + } + }, { + key: "render", + value: function render(parameters) { + var storage = parameters.annotationStorage; + var linkService = parameters.linkService; + var root = parameters.xfaHtml; + var intent = parameters.intent || "display"; + var rootHtml = document.createElement(root.name); + + if (root.attributes) { + this.setAttributes({ + html: rootHtml, + element: root, + intent: intent, + linkService: linkService + }); + } + + var stack = [[root, -1, rootHtml]]; + var rootDiv = parameters.div; + rootDiv.appendChild(rootHtml); + + if (parameters.viewport) { + var transform = "matrix(".concat(parameters.viewport.transform.join(","), ")"); + rootDiv.style.transform = transform; + } + + if (intent !== "richText") { + rootDiv.setAttribute("class", "xfaLayer xfaFont"); + } + + var textDivs = []; + + while (stack.length > 0) { + var _child$attributes; + + var _stack = _slicedToArray(stack[stack.length - 1], 3), + parent = _stack[0], + i = _stack[1], + html = _stack[2]; + + if (i + 1 === parent.children.length) { + stack.pop(); + continue; + } + + var child = parent.children[++stack[stack.length - 1][1]]; + + if (child === null) { + continue; + } + + var name = child.name; + + if (name === "#text") { + var node = document.createTextNode(child.value); + textDivs.push(node); + html.appendChild(node); + continue; + } + + var childHtml = void 0; + + if (child !== null && child !== void 0 && (_child$attributes = child.attributes) !== null && _child$attributes !== void 0 && _child$attributes.xmlns) { + childHtml = document.createElementNS(child.attributes.xmlns, name); + } else { + childHtml = document.createElement(name); + } + + html.appendChild(childHtml); + + if (child.attributes) { + this.setAttributes({ + html: childHtml, + element: child, + storage: storage, + intent: intent, + linkService: linkService + }); + } + + if (child.children && child.children.length > 0) { + stack.push([child, -1, childHtml]); + } else if (child.value) { + var _node = document.createTextNode(child.value); + + if (_xfa_text.XfaText.shouldBuildText(name)) { + textDivs.push(_node); + } + + childHtml.appendChild(_node); + } + } + + var _iterator2 = _createForOfIteratorHelper(rootDiv.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea")), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var el = _step2.value; + el.setAttribute("readOnly", true); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return { + textDivs: textDivs + }; + } + }, { + key: "update", + value: function update(parameters) { + var transform = "matrix(".concat(parameters.viewport.transform.join(","), ")"); + parameters.div.style.transform = transform; + parameters.div.hidden = false; + } + }]); + + return XfaLayer; +}(); + +exports.XfaLayer = XfaLayer; + +/***/ }), +/* 176 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.renderTextLayer = renderTextLayer; + +var _util = __w_pdfjs_require__(1); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +var MAX_TEXT_DIVS_TO_RENDER = 100000; +var DEFAULT_FONT_SIZE = 30; +var DEFAULT_FONT_ASCENT = 0.8; +var ascentCache = new Map(); +var AllWhitespaceRegexp = /^\s+$/g; + +function getAscent(fontFamily, ctx) { + var cachedAscent = ascentCache.get(fontFamily); + + if (cachedAscent) { + return cachedAscent; + } + + ctx.save(); + ctx.font = "".concat(DEFAULT_FONT_SIZE, "px ").concat(fontFamily); + var metrics = ctx.measureText(""); + var ascent = metrics.fontBoundingBoxAscent; + var descent = Math.abs(metrics.fontBoundingBoxDescent); + + if (ascent) { + ctx.restore(); + var ratio = ascent / (ascent + descent); + ascentCache.set(fontFamily, ratio); + return ratio; + } + + ctx.strokeStyle = "red"; + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("g", 0, 0); + var pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + descent = 0; + + for (var i = pixels.length - 1 - 3; i >= 0; i -= 4) { + if (pixels[i] > 0) { + descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("A", 0, DEFAULT_FONT_SIZE); + pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + ascent = 0; + + for (var _i = 0, ii = pixels.length; _i < ii; _i += 4) { + if (pixels[_i] > 0) { + ascent = DEFAULT_FONT_SIZE - Math.floor(_i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + + ctx.restore(); + + if (ascent) { + var _ratio = ascent / (ascent + descent); + + ascentCache.set(fontFamily, _ratio); + return _ratio; + } + + ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT); + return DEFAULT_FONT_ASCENT; +} + +function appendText(task, geom, styles, ctx) { + var textDiv = document.createElement("span"); + var textDivProperties = task._enhanceTextSelection ? { + angle: 0, + canvasWidth: 0, + hasText: geom.str !== "", + hasEOL: geom.hasEOL, + originalTransform: null, + paddingBottom: 0, + paddingLeft: 0, + paddingRight: 0, + paddingTop: 0, + scale: 1 + } : { + angle: 0, + canvasWidth: 0, + hasText: geom.str !== "", + hasEOL: geom.hasEOL + }; + + task._textDivs.push(textDiv); + + var tx = _util.Util.transform(task._viewport.transform, geom.transform); + + var angle = Math.atan2(tx[1], tx[0]); + var style = styles[geom.fontName]; + + if (style.vertical) { + angle += Math.PI / 2; + } + + var fontHeight = Math.hypot(tx[2], tx[3]); + var fontAscent = fontHeight * getAscent(style.fontFamily, ctx); + var left, top; + + if (angle === 0) { + left = tx[4]; + top = tx[5] - fontAscent; + } else { + left = tx[4] + fontAscent * Math.sin(angle); + top = tx[5] - fontAscent * Math.cos(angle); + } + + textDiv.style.left = "".concat(left, "px"); + textDiv.style.top = "".concat(top, "px"); + textDiv.style.fontSize = "".concat(fontHeight, "px"); + textDiv.style.fontFamily = style.fontFamily; + textDiv.setAttribute("role", "presentation"); + textDiv.textContent = geom.str; + textDiv.dir = geom.dir; + + if (task._fontInspectorEnabled) { + textDiv.dataset.fontName = geom.fontName; + } + + if (angle !== 0) { + textDivProperties.angle = angle * (180 / Math.PI); + } + + var shouldScaleText = false; + + if (geom.str.length > 1 || task._enhanceTextSelection && AllWhitespaceRegexp.test(geom.str)) { + shouldScaleText = true; + } else if (geom.str !== " " && geom.transform[0] !== geom.transform[3]) { + var absScaleX = Math.abs(geom.transform[0]), + absScaleY = Math.abs(geom.transform[3]); + + if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) { + shouldScaleText = true; + } + } + + if (shouldScaleText) { + if (style.vertical) { + textDivProperties.canvasWidth = geom.height * task._viewport.scale; + } else { + textDivProperties.canvasWidth = geom.width * task._viewport.scale; + } + } + + task._textDivProperties.set(textDiv, textDivProperties); + + if (task._textContentStream) { + task._layoutText(textDiv); + } + + if (task._enhanceTextSelection && textDivProperties.hasText) { + var angleCos = 1, + angleSin = 0; + + if (angle !== 0) { + angleCos = Math.cos(angle); + angleSin = Math.sin(angle); + } + + var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale; + var divHeight = fontHeight; + var m, b; + + if (angle !== 0) { + m = [angleCos, angleSin, -angleSin, angleCos, left, top]; + b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m); + } else { + b = [left, top, left + divWidth, top + divHeight]; + } + + task._bounds.push({ + left: b[0], + top: b[1], + right: b[2], + bottom: b[3], + div: textDiv, + size: [divWidth, divHeight], + m: m + }); + } +} + +function render(task) { + if (task._canceled) { + return; + } + + var textDivs = task._textDivs; + var capability = task._capability; + var textDivsLength = textDivs.length; + + if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) { + task._renderingDone = true; + capability.resolve(); + return; + } + + if (!task._textContentStream) { + for (var i = 0; i < textDivsLength; i++) { + task._layoutText(textDivs[i]); + } + } + + task._renderingDone = true; + capability.resolve(); +} + +function findPositiveMin(ts, offset, count) { + var result = 0; + + for (var i = 0; i < count; i++) { + var t = ts[offset++]; + + if (t > 0) { + result = result ? Math.min(t, result) : t; + } + } + + return result; +} + +function expand(task) { + var bounds = task._bounds; + var viewport = task._viewport; + var expanded = expandBounds(viewport.width, viewport.height, bounds); + + for (var i = 0; i < expanded.length; i++) { + var div = bounds[i].div; + + var divProperties = task._textDivProperties.get(div); + + if (divProperties.angle === 0) { + divProperties.paddingLeft = bounds[i].left - expanded[i].left; + divProperties.paddingTop = bounds[i].top - expanded[i].top; + divProperties.paddingRight = expanded[i].right - bounds[i].right; + divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom; + + task._textDivProperties.set(div, divProperties); + + continue; + } + + var e = expanded[i], + b = bounds[i]; + var m = b.m, + c = m[0], + s = m[1]; + var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size]; + var ts = new Float64Array(64); + + for (var j = 0, jj = points.length; j < jj; j++) { + var t = _util.Util.applyTransform(points[j], m); + + ts[j + 0] = c && (e.left - t[0]) / c; + ts[j + 4] = s && (e.top - t[1]) / s; + ts[j + 8] = c && (e.right - t[0]) / c; + ts[j + 12] = s && (e.bottom - t[1]) / s; + ts[j + 16] = s && (e.left - t[0]) / -s; + ts[j + 20] = c && (e.top - t[1]) / c; + ts[j + 24] = s && (e.right - t[0]) / -s; + ts[j + 28] = c && (e.bottom - t[1]) / c; + ts[j + 32] = c && (e.left - t[0]) / -c; + ts[j + 36] = s && (e.top - t[1]) / -s; + ts[j + 40] = c && (e.right - t[0]) / -c; + ts[j + 44] = s && (e.bottom - t[1]) / -s; + ts[j + 48] = s && (e.left - t[0]) / s; + ts[j + 52] = c && (e.top - t[1]) / -c; + ts[j + 56] = s && (e.right - t[0]) / s; + ts[j + 60] = c && (e.bottom - t[1]) / -c; + } + + var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s)); + divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale; + divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale; + divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale; + divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale; + + task._textDivProperties.set(div, divProperties); + } +} + +function expandBounds(width, height, boxes) { + var bounds = boxes.map(function (box, i) { + return { + x1: box.left, + y1: box.top, + x2: box.right, + y2: box.bottom, + index: i, + x1New: undefined, + x2New: undefined + }; + }); + expandBoundsLTR(width, bounds); + var expanded = new Array(boxes.length); + + var _iterator = _createForOfIteratorHelper(bounds), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var b = _step.value; + var i = b.index; + expanded[i] = { + left: b.x1New, + top: 0, + right: b.x2New, + bottom: 0 + }; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + boxes.map(function (box, i) { + var e = expanded[i], + b = bounds[i]; + b.x1 = box.top; + b.y1 = width - e.right; + b.x2 = box.bottom; + b.y2 = width - e.left; + b.index = i; + b.x1New = undefined; + b.x2New = undefined; + }); + expandBoundsLTR(height, bounds); + + var _iterator2 = _createForOfIteratorHelper(bounds), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _b = _step2.value; + var _i2 = _b.index; + expanded[_i2].top = _b.x1New; + expanded[_i2].bottom = _b.x2New; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return expanded; +} + +function expandBoundsLTR(width, bounds) { + bounds.sort(function (a, b) { + return a.x1 - b.x1 || a.index - b.index; + }); + var fakeBoundary = { + x1: -Infinity, + y1: -Infinity, + x2: 0, + y2: Infinity, + index: -1, + x1New: 0, + x2New: 0 + }; + var horizon = [{ + start: -Infinity, + end: Infinity, + boundary: fakeBoundary + }]; + + var _iterator3 = _createForOfIteratorHelper(bounds), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var boundary = _step3.value; + var i = 0; + + while (i < horizon.length && horizon[i].end <= boundary.y1) { + i++; + } + + var j = horizon.length - 1; + + while (j >= 0 && horizon[j].start >= boundary.y2) { + j--; + } + + var _horizonPart = void 0, + _affectedBoundary = void 0; + + var q = void 0, + k = void 0, + maxXNew = -Infinity; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + var xNew = void 0; + + if (_affectedBoundary.x2 > boundary.x1) { + xNew = _affectedBoundary.index > boundary.index ? _affectedBoundary.x1New : boundary.x1; + } else if (_affectedBoundary.x2New === undefined) { + xNew = (_affectedBoundary.x2 + boundary.x1) / 2; + } else { + xNew = _affectedBoundary.x2New; + } + + if (xNew > maxXNew) { + maxXNew = xNew; + } + } + + boundary.x1New = maxXNew; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + + if (_affectedBoundary.x2New === undefined) { + if (_affectedBoundary.x2 > boundary.x1) { + if (_affectedBoundary.index > boundary.index) { + _affectedBoundary.x2New = _affectedBoundary.x2; + } + } else { + _affectedBoundary.x2New = maxXNew; + } + } else if (_affectedBoundary.x2New > maxXNew) { + _affectedBoundary.x2New = Math.max(maxXNew, _affectedBoundary.x2); + } + } + + var changedHorizon = []; + var lastBoundary = null; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + var useBoundary = _affectedBoundary.x2 > boundary.x2 ? _affectedBoundary : boundary; + + if (lastBoundary === useBoundary) { + changedHorizon[changedHorizon.length - 1].end = _horizonPart.end; + } else { + changedHorizon.push({ + start: _horizonPart.start, + end: _horizonPart.end, + boundary: useBoundary + }); + lastBoundary = useBoundary; + } + } + + if (horizon[i].start < boundary.y1) { + changedHorizon[0].start = boundary.y1; + changedHorizon.unshift({ + start: horizon[i].start, + end: boundary.y1, + boundary: horizon[i].boundary + }); + } + + if (boundary.y2 < horizon[j].end) { + changedHorizon[changedHorizon.length - 1].end = boundary.y2; + changedHorizon.push({ + start: boundary.y2, + end: horizon[j].end, + boundary: horizon[j].boundary + }); + } + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + + if (_affectedBoundary.x2New !== undefined) { + continue; + } + + var used = false; + + for (k = i - 1; !used && k >= 0 && horizon[k].start >= _affectedBoundary.y1; k--) { + used = horizon[k].boundary === _affectedBoundary; + } + + for (k = j + 1; !used && k < horizon.length && horizon[k].end <= _affectedBoundary.y2; k++) { + used = horizon[k].boundary === _affectedBoundary; + } + + for (k = 0; !used && k < changedHorizon.length; k++) { + used = changedHorizon[k].boundary === _affectedBoundary; + } + + if (!used) { + _affectedBoundary.x2New = maxXNew; + } + } + + Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon)); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + for (var _i3 = 0, _horizon = horizon; _i3 < _horizon.length; _i3++) { + var horizonPart = _horizon[_i3]; + var affectedBoundary = horizonPart.boundary; + + if (affectedBoundary.x2New === undefined) { + affectedBoundary.x2New = Math.max(width, affectedBoundary.x2); + } + } +} + +var TextLayerRenderTask = /*#__PURE__*/function () { + function TextLayerRenderTask(_ref) { + var _globalThis$FontInspe, + _this = this; + + var textContent = _ref.textContent, + textContentStream = _ref.textContentStream, + container = _ref.container, + viewport = _ref.viewport, + textDivs = _ref.textDivs, + textContentItemsStr = _ref.textContentItemsStr, + enhanceTextSelection = _ref.enhanceTextSelection; + + _classCallCheck(this, TextLayerRenderTask); + + this._textContent = textContent; + this._textContentStream = textContentStream; + this._container = container; + this._document = container.ownerDocument; + this._viewport = viewport; + this._textDivs = textDivs || []; + this._textContentItemsStr = textContentItemsStr || []; + this._enhanceTextSelection = !!enhanceTextSelection; + this._fontInspectorEnabled = !!((_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled); + this._reader = null; + this._layoutTextLastFontSize = null; + this._layoutTextLastFontFamily = null; + this._layoutTextCtx = null; + this._textDivProperties = new WeakMap(); + this._renderingDone = false; + this._canceled = false; + this._capability = (0, _util.createPromiseCapability)(); + this._renderTimer = null; + this._bounds = []; + + this._capability.promise["finally"](function () { + if (!_this._enhanceTextSelection) { + _this._textDivProperties = null; + } + + if (_this._layoutTextCtx) { + _this._layoutTextCtx.canvas.width = 0; + _this._layoutTextCtx.canvas.height = 0; + _this._layoutTextCtx = null; + } + })["catch"](function () {}); + } + + _createClass(TextLayerRenderTask, [{ + key: "promise", + get: function get() { + return this._capability.promise; + } + }, { + key: "cancel", + value: function cancel() { + this._canceled = true; + + if (this._reader) { + this._reader.cancel(new _util.AbortException("TextLayer task cancelled."))["catch"](function () {}); + + this._reader = null; + } + + if (this._renderTimer !== null) { + clearTimeout(this._renderTimer); + this._renderTimer = null; + } + + this._capability.reject(new Error("TextLayer task cancelled.")); + } + }, { + key: "_processItems", + value: function _processItems(items, styleCache) { + for (var i = 0, len = items.length; i < len; i++) { + if (items[i].str === undefined) { + if (items[i].type === "beginMarkedContentProps" || items[i].type === "beginMarkedContent") { + var parent = this._container; + this._container = document.createElement("span"); + + this._container.classList.add("markedContent"); + + if (items[i].id !== null) { + this._container.setAttribute("id", "".concat(items[i].id)); + } + + parent.appendChild(this._container); + } else if (items[i].type === "endMarkedContent") { + this._container = this._container.parentNode; + } + + continue; + } + + this._textContentItemsStr.push(items[i].str); + + appendText(this, items[i], styleCache, this._layoutTextCtx); + } + } + }, { + key: "_layoutText", + value: function _layoutText(textDiv) { + var textDivProperties = this._textDivProperties.get(textDiv); + + var transform = ""; + + if (textDivProperties.canvasWidth !== 0 && textDivProperties.hasText) { + var _textDiv$style = textDiv.style, + fontSize = _textDiv$style.fontSize, + fontFamily = _textDiv$style.fontFamily; + + if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) { + this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily); + this._layoutTextLastFontSize = fontSize; + this._layoutTextLastFontFamily = fontFamily; + } + + var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent), + width = _this$_layoutTextCtx$.width; + + if (width > 0) { + var scale = textDivProperties.canvasWidth / width; + + if (this._enhanceTextSelection) { + textDivProperties.scale = scale; + } + + transform = "scaleX(".concat(scale, ")"); + } + } + + if (textDivProperties.angle !== 0) { + transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform); + } + + if (transform.length > 0) { + if (this._enhanceTextSelection) { + textDivProperties.originalTransform = transform; + } + + textDiv.style.transform = transform; + } + + if (textDivProperties.hasText) { + this._container.appendChild(textDiv); + } + + if (textDivProperties.hasEOL) { + var br = document.createElement("br"); + br.setAttribute("role", "presentation"); + + this._container.appendChild(br); + } + } + }, { + key: "_render", + value: function _render() { + var _this2 = this; + + var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var capability = (0, _util.createPromiseCapability)(); + var styleCache = Object.create(null); + + var canvas = this._document.createElement("canvas"); + + canvas.height = canvas.width = DEFAULT_FONT_SIZE; + this._layoutTextCtx = canvas.getContext("2d", { + alpha: false + }); + + if (this._textContent) { + var textItems = this._textContent.items; + var textStyles = this._textContent.styles; + + this._processItems(textItems, textStyles); + + capability.resolve(); + } else if (this._textContentStream) { + var pump = function pump() { + _this2._reader.read().then(function (_ref2) { + var value = _ref2.value, + done = _ref2.done; + + if (done) { + capability.resolve(); + return; + } + + Object.assign(styleCache, value.styles); + + _this2._processItems(value.items, styleCache); + + pump(); + }, capability.reject); + }; + + this._reader = this._textContentStream.getReader(); + pump(); + } else { + throw new Error('Neither "textContent" nor "textContentStream" parameters specified.'); + } + + capability.promise.then(function () { + styleCache = null; + + if (!timeout) { + render(_this2); + } else { + _this2._renderTimer = setTimeout(function () { + render(_this2); + _this2._renderTimer = null; + }, timeout); + } + }, this._capability.reject); + } + }, { + key: "expandTextDivs", + value: function expandTextDivs() { + var expandDivs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this._enhanceTextSelection || !this._renderingDone) { + return; + } + + if (this._bounds !== null) { + expand(this); + this._bounds = null; + } + + var transformBuf = [], + paddingBuf = []; + + for (var i = 0, ii = this._textDivs.length; i < ii; i++) { + var div = this._textDivs[i]; + + var divProps = this._textDivProperties.get(div); + + if (!divProps.hasText) { + continue; + } + + if (expandDivs) { + transformBuf.length = 0; + paddingBuf.length = 0; + + if (divProps.originalTransform) { + transformBuf.push(divProps.originalTransform); + } + + if (divProps.paddingTop > 0) { + paddingBuf.push("".concat(divProps.paddingTop, "px")); + transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)")); + } else { + paddingBuf.push(0); + } + + if (divProps.paddingRight > 0) { + paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px")); + } else { + paddingBuf.push(0); + } + + if (divProps.paddingBottom > 0) { + paddingBuf.push("".concat(divProps.paddingBottom, "px")); + } else { + paddingBuf.push(0); + } + + if (divProps.paddingLeft > 0) { + paddingBuf.push("".concat(divProps.paddingLeft / divProps.scale, "px")); + transformBuf.push("translateX(".concat(-divProps.paddingLeft / divProps.scale, "px)")); + } else { + paddingBuf.push(0); + } + + div.style.padding = paddingBuf.join(" "); + + if (transformBuf.length) { + div.style.transform = transformBuf.join(" "); + } + } else { + div.style.padding = null; + div.style.transform = divProps.originalTransform; + } + } + } + }]); + + return TextLayerRenderTask; +}(); + +function renderTextLayer(renderParameters) { + var task = new TextLayerRenderTask({ + textContent: renderParameters.textContent, + textContentStream: renderParameters.textContentStream, + container: renderParameters.container, + viewport: renderParameters.viewport, + textDivs: renderParameters.textDivs, + textContentItemsStr: renderParameters.textContentItemsStr, + enhanceTextSelection: renderParameters.enhanceTextSelection + }); + + task._render(renderParameters.timeout); + + return task; +} + +/***/ }), +/* 177 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SVGGraphics = void 0; + +var _util = __w_pdfjs_require__(1); + +var _display_utils = __w_pdfjs_require__(158); + +var _is_node = __w_pdfjs_require__(3); + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var SVGGraphics = /*#__PURE__*/_createClass(function SVGGraphics() { + _classCallCheck(this, SVGGraphics); + + (0, _util.unreachable)("Not implemented: SVGGraphics"); +}); + +exports.SVGGraphics = SVGGraphics; +{ + var opListToTree = function opListToTree(opList) { + var opTree = []; + var tmp = []; + + var _iterator = _createForOfIteratorHelper(opList), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var opListElement = _step.value; + + if (opListElement.fn === "save") { + opTree.push({ + fnId: 92, + fn: "group", + items: [] + }); + tmp.push(opTree); + opTree = opTree[opTree.length - 1].items; + continue; + } + + if (opListElement.fn === "restore") { + opTree = tmp.pop(); + } else { + opTree.push(opListElement); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return opTree; + }; + + var pf = function pf(value) { + if (Number.isInteger(value)) { + return value.toString(); + } + + var s = value.toFixed(10); + var i = s.length - 1; + + if (s[i] !== "0") { + return s; + } + + do { + i--; + } while (s[i] === "0"); + + return s.substring(0, s[i] === "." ? i : i + 1); + }; + + var pm = function pm(m) { + if (m[4] === 0 && m[5] === 0) { + if (m[1] === 0 && m[2] === 0) { + if (m[0] === 1 && m[3] === 1) { + return ""; + } + + return "scale(".concat(pf(m[0]), " ").concat(pf(m[3]), ")"); + } + + if (m[0] === m[3] && m[1] === -m[2]) { + var a = Math.acos(m[0]) * 180 / Math.PI; + return "rotate(".concat(pf(a), ")"); + } + } else { + if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) { + return "translate(".concat(pf(m[4]), " ").concat(pf(m[5]), ")"); + } + } + + return "matrix(".concat(pf(m[0]), " ").concat(pf(m[1]), " ").concat(pf(m[2]), " ").concat(pf(m[3]), " ").concat(pf(m[4]), " ") + "".concat(pf(m[5]), ")"); + }; + + var SVG_DEFAULTS = { + fontStyle: "normal", + fontWeight: "normal", + fillColor: "#000000" + }; + var XML_NS = "http://www.w3.org/XML/1998/namespace"; + var XLINK_NS = "http://www.w3.org/1999/xlink"; + var LINE_CAP_STYLES = ["butt", "round", "square"]; + var LINE_JOIN_STYLES = ["miter", "round", "bevel"]; + + var createObjectURL = function createObjectURL(data) { + var contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; + var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + if (URL.createObjectURL && typeof Blob !== "undefined" && !forceDataSchema) { + return URL.createObjectURL(new Blob([data], { + type: contentType + })); + } + + var digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var buffer = "data:".concat(contentType, ";base64,"); + + for (var i = 0, ii = data.length; i < ii; i += 3) { + var b1 = data[i] & 0xff; + var b2 = data[i + 1] & 0xff; + var b3 = data[i + 2] & 0xff; + var d1 = b1 >> 2, + d2 = (b1 & 3) << 4 | b2 >> 4; + var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64; + var d4 = i + 2 < ii ? b3 & 0x3f : 64; + buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4]; + } + + return buffer; + }; + + var convertImgDataToPng = function () { + var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]); + var CHUNK_WRAPPER_SIZE = 12; + var crcTable = new Int32Array(256); + + for (var i = 0; i < 256; i++) { + var c = i; + + for (var h = 0; h < 8; h++) { + if (c & 1) { + c = 0xedb88320 ^ c >> 1 & 0x7fffffff; + } else { + c = c >> 1 & 0x7fffffff; + } + } + + crcTable[i] = c; + } + + function crc32(data, start, end) { + var crc = -1; + + for (var _i = start; _i < end; _i++) { + var a = (crc ^ data[_i]) & 0xff; + var b = crcTable[a]; + crc = crc >>> 8 ^ b; + } + + return crc ^ -1; + } + + function writePngChunk(type, body, data, offset) { + var p = offset; + var len = body.length; + data[p] = len >> 24 & 0xff; + data[p + 1] = len >> 16 & 0xff; + data[p + 2] = len >> 8 & 0xff; + data[p + 3] = len & 0xff; + p += 4; + data[p] = type.charCodeAt(0) & 0xff; + data[p + 1] = type.charCodeAt(1) & 0xff; + data[p + 2] = type.charCodeAt(2) & 0xff; + data[p + 3] = type.charCodeAt(3) & 0xff; + p += 4; + data.set(body, p); + p += body.length; + var crc = crc32(data, offset + 4, p); + data[p] = crc >> 24 & 0xff; + data[p + 1] = crc >> 16 & 0xff; + data[p + 2] = crc >> 8 & 0xff; + data[p + 3] = crc & 0xff; + } + + function adler32(data, start, end) { + var a = 1; + var b = 0; + + for (var _i2 = start; _i2 < end; ++_i2) { + a = (a + (data[_i2] & 0xff)) % 65521; + b = (b + a) % 65521; + } + + return b << 16 | a; + } + + function deflateSync(literals) { + if (!_is_node.isNodeJS) { + return deflateSyncUncompressed(literals); + } + + try { + var input; + + if (parseInt(process.versions.node) >= 8) { + input = literals; + } else { + input = Buffer.from(literals); + } + + var output = require("zlib").deflateSync(input, { + level: 9 + }); + + return output instanceof Uint8Array ? output : new Uint8Array(output); + } catch (e) { + (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e); + } + + return deflateSyncUncompressed(literals); + } + + function deflateSyncUncompressed(literals) { + var len = literals.length; + var maxBlockLength = 0xffff; + var deflateBlocks = Math.ceil(len / maxBlockLength); + var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4); + var pi = 0; + idat[pi++] = 0x78; + idat[pi++] = 0x9c; + var pos = 0; + + while (len > maxBlockLength) { + idat[pi++] = 0x00; + idat[pi++] = 0xff; + idat[pi++] = 0xff; + idat[pi++] = 0x00; + idat[pi++] = 0x00; + idat.set(literals.subarray(pos, pos + maxBlockLength), pi); + pi += maxBlockLength; + pos += maxBlockLength; + len -= maxBlockLength; + } + + idat[pi++] = 0x01; + idat[pi++] = len & 0xff; + idat[pi++] = len >> 8 & 0xff; + idat[pi++] = ~len & 0xffff & 0xff; + idat[pi++] = (~len & 0xffff) >> 8 & 0xff; + idat.set(literals.subarray(pos), pi); + pi += literals.length - pos; + var adler = adler32(literals, 0, literals.length); + idat[pi++] = adler >> 24 & 0xff; + idat[pi++] = adler >> 16 & 0xff; + idat[pi++] = adler >> 8 & 0xff; + idat[pi++] = adler & 0xff; + return idat; + } + + function encode(imgData, kind, forceDataSchema, isMask) { + var width = imgData.width; + var height = imgData.height; + var bitDepth, colorType, lineSize; + var bytes = imgData.data; + + switch (kind) { + case _util.ImageKind.GRAYSCALE_1BPP: + colorType = 0; + bitDepth = 1; + lineSize = width + 7 >> 3; + break; + + case _util.ImageKind.RGB_24BPP: + colorType = 2; + bitDepth = 8; + lineSize = width * 3; + break; + + case _util.ImageKind.RGBA_32BPP: + colorType = 6; + bitDepth = 8; + lineSize = width * 4; + break; + + default: + throw new Error("invalid format"); + } + + var literals = new Uint8Array((1 + lineSize) * height); + var offsetLiterals = 0, + offsetBytes = 0; + + for (var y = 0; y < height; ++y) { + literals[offsetLiterals++] = 0; + literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals); + offsetBytes += lineSize; + offsetLiterals += lineSize; + } + + if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) { + offsetLiterals = 0; + + for (var _y = 0; _y < height; _y++) { + offsetLiterals++; + + for (var _i3 = 0; _i3 < lineSize; _i3++) { + literals[offsetLiterals++] ^= 0xff; + } + } + } + + var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]); + var idat = deflateSync(literals); + var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length; + var data = new Uint8Array(pngLength); + var offset = 0; + data.set(PNG_HEADER, offset); + offset += PNG_HEADER.length; + writePngChunk("IHDR", ihdr, data, offset); + offset += CHUNK_WRAPPER_SIZE + ihdr.length; + writePngChunk("IDATA", idat, data, offset); + offset += CHUNK_WRAPPER_SIZE + idat.length; + writePngChunk("IEND", new Uint8Array(0), data, offset); + return createObjectURL(data, "image/png", forceDataSchema); + } + + return function convertImgDataToPng(imgData, forceDataSchema, isMask) { + var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind; + return encode(imgData, kind, forceDataSchema, isMask); + }; + }(); + + var SVGExtraState = /*#__PURE__*/function () { + function SVGExtraState() { + _classCallCheck(this, SVGExtraState); + + this.fontSizeScale = 1; + this.fontWeight = SVG_DEFAULTS.fontWeight; + this.fontSize = 0; + this.textMatrix = _util.IDENTITY_MATRIX; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textMatrixScale = 1; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRise = 0; + this.fillColor = SVG_DEFAULTS.fillColor; + this.strokeColor = "#000000"; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.lineJoin = ""; + this.lineCap = ""; + this.miterLimit = 0; + this.dashArray = []; + this.dashPhase = 0; + this.dependencies = []; + this.activeClipUrl = null; + this.clipGroup = null; + this.maskId = ""; + } + + _createClass(SVGExtraState, [{ + key: "clone", + value: function clone() { + return Object.create(this); + } + }, { + key: "setCurrentPoint", + value: function setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } + }]); + + return SVGExtraState; + }(); + + var clipCount = 0; + var maskCount = 0; + var shadingCount = 0; + + exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () { + function SVGGraphics(commonObjs, objs) { + var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + _classCallCheck(this, SVGGraphics); + + this.svgFactory = new _display_utils.DOMSVGFactory(); + this.current = new SVGExtraState(); + this.transformMatrix = _util.IDENTITY_MATRIX; + this.transformStack = []; + this.extraStack = []; + this.commonObjs = commonObjs; + this.objs = objs; + this.pendingClip = null; + this.pendingEOFill = false; + this.embedFonts = false; + this.embeddedFonts = Object.create(null); + this.cssStyle = null; + this.forceDataSchema = !!forceDataSchema; + this._operatorIdMapping = []; + + for (var op in _util.OPS) { + this._operatorIdMapping[_util.OPS[op]] = op; + } + } + + _createClass(SVGGraphics, [{ + key: "save", + value: function save() { + this.transformStack.push(this.transformMatrix); + var old = this.current; + this.extraStack.push(old); + this.current = old.clone(); + } + }, { + key: "restore", + value: function restore() { + this.transformMatrix = this.transformStack.pop(); + this.current = this.extraStack.pop(); + this.pendingClip = null; + this.tgrp = null; + } + }, { + key: "group", + value: function group(items) { + this.save(); + this.executeOpTree(items); + this.restore(); + } + }, { + key: "loadDependencies", + value: function loadDependencies(operatorList) { + var _this = this; + + var fnArray = operatorList.fnArray; + var argsArray = operatorList.argsArray; + + for (var i = 0, ii = fnArray.length; i < ii; i++) { + if (fnArray[i] !== _util.OPS.dependency) { + continue; + } + + var _iterator2 = _createForOfIteratorHelper(argsArray[i]), + _step2; + + try { + var _loop = function _loop() { + var obj = _step2.value; + var objsPool = obj.startsWith("g_") ? _this.commonObjs : _this.objs; + var promise = new Promise(function (resolve) { + objsPool.get(obj, resolve); + }); + + _this.current.dependencies.push(promise); + }; + + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + _loop(); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + + return Promise.all(this.current.dependencies); + } + }, { + key: "transform", + value: function transform(a, b, c, d, e, f) { + var transformMatrix = [a, b, c, d, e, f]; + this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix); + this.tgrp = null; + } + }, { + key: "getSVG", + value: function getSVG(operatorList, viewport) { + var _this2 = this; + + this.viewport = viewport; + + var svgElement = this._initialize(viewport); + + return this.loadDependencies(operatorList).then(function () { + _this2.transformMatrix = _util.IDENTITY_MATRIX; + + _this2.executeOpTree(_this2.convertOpList(operatorList)); + + return svgElement; + }); + } + }, { + key: "convertOpList", + value: function convertOpList(operatorList) { + var operatorIdMapping = this._operatorIdMapping; + var argsArray = operatorList.argsArray; + var fnArray = operatorList.fnArray; + var opList = []; + + for (var i = 0, ii = fnArray.length; i < ii; i++) { + var fnId = fnArray[i]; + opList.push({ + fnId: fnId, + fn: operatorIdMapping[fnId], + args: argsArray[i] + }); + } + + return opListToTree(opList); + } + }, { + key: "executeOpTree", + value: function executeOpTree(opTree) { + var _iterator3 = _createForOfIteratorHelper(opTree), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var opTreeElement = _step3.value; + var fn = opTreeElement.fn; + var fnId = opTreeElement.fnId; + var args = opTreeElement.args; + + switch (fnId | 0) { + case _util.OPS.beginText: + this.beginText(); + break; + + case _util.OPS.dependency: + break; + + case _util.OPS.setLeading: + this.setLeading(args); + break; + + case _util.OPS.setLeadingMoveText: + this.setLeadingMoveText(args[0], args[1]); + break; + + case _util.OPS.setFont: + this.setFont(args); + break; + + case _util.OPS.showText: + this.showText(args[0]); + break; + + case _util.OPS.showSpacedText: + this.showText(args[0]); + break; + + case _util.OPS.endText: + this.endText(); + break; + + case _util.OPS.moveText: + this.moveText(args[0], args[1]); + break; + + case _util.OPS.setCharSpacing: + this.setCharSpacing(args[0]); + break; + + case _util.OPS.setWordSpacing: + this.setWordSpacing(args[0]); + break; + + case _util.OPS.setHScale: + this.setHScale(args[0]); + break; + + case _util.OPS.setTextMatrix: + this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + + case _util.OPS.setTextRise: + this.setTextRise(args[0]); + break; + + case _util.OPS.setTextRenderingMode: + this.setTextRenderingMode(args[0]); + break; + + case _util.OPS.setLineWidth: + this.setLineWidth(args[0]); + break; + + case _util.OPS.setLineJoin: + this.setLineJoin(args[0]); + break; + + case _util.OPS.setLineCap: + this.setLineCap(args[0]); + break; + + case _util.OPS.setMiterLimit: + this.setMiterLimit(args[0]); + break; + + case _util.OPS.setFillRGBColor: + this.setFillRGBColor(args[0], args[1], args[2]); + break; + + case _util.OPS.setStrokeRGBColor: + this.setStrokeRGBColor(args[0], args[1], args[2]); + break; + + case _util.OPS.setStrokeColorN: + this.setStrokeColorN(args); + break; + + case _util.OPS.setFillColorN: + this.setFillColorN(args); + break; + + case _util.OPS.shadingFill: + this.shadingFill(args[0]); + break; + + case _util.OPS.setDash: + this.setDash(args[0], args[1]); + break; + + case _util.OPS.setRenderingIntent: + this.setRenderingIntent(args[0]); + break; + + case _util.OPS.setFlatness: + this.setFlatness(args[0]); + break; + + case _util.OPS.setGState: + this.setGState(args[0]); + break; + + case _util.OPS.fill: + this.fill(); + break; + + case _util.OPS.eoFill: + this.eoFill(); + break; + + case _util.OPS.stroke: + this.stroke(); + break; + + case _util.OPS.fillStroke: + this.fillStroke(); + break; + + case _util.OPS.eoFillStroke: + this.eoFillStroke(); + break; + + case _util.OPS.clip: + this.clip("nonzero"); + break; + + case _util.OPS.eoClip: + this.clip("evenodd"); + break; + + case _util.OPS.paintSolidColorImageMask: + this.paintSolidColorImageMask(); + break; + + case _util.OPS.paintImageXObject: + this.paintImageXObject(args[0]); + break; + + case _util.OPS.paintInlineImageXObject: + this.paintInlineImageXObject(args[0]); + break; + + case _util.OPS.paintImageMaskXObject: + this.paintImageMaskXObject(args[0]); + break; + + case _util.OPS.paintFormXObjectBegin: + this.paintFormXObjectBegin(args[0], args[1]); + break; + + case _util.OPS.paintFormXObjectEnd: + this.paintFormXObjectEnd(); + break; + + case _util.OPS.closePath: + this.closePath(); + break; + + case _util.OPS.closeStroke: + this.closeStroke(); + break; + + case _util.OPS.closeFillStroke: + this.closeFillStroke(); + break; + + case _util.OPS.closeEOFillStroke: + this.closeEOFillStroke(); + break; + + case _util.OPS.nextLine: + this.nextLine(); + break; + + case _util.OPS.transform: + this.transform(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + + case _util.OPS.constructPath: + this.constructPath(args[0], args[1]); + break; + + case _util.OPS.endPath: + this.endPath(); + break; + + case 92: + this.group(opTreeElement.items); + break; + + default: + (0, _util.warn)("Unimplemented operator ".concat(fn)); + break; + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + }, { + key: "setWordSpacing", + value: function setWordSpacing(wordSpacing) { + this.current.wordSpacing = wordSpacing; + } + }, { + key: "setCharSpacing", + value: function setCharSpacing(charSpacing) { + this.current.charSpacing = charSpacing; + } + }, { + key: "nextLine", + value: function nextLine() { + this.moveText(0, this.current.leading); + } + }, { + key: "setTextMatrix", + value: function setTextMatrix(a, b, c, d, e, f) { + var current = this.current; + current.textMatrix = current.lineMatrix = [a, b, c, d, e, f]; + current.textMatrixScale = Math.hypot(a, b); + current.x = current.lineX = 0; + current.y = current.lineY = 0; + current.xcoords = []; + current.ycoords = []; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px")); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + current.txtElement = this.svgFactory.createElement("svg:text"); + current.txtElement.appendChild(current.tspan); + } + }, { + key: "beginText", + value: function beginText() { + var current = this.current; + current.x = current.lineX = 0; + current.y = current.lineY = 0; + current.textMatrix = _util.IDENTITY_MATRIX; + current.lineMatrix = _util.IDENTITY_MATRIX; + current.textMatrixScale = 1; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.txtElement = this.svgFactory.createElement("svg:text"); + current.txtgrp = this.svgFactory.createElement("svg:g"); + current.xcoords = []; + current.ycoords = []; + } + }, { + key: "moveText", + value: function moveText(x, y) { + var current = this.current; + current.x = current.lineX += x; + current.y = current.lineY += y; + current.xcoords = []; + current.ycoords = []; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px")); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + } + }, { + key: "showText", + value: function showText(glyphs) { + var current = this.current; + var font = current.font; + var fontSize = current.fontSize; + + if (fontSize === 0) { + return; + } + + var fontSizeScale = current.fontSizeScale; + var charSpacing = current.charSpacing; + var wordSpacing = current.wordSpacing; + var fontDirection = current.fontDirection; + var textHScale = current.textHScale * fontDirection; + var vertical = font.vertical; + var spacingDir = vertical ? 1 : -1; + var defaultVMetrics = font.defaultVMetrics; + var widthAdvanceScale = fontSize * current.fontMatrix[0]; + var x = 0; + + var _iterator4 = _createForOfIteratorHelper(glyphs), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var glyph = _step4.value; + + if (glyph === null) { + x += fontDirection * wordSpacing; + continue; + } else if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + + var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + var character = glyph.fontChar; + var scaledX = void 0, + scaledY = void 0; + var width = glyph.width; + + if (vertical) { + var vx = void 0; + var vmetric = glyph.vmetric || defaultVMetrics; + vx = glyph.vmetric ? vmetric[1] : width * 0.5; + vx = -vx * widthAdvanceScale; + var vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + + if (glyph.isInFont || font.missingFile) { + current.xcoords.push(current.x + scaledX); + + if (vertical) { + current.ycoords.push(-current.y + scaledY); + } + + current.tspan.textContent += character; + } else {} + + var charWidth = void 0; + + if (vertical) { + charWidth = width * widthAdvanceScale - spacing * fontDirection; + } else { + charWidth = width * widthAdvanceScale + spacing * fontDirection; + } + + x += charWidth; + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" ")); + + if (vertical) { + current.tspan.setAttributeNS(null, "y", current.ycoords.map(pf).join(" ")); + } else { + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + } + + if (vertical) { + current.y -= x; + } else { + current.x += x * textHScale; + } + + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px")); + + if (current.fontStyle !== SVG_DEFAULTS.fontStyle) { + current.tspan.setAttributeNS(null, "font-style", current.fontStyle); + } + + if (current.fontWeight !== SVG_DEFAULTS.fontWeight) { + current.tspan.setAttributeNS(null, "font-weight", current.fontWeight); + } + + var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + if (current.fillColor !== SVG_DEFAULTS.fillColor) { + current.tspan.setAttributeNS(null, "fill", current.fillColor); + } + + if (current.fillAlpha < 1) { + current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha); + } + } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) { + current.tspan.setAttributeNS(null, "fill", "transparent"); + } else { + current.tspan.setAttributeNS(null, "fill", "none"); + } + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + var lineWidthScale = 1 / (current.textMatrixScale || 1); + + this._setStrokeAttributes(current.tspan, lineWidthScale); + } + + var textMatrix = current.textMatrix; + + if (current.textRise !== 0) { + textMatrix = textMatrix.slice(); + textMatrix[5] += current.textRise; + } + + current.txtElement.setAttributeNS(null, "transform", "".concat(pm(textMatrix), " scale(").concat(pf(textHScale), ", -1)")); + current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve"); + current.txtElement.appendChild(current.tspan); + current.txtgrp.appendChild(current.txtElement); + + this._ensureTransformGroup().appendChild(current.txtElement); + } + }, { + key: "setLeadingMoveText", + value: function setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + }, { + key: "addFontStyle", + value: function addFontStyle(fontObj) { + if (!fontObj.data) { + throw new Error("addFontStyle: No font data available, " + 'ensure that the "fontExtraProperties" API parameter is set.'); + } + + if (!this.cssStyle) { + this.cssStyle = this.svgFactory.createElement("svg:style"); + this.cssStyle.setAttributeNS(null, "type", "text/css"); + this.defs.appendChild(this.cssStyle); + } + + var url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema); + this.cssStyle.textContent += "@font-face { font-family: \"".concat(fontObj.loadedName, "\";") + " src: url(".concat(url, "); }\n"); + } + }, { + key: "setFont", + value: function setFont(details) { + var current = this.current; + var fontObj = this.commonObjs.get(details[0]); + var size = details[1]; + current.font = fontObj; + + if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) { + this.addFontStyle(fontObj); + this.embeddedFonts[fontObj.loadedName] = fontObj; + } + + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; + var bold = "normal"; + + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + + var italic = fontObj.italic ? "italic" : "normal"; + + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + + current.fontSize = size; + current.fontFamily = fontObj.loadedName; + current.fontWeight = bold; + current.fontStyle = italic; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + current.xcoords = []; + current.ycoords = []; + } + }, { + key: "endText", + value: function endText() { + var _current$txtElement; + + var current = this.current; + + if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && (_current$txtElement = current.txtElement) !== null && _current$txtElement !== void 0 && _current$txtElement.hasChildNodes()) { + current.element = current.txtElement; + this.clip("nonzero"); + this.endPath(); + } + } + }, { + key: "setLineWidth", + value: function setLineWidth(width) { + if (width > 0) { + this.current.lineWidth = width; + } + } + }, { + key: "setLineCap", + value: function setLineCap(style) { + this.current.lineCap = LINE_CAP_STYLES[style]; + } + }, { + key: "setLineJoin", + value: function setLineJoin(style) { + this.current.lineJoin = LINE_JOIN_STYLES[style]; + } + }, { + key: "setMiterLimit", + value: function setMiterLimit(limit) { + this.current.miterLimit = limit; + } + }, { + key: "setStrokeAlpha", + value: function setStrokeAlpha(strokeAlpha) { + this.current.strokeAlpha = strokeAlpha; + } + }, { + key: "setStrokeRGBColor", + value: function setStrokeRGBColor(r, g, b) { + this.current.strokeColor = _util.Util.makeHexColor(r, g, b); + } + }, { + key: "setFillAlpha", + value: function setFillAlpha(fillAlpha) { + this.current.fillAlpha = fillAlpha; + } + }, { + key: "setFillRGBColor", + value: function setFillRGBColor(r, g, b) { + this.current.fillColor = _util.Util.makeHexColor(r, g, b); + this.current.tspan = this.svgFactory.createElement("svg:tspan"); + this.current.xcoords = []; + this.current.ycoords = []; + } + }, { + key: "setStrokeColorN", + value: function setStrokeColorN(args) { + this.current.strokeColor = this._makeColorN_Pattern(args); + } + }, { + key: "setFillColorN", + value: function setFillColorN(args) { + this.current.fillColor = this._makeColorN_Pattern(args); + } + }, { + key: "shadingFill", + value: function shadingFill(args) { + var width = this.viewport.width; + var height = this.viewport.height; + + var inv = _util.Util.inverseTransform(this.transformMatrix); + + var bl = _util.Util.applyTransform([0, 0], inv); + + var br = _util.Util.applyTransform([0, height], inv); + + var ul = _util.Util.applyTransform([width, 0], inv); + + var ur = _util.Util.applyTransform([width, height], inv); + + var x0 = Math.min(bl[0], br[0], ul[0], ur[0]); + var y0 = Math.min(bl[1], br[1], ul[1], ur[1]); + var x1 = Math.max(bl[0], br[0], ul[0], ur[0]); + var y1 = Math.max(bl[1], br[1], ul[1], ur[1]); + var rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", x0); + rect.setAttributeNS(null, "y", y0); + rect.setAttributeNS(null, "width", x1 - x0); + rect.setAttributeNS(null, "height", y1 - y0); + rect.setAttributeNS(null, "fill", this._makeShadingPattern(args)); + + if (this.current.fillAlpha < 1) { + rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha); + } + + this._ensureTransformGroup().appendChild(rect); + } + }, { + key: "_makeColorN_Pattern", + value: function _makeColorN_Pattern(args) { + if (args[0] === "TilingPattern") { + return this._makeTilingPattern(args); + } + + return this._makeShadingPattern(args); + } + }, { + key: "_makeTilingPattern", + value: function _makeTilingPattern(args) { + var color = args[1]; + var operatorList = args[2]; + var matrix = args[3] || _util.IDENTITY_MATRIX; + + var _args$ = _slicedToArray(args[4], 4), + x0 = _args$[0], + y0 = _args$[1], + x1 = _args$[2], + y1 = _args$[3]; + + var xstep = args[5]; + var ystep = args[6]; + var paintType = args[7]; + var tilingId = "shading".concat(shadingCount++); + + var _Util$normalizeRect = _util.Util.normalizeRect([].concat(_toConsumableArray(_util.Util.applyTransform([x0, y0], matrix)), _toConsumableArray(_util.Util.applyTransform([x1, y1], matrix)))), + _Util$normalizeRect2 = _slicedToArray(_Util$normalizeRect, 4), + tx0 = _Util$normalizeRect2[0], + ty0 = _Util$normalizeRect2[1], + tx1 = _Util$normalizeRect2[2], + ty1 = _Util$normalizeRect2[3]; + + var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix), + _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2), + xscale = _Util$singularValueDe2[0], + yscale = _Util$singularValueDe2[1]; + + var txstep = xstep * xscale; + var tystep = ystep * yscale; + var tiling = this.svgFactory.createElement("svg:pattern"); + tiling.setAttributeNS(null, "id", tilingId); + tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse"); + tiling.setAttributeNS(null, "width", txstep); + tiling.setAttributeNS(null, "height", tystep); + tiling.setAttributeNS(null, "x", "".concat(tx0)); + tiling.setAttributeNS(null, "y", "".concat(ty0)); + var svg = this.svg; + var transformMatrix = this.transformMatrix; + var fillColor = this.current.fillColor; + var strokeColor = this.current.strokeColor; + var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0); + this.svg = bbox; + this.transformMatrix = matrix; + + if (paintType === 2) { + var cssColor = _util.Util.makeHexColor.apply(_util.Util, _toConsumableArray(color)); + + this.current.fillColor = cssColor; + this.current.strokeColor = cssColor; + } + + this.executeOpTree(this.convertOpList(operatorList)); + this.svg = svg; + this.transformMatrix = transformMatrix; + this.current.fillColor = fillColor; + this.current.strokeColor = strokeColor; + tiling.appendChild(bbox.childNodes[0]); + this.defs.appendChild(tiling); + return "url(#".concat(tilingId, ")"); + } + }, { + key: "_makeShadingPattern", + value: function _makeShadingPattern(args) { + if (typeof args === "string") { + args = this.objs.get(args); + } + + switch (args[0]) { + case "RadialAxial": + var shadingId = "shading".concat(shadingCount++); + var colorStops = args[3]; + var gradient; + + switch (args[1]) { + case "axial": + var point0 = args[4]; + var point1 = args[5]; + gradient = this.svgFactory.createElement("svg:linearGradient"); + gradient.setAttributeNS(null, "id", shadingId); + gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); + gradient.setAttributeNS(null, "x1", point0[0]); + gradient.setAttributeNS(null, "y1", point0[1]); + gradient.setAttributeNS(null, "x2", point1[0]); + gradient.setAttributeNS(null, "y2", point1[1]); + break; + + case "radial": + var focalPoint = args[4]; + var circlePoint = args[5]; + var focalRadius = args[6]; + var circleRadius = args[7]; + gradient = this.svgFactory.createElement("svg:radialGradient"); + gradient.setAttributeNS(null, "id", shadingId); + gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); + gradient.setAttributeNS(null, "cx", circlePoint[0]); + gradient.setAttributeNS(null, "cy", circlePoint[1]); + gradient.setAttributeNS(null, "r", circleRadius); + gradient.setAttributeNS(null, "fx", focalPoint[0]); + gradient.setAttributeNS(null, "fy", focalPoint[1]); + gradient.setAttributeNS(null, "fr", focalRadius); + break; + + default: + throw new Error("Unknown RadialAxial type: ".concat(args[1])); + } + + var _iterator5 = _createForOfIteratorHelper(colorStops), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var colorStop = _step5.value; + var stop = this.svgFactory.createElement("svg:stop"); + stop.setAttributeNS(null, "offset", colorStop[0]); + stop.setAttributeNS(null, "stop-color", colorStop[1]); + gradient.appendChild(stop); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this.defs.appendChild(gradient); + return "url(#".concat(shadingId, ")"); + + case "Mesh": + (0, _util.warn)("Unimplemented pattern Mesh"); + return null; + + case "Dummy": + return "hotpink"; + + default: + throw new Error("Unknown IR type: ".concat(args[0])); + } + } + }, { + key: "setDash", + value: function setDash(dashArray, dashPhase) { + this.current.dashArray = dashArray; + this.current.dashPhase = dashPhase; + } + }, { + key: "constructPath", + value: function constructPath(ops, args) { + var current = this.current; + var x = current.x, + y = current.y; + var d = []; + var j = 0; + + var _iterator6 = _createForOfIteratorHelper(ops), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var op = _step6.value; + + switch (op | 0) { + case _util.OPS.rectangle: + x = args[j++]; + y = args[j++]; + var width = args[j++]; + var height = args[j++]; + var xw = x + width; + var yh = y + height; + d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z"); + break; + + case _util.OPS.moveTo: + x = args[j++]; + y = args[j++]; + d.push("M", pf(x), pf(y)); + break; + + case _util.OPS.lineTo: + x = args[j++]; + y = args[j++]; + d.push("L", pf(x), pf(y)); + break; + + case _util.OPS.curveTo: + x = args[j + 4]; + y = args[j + 5]; + d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y)); + j += 6; + break; + + case _util.OPS.curveTo2: + d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3])); + x = args[j + 2]; + y = args[j + 3]; + j += 4; + break; + + case _util.OPS.curveTo3: + x = args[j + 2]; + y = args[j + 3]; + d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y)); + j += 4; + break; + + case _util.OPS.closePath: + d.push("Z"); + break; + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + d = d.join(" "); + + if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) { + d = current.path.getAttributeNS(null, "d") + d; + } else { + current.path = this.svgFactory.createElement("svg:path"); + + this._ensureTransformGroup().appendChild(current.path); + } + + current.path.setAttributeNS(null, "d", d); + current.path.setAttributeNS(null, "fill", "none"); + current.element = current.path; + current.setCurrentPoint(x, y); + } + }, { + key: "endPath", + value: function endPath() { + var current = this.current; + current.path = null; + + if (!this.pendingClip) { + return; + } + + if (!current.element) { + this.pendingClip = null; + return; + } + + var clipId = "clippath".concat(clipCount++); + var clipPath = this.svgFactory.createElement("svg:clipPath"); + clipPath.setAttributeNS(null, "id", clipId); + clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix)); + var clipElement = current.element.cloneNode(true); + + if (this.pendingClip === "evenodd") { + clipElement.setAttributeNS(null, "clip-rule", "evenodd"); + } else { + clipElement.setAttributeNS(null, "clip-rule", "nonzero"); + } + + this.pendingClip = null; + clipPath.appendChild(clipElement); + this.defs.appendChild(clipPath); + + if (current.activeClipUrl) { + current.clipGroup = null; + + var _iterator7 = _createForOfIteratorHelper(this.extraStack), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var prev = _step7.value; + prev.clipGroup = null; + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl); + } + + current.activeClipUrl = "url(#".concat(clipId, ")"); + this.tgrp = null; + } + }, { + key: "clip", + value: function clip(type) { + this.pendingClip = type; + } + }, { + key: "closePath", + value: function closePath() { + var current = this.current; + + if (current.path) { + var d = "".concat(current.path.getAttributeNS(null, "d"), "Z"); + current.path.setAttributeNS(null, "d", d); + } + } + }, { + key: "setLeading", + value: function setLeading(leading) { + this.current.leading = -leading; + } + }, { + key: "setTextRise", + value: function setTextRise(textRise) { + this.current.textRise = textRise; + } + }, { + key: "setTextRenderingMode", + value: function setTextRenderingMode(textRenderingMode) { + this.current.textRenderingMode = textRenderingMode; + } + }, { + key: "setHScale", + value: function setHScale(scale) { + this.current.textHScale = scale / 100; + } + }, { + key: "setRenderingIntent", + value: function setRenderingIntent(intent) {} + }, { + key: "setFlatness", + value: function setFlatness(flatness) {} + }, { + key: "setGState", + value: function setGState(states) { + var _iterator8 = _createForOfIteratorHelper(states), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _step8$value = _slicedToArray(_step8.value, 2), + key = _step8$value[0], + value = _step8$value[1]; + + switch (key) { + case "LW": + this.setLineWidth(value); + break; + + case "LC": + this.setLineCap(value); + break; + + case "LJ": + this.setLineJoin(value); + break; + + case "ML": + this.setMiterLimit(value); + break; + + case "D": + this.setDash(value[0], value[1]); + break; + + case "RI": + this.setRenderingIntent(value); + break; + + case "FL": + this.setFlatness(value); + break; + + case "Font": + this.setFont(value); + break; + + case "CA": + this.setStrokeAlpha(value); + break; + + case "ca": + this.setFillAlpha(value); + break; + + default: + (0, _util.warn)("Unimplemented graphic state operator ".concat(key)); + break; + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + } + }, { + key: "fill", + value: function fill() { + var current = this.current; + + if (current.element) { + current.element.setAttributeNS(null, "fill", current.fillColor); + current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha); + this.endPath(); + } + } + }, { + key: "stroke", + value: function stroke() { + var current = this.current; + + if (current.element) { + this._setStrokeAttributes(current.element); + + current.element.setAttributeNS(null, "fill", "none"); + this.endPath(); + } + } + }, { + key: "_setStrokeAttributes", + value: function _setStrokeAttributes(element) { + var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + var current = this.current; + var dashArray = current.dashArray; + + if (lineWidthScale !== 1 && dashArray.length > 0) { + dashArray = dashArray.map(function (value) { + return lineWidthScale * value; + }); + } + + element.setAttributeNS(null, "stroke", current.strokeColor); + element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha); + element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit)); + element.setAttributeNS(null, "stroke-linecap", current.lineCap); + element.setAttributeNS(null, "stroke-linejoin", current.lineJoin); + element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px"); + element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" ")); + element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px"); + } + }, { + key: "eoFill", + value: function eoFill() { + if (this.current.element) { + this.current.element.setAttributeNS(null, "fill-rule", "evenodd"); + } + + this.fill(); + } + }, { + key: "fillStroke", + value: function fillStroke() { + this.stroke(); + this.fill(); + } + }, { + key: "eoFillStroke", + value: function eoFillStroke() { + if (this.current.element) { + this.current.element.setAttributeNS(null, "fill-rule", "evenodd"); + } + + this.fillStroke(); + } + }, { + key: "closeStroke", + value: function closeStroke() { + this.closePath(); + this.stroke(); + } + }, { + key: "closeFillStroke", + value: function closeFillStroke() { + this.closePath(); + this.fillStroke(); + } + }, { + key: "closeEOFillStroke", + value: function closeEOFillStroke() { + this.closePath(); + this.eoFillStroke(); + } + }, { + key: "paintSolidColorImageMask", + value: function paintSolidColorImageMask() { + var rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", "0"); + rect.setAttributeNS(null, "y", "0"); + rect.setAttributeNS(null, "width", "1px"); + rect.setAttributeNS(null, "height", "1px"); + rect.setAttributeNS(null, "fill", this.current.fillColor); + + this._ensureTransformGroup().appendChild(rect); + } + }, { + key: "paintImageXObject", + value: function paintImageXObject(objId) { + var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId); + + if (!imgData) { + (0, _util.warn)("Dependent image with object ID ".concat(objId, " is not ready yet")); + return; + } + + this.paintInlineImageXObject(imgData); + } + }, { + key: "paintInlineImageXObject", + value: function paintInlineImageXObject(imgData, mask) { + var width = imgData.width; + var height = imgData.height; + var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask); + var cliprect = this.svgFactory.createElement("svg:rect"); + cliprect.setAttributeNS(null, "x", "0"); + cliprect.setAttributeNS(null, "y", "0"); + cliprect.setAttributeNS(null, "width", pf(width)); + cliprect.setAttributeNS(null, "height", pf(height)); + this.current.element = cliprect; + this.clip("nonzero"); + var imgEl = this.svgFactory.createElement("svg:image"); + imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc); + imgEl.setAttributeNS(null, "x", "0"); + imgEl.setAttributeNS(null, "y", pf(-height)); + imgEl.setAttributeNS(null, "width", pf(width) + "px"); + imgEl.setAttributeNS(null, "height", pf(height) + "px"); + imgEl.setAttributeNS(null, "transform", "scale(".concat(pf(1 / width), " ").concat(pf(-1 / height), ")")); + + if (mask) { + mask.appendChild(imgEl); + } else { + this._ensureTransformGroup().appendChild(imgEl); + } + } + }, { + key: "paintImageMaskXObject", + value: function paintImageMaskXObject(imgData) { + var current = this.current; + var width = imgData.width; + var height = imgData.height; + var fillColor = current.fillColor; + current.maskId = "mask".concat(maskCount++); + var mask = this.svgFactory.createElement("svg:mask"); + mask.setAttributeNS(null, "id", current.maskId); + var rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", "0"); + rect.setAttributeNS(null, "y", "0"); + rect.setAttributeNS(null, "width", pf(width)); + rect.setAttributeNS(null, "height", pf(height)); + rect.setAttributeNS(null, "fill", fillColor); + rect.setAttributeNS(null, "mask", "url(#".concat(current.maskId, ")")); + this.defs.appendChild(mask); + + this._ensureTransformGroup().appendChild(rect); + + this.paintInlineImageXObject(imgData, mask); + } + }, { + key: "paintFormXObjectBegin", + value: function paintFormXObjectBegin(matrix, bbox) { + if (Array.isArray(matrix) && matrix.length === 6) { + this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]); + } + + if (bbox) { + var width = bbox[2] - bbox[0]; + var height = bbox[3] - bbox[1]; + var cliprect = this.svgFactory.createElement("svg:rect"); + cliprect.setAttributeNS(null, "x", bbox[0]); + cliprect.setAttributeNS(null, "y", bbox[1]); + cliprect.setAttributeNS(null, "width", pf(width)); + cliprect.setAttributeNS(null, "height", pf(height)); + this.current.element = cliprect; + this.clip("nonzero"); + this.endPath(); + } + } + }, { + key: "paintFormXObjectEnd", + value: function paintFormXObjectEnd() {} + }, { + key: "_initialize", + value: function _initialize(viewport) { + var svg = this.svgFactory.create(viewport.width, viewport.height); + var definitions = this.svgFactory.createElement("svg:defs"); + svg.appendChild(definitions); + this.defs = definitions; + var rootGroup = this.svgFactory.createElement("svg:g"); + rootGroup.setAttributeNS(null, "transform", pm(viewport.transform)); + svg.appendChild(rootGroup); + this.svg = rootGroup; + return svg; + } + }, { + key: "_ensureClipGroup", + value: function _ensureClipGroup() { + if (!this.current.clipGroup) { + var clipGroup = this.svgFactory.createElement("svg:g"); + clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl); + this.svg.appendChild(clipGroup); + this.current.clipGroup = clipGroup; + } + + return this.current.clipGroup; + } + }, { + key: "_ensureTransformGroup", + value: function _ensureTransformGroup() { + if (!this.tgrp) { + this.tgrp = this.svgFactory.createElement("svg:g"); + this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix)); + + if (this.current.activeClipUrl) { + this._ensureClipGroup().appendChild(this.tgrp); + } else { + this.svg.appendChild(this.tgrp); + } + } + + return this.tgrp; + } + }]); + + return SVGGraphics; + }(); +} + +/***/ }), +/* 178 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFNodeStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(156)); + +var _util = __w_pdfjs_require__(1); + +var _network_utils = __w_pdfjs_require__(179); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +; + +var fs = require("fs"); + +var http = require("http"); + +var https = require("https"); + +var url = require("url"); + +var fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//; + +function parseUrl(sourceUrl) { + var parsedUrl = url.parse(sourceUrl); + + if (parsedUrl.protocol === "file:" || parsedUrl.host) { + return parsedUrl; + } + + if (/^[a-z]:[/\\]/i.test(sourceUrl)) { + return url.parse("file:///".concat(sourceUrl)); + } + + if (!parsedUrl.host) { + parsedUrl.protocol = "file:"; + } + + return parsedUrl; +} + +var PDFNodeStream = /*#__PURE__*/function () { + function PDFNodeStream(source) { + _classCallCheck(this, PDFNodeStream); + + this.source = source; + this.url = parseUrl(source.url); + this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:"; + this.isFsUrl = this.url.protocol === "file:"; + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _createClass(PDFNodeStream, [{ + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFNodeStream.getFullReader can only be called once."); + this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this); + return this._fullRequestReader; + } + }, { + key: "getRangeReader", + value: function getRangeReader(start, end) { + if (end <= this._progressiveDataLength) { + return null; + } + + var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end); + + this._rangeRequestReaders.push(rangeReader); + + return rangeReader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }]); + + return PDFNodeStream; +}(); + +exports.PDFNodeStream = PDFNodeStream; + +var BaseFullReader = /*#__PURE__*/function () { + function BaseFullReader(stream) { + _classCallCheck(this, BaseFullReader); + + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + var source = stream.source; + this._contentLength = source.length; + this._loaded = 0; + this._filename = null; + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._readableStream = null; + this._readCapability = (0, _util.createPromiseCapability)(); + this._headersCapability = (0, _util.createPromiseCapability)(); + } + + _createClass(BaseFullReader, [{ + key: "headersReady", + get: function get() { + return this._headersCapability.promise; + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "contentLength", + get: function get() { + return this._contentLength; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "read", + value: function () { + var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var chunk, buffer; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._readCapability.promise; + + case 2: + if (!this._done) { + _context.next = 4; + break; + } + + return _context.abrupt("return", { + value: undefined, + done: true + }); + + case 4: + if (!this._storedError) { + _context.next = 6; + break; + } + + throw this._storedError; + + case 6: + chunk = this._readableStream.read(); + + if (!(chunk === null)) { + _context.next = 10; + break; + } + + this._readCapability = (0, _util.createPromiseCapability)(); + return _context.abrupt("return", this.read()); + + case 10: + this._loaded += chunk.length; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded, + total: this._contentLength + }); + } + + buffer = new Uint8Array(chunk).buffer; + return _context.abrupt("return", { + value: buffer, + done: false + }); + + case 14: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (!this._readableStream) { + this._error(reason); + + return; + } + + this._readableStream.destroy(reason); + } + }, { + key: "_error", + value: function _error(reason) { + this._storedError = reason; + + this._readCapability.resolve(); + } + }, { + key: "_setReadableStream", + value: function _setReadableStream(readableStream) { + var _this = this; + + this._readableStream = readableStream; + readableStream.on("readable", function () { + _this._readCapability.resolve(); + }); + readableStream.on("end", function () { + readableStream.destroy(); + _this._done = true; + + _this._readCapability.resolve(); + }); + readableStream.on("error", function (reason) { + _this._error(reason); + }); + + if (!this._isStreamingSupported && this._isRangeSupported) { + this._error(new _util.AbortException("streaming is disabled")); + } + + if (this._storedError) { + this._readableStream.destroy(this._storedError); + } + } + }]); + + return BaseFullReader; +}(); + +var BaseRangeReader = /*#__PURE__*/function () { + function BaseRangeReader(stream) { + _classCallCheck(this, BaseRangeReader); + + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + this._loaded = 0; + this._readableStream = null; + this._readCapability = (0, _util.createPromiseCapability)(); + var source = stream.source; + this._isStreamingSupported = !source.disableStream; + } + + _createClass(BaseRangeReader, [{ + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "read", + value: function () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var chunk, buffer; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._readCapability.promise; + + case 2: + if (!this._done) { + _context2.next = 4; + break; + } + + return _context2.abrupt("return", { + value: undefined, + done: true + }); + + case 4: + if (!this._storedError) { + _context2.next = 6; + break; + } + + throw this._storedError; + + case 6: + chunk = this._readableStream.read(); + + if (!(chunk === null)) { + _context2.next = 10; + break; + } + + this._readCapability = (0, _util.createPromiseCapability)(); + return _context2.abrupt("return", this.read()); + + case 10: + this._loaded += chunk.length; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded + }); + } + + buffer = new Uint8Array(chunk).buffer; + return _context2.abrupt("return", { + value: buffer, + done: false + }); + + case 14: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (!this._readableStream) { + this._error(reason); + + return; + } + + this._readableStream.destroy(reason); + } + }, { + key: "_error", + value: function _error(reason) { + this._storedError = reason; + + this._readCapability.resolve(); + } + }, { + key: "_setReadableStream", + value: function _setReadableStream(readableStream) { + var _this2 = this; + + this._readableStream = readableStream; + readableStream.on("readable", function () { + _this2._readCapability.resolve(); + }); + readableStream.on("end", function () { + readableStream.destroy(); + _this2._done = true; + + _this2._readCapability.resolve(); + }); + readableStream.on("error", function (reason) { + _this2._error(reason); + }); + + if (this._storedError) { + this._readableStream.destroy(this._storedError); + } + } + }]); + + return BaseRangeReader; +}(); + +function createRequestOptions(parsedUrl, headers) { + return { + protocol: parsedUrl.protocol, + auth: parsedUrl.auth, + host: parsedUrl.hostname, + port: parsedUrl.port, + path: parsedUrl.path, + method: "GET", + headers: headers + }; +} + +var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) { + _inherits(PDFNodeStreamFullReader, _BaseFullReader); + + var _super = _createSuper(PDFNodeStreamFullReader); + + function PDFNodeStreamFullReader(stream) { + var _this3; + + _classCallCheck(this, PDFNodeStreamFullReader); + + _this3 = _super.call(this, stream); + + var handleResponse = function handleResponse(response) { + if (response.statusCode === 404) { + var error = new _util.MissingPDFException("Missing PDF \"".concat(_this3._url, "\".")); + _this3._storedError = error; + + _this3._headersCapability.reject(error); + + return; + } + + _this3._headersCapability.resolve(); + + _this3._setReadableStream(response); + + var getResponseHeader = function getResponseHeader(name) { + return _this3._readableStream.headers[name.toLowerCase()]; + }; + + var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader: getResponseHeader, + isHttp: stream.isHttp, + rangeChunkSize: _this3._rangeChunkSize, + disableRange: _this3._disableRange + }), + allowRangeRequests = _validateRangeRequest.allowRangeRequests, + suggestedLength = _validateRangeRequest.suggestedLength; + + _this3._isRangeSupported = allowRangeRequests; + _this3._contentLength = suggestedLength || _this3._contentLength; + _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + }; + + _this3._request = null; + + if (_this3._url.protocol === "http:") { + _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse); + } else { + _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse); + } + + _this3._request.on("error", function (reason) { + _this3._storedError = reason; + + _this3._headersCapability.reject(reason); + }); + + _this3._request.end(); + + return _this3; + } + + return _createClass(PDFNodeStreamFullReader); +}(BaseFullReader); + +var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) { + _inherits(PDFNodeStreamRangeReader, _BaseRangeReader); + + var _super2 = _createSuper(PDFNodeStreamRangeReader); + + function PDFNodeStreamRangeReader(stream, start, end) { + var _this4; + + _classCallCheck(this, PDFNodeStreamRangeReader); + + _this4 = _super2.call(this, stream); + _this4._httpHeaders = {}; + + for (var property in stream.httpHeaders) { + var value = stream.httpHeaders[property]; + + if (typeof value === "undefined") { + continue; + } + + _this4._httpHeaders[property] = value; + } + + _this4._httpHeaders.Range = "bytes=".concat(start, "-").concat(end - 1); + + var handleResponse = function handleResponse(response) { + if (response.statusCode === 404) { + var error = new _util.MissingPDFException("Missing PDF \"".concat(_this4._url, "\".")); + _this4._storedError = error; + return; + } + + _this4._setReadableStream(response); + }; + + _this4._request = null; + + if (_this4._url.protocol === "http:") { + _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse); + } else { + _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse); + } + + _this4._request.on("error", function (reason) { + _this4._storedError = reason; + }); + + _this4._request.end(); + + return _this4; + } + + return _createClass(PDFNodeStreamRangeReader); +}(BaseRangeReader); + +var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) { + _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2); + + var _super3 = _createSuper(PDFNodeStreamFsFullReader); + + function PDFNodeStreamFsFullReader(stream) { + var _this5; + + _classCallCheck(this, PDFNodeStreamFsFullReader); + + _this5 = _super3.call(this, stream); + var path = decodeURIComponent(_this5._url.path); + + if (fileUriRegex.test(_this5._url.href)) { + path = path.replace(/^\//, ""); + } + + fs.lstat(path, function (error, stat) { + if (error) { + if (error.code === "ENOENT") { + error = new _util.MissingPDFException("Missing PDF \"".concat(path, "\".")); + } + + _this5._storedError = error; + + _this5._headersCapability.reject(error); + + return; + } + + _this5._contentLength = stat.size; + + _this5._setReadableStream(fs.createReadStream(path)); + + _this5._headersCapability.resolve(); + }); + return _this5; + } + + return _createClass(PDFNodeStreamFsFullReader); +}(BaseFullReader); + +var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) { + _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2); + + var _super4 = _createSuper(PDFNodeStreamFsRangeReader); + + function PDFNodeStreamFsRangeReader(stream, start, end) { + var _this6; + + _classCallCheck(this, PDFNodeStreamFsRangeReader); + + _this6 = _super4.call(this, stream); + var path = decodeURIComponent(_this6._url.path); + + if (fileUriRegex.test(_this6._url.href)) { + path = path.replace(/^\//, ""); + } + + _this6._setReadableStream(fs.createReadStream(path, { + start: start, + end: end - 1 + })); + + return _this6; + } + + return _createClass(PDFNodeStreamFsRangeReader); +}(BaseRangeReader); + +/***/ }), +/* 179 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.createResponseStatusError = createResponseStatusError; +exports.extractFilenameFromHeader = extractFilenameFromHeader; +exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities; +exports.validateResponseStatus = validateResponseStatus; + +var _util = __w_pdfjs_require__(1); + +var _content_disposition = __w_pdfjs_require__(180); + +var _display_utils = __w_pdfjs_require__(158); + +function validateRangeRequestCapabilities(_ref) { + var getResponseHeader = _ref.getResponseHeader, + isHttp = _ref.isHttp, + rangeChunkSize = _ref.rangeChunkSize, + disableRange = _ref.disableRange; + var returnValues = { + allowRangeRequests: false, + suggestedLength: undefined + }; + var length = parseInt(getResponseHeader("Content-Length"), 10); + + if (!Number.isInteger(length)) { + return returnValues; + } + + returnValues.suggestedLength = length; + + if (length <= 2 * rangeChunkSize) { + return returnValues; + } + + if (disableRange || !isHttp) { + return returnValues; + } + + if (getResponseHeader("Accept-Ranges") !== "bytes") { + return returnValues; + } + + var contentEncoding = getResponseHeader("Content-Encoding") || "identity"; + + if (contentEncoding !== "identity") { + return returnValues; + } + + returnValues.allowRangeRequests = true; + return returnValues; +} + +function extractFilenameFromHeader(getResponseHeader) { + var contentDisposition = getResponseHeader("Content-Disposition"); + + if (contentDisposition) { + var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition); + + if (filename.includes("%")) { + try { + filename = decodeURIComponent(filename); + } catch (ex) {} + } + + if ((0, _display_utils.isPdfFile)(filename)) { + return filename; + } + } + + return null; +} + +function createResponseStatusError(status, url) { + if (status === 404 || status === 0 && url.startsWith("file:")) { + return new _util.MissingPDFException('Missing PDF "' + url + '".'); + } + + return new _util.UnexpectedResponseException("Unexpected server response (".concat(status, ") while retrieving PDF \"").concat(url, "\"."), status); +} + +function validateResponseStatus(status) { + return status === 200 || status === 206; +} + +/***/ }), +/* 180 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader; + +var _util = __w_pdfjs_require__(1); + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function getFilenameFromContentDispositionHeader(contentDisposition) { + var needsEncodingFixup = true; + var tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition); + + if (tmp) { + tmp = tmp[1]; + var filename = rfc2616unquote(tmp); + filename = unescape(filename); + filename = rfc5987decode(filename); + filename = rfc2047decode(filename); + return fixupEncoding(filename); + } + + tmp = rfc2231getparam(contentDisposition); + + if (tmp) { + var _filename = rfc2047decode(tmp); + + return fixupEncoding(_filename); + } + + tmp = toParamRegExp("filename", "i").exec(contentDisposition); + + if (tmp) { + tmp = tmp[1]; + + var _filename2 = rfc2616unquote(tmp); + + _filename2 = rfc2047decode(_filename2); + return fixupEncoding(_filename2); + } + + function toParamRegExp(attributePattern, flags) { + return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags); + } + + function textdecode(encoding, value) { + if (encoding) { + if (!/^[\x00-\xFF]+$/.test(value)) { + return value; + } + + try { + var decoder = new TextDecoder(encoding, { + fatal: true + }); + var buffer = (0, _util.stringToBytes)(value); + value = decoder.decode(buffer); + needsEncodingFixup = false; + } catch (e) {} + } + + return value; + } + + function fixupEncoding(value) { + if (needsEncodingFixup && /[\x80-\xff]/.test(value)) { + value = textdecode("utf-8", value); + + if (needsEncodingFixup) { + value = textdecode("iso-8859-1", value); + } + } + + return value; + } + + function rfc2231getparam(contentDispositionStr) { + var matches = []; + var match; + var iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig"); + + while ((match = iter.exec(contentDispositionStr)) !== null) { + var _match = match, + _match2 = _slicedToArray(_match, 4), + n = _match2[1], + quot = _match2[2], + part = _match2[3]; + + n = parseInt(n, 10); + + if (n in matches) { + if (n === 0) { + break; + } + + continue; + } + + matches[n] = [quot, part]; + } + + var parts = []; + + for (var _n2 = 0; _n2 < matches.length; ++_n2) { + if (!(_n2 in matches)) { + break; + } + + var _matches$_n = _slicedToArray(matches[_n2], 2), + _quot = _matches$_n[0], + _part = _matches$_n[1]; + + _part = rfc2616unquote(_part); + + if (_quot) { + _part = unescape(_part); + + if (_n2 === 0) { + _part = rfc5987decode(_part); + } + } + + parts.push(_part); + } + + return parts.join(""); + } + + function rfc2616unquote(value) { + if (value.startsWith('"')) { + var parts = value.slice(1).split('\\"'); + + for (var i = 0; i < parts.length; ++i) { + var quotindex = parts[i].indexOf('"'); + + if (quotindex !== -1) { + parts[i] = parts[i].slice(0, quotindex); + parts.length = i + 1; + } + + parts[i] = parts[i].replace(/\\(.)/g, "$1"); + } + + value = parts.join('"'); + } + + return value; + } + + function rfc5987decode(extvalue) { + var encodingend = extvalue.indexOf("'"); + + if (encodingend === -1) { + return extvalue; + } + + var encoding = extvalue.slice(0, encodingend); + var langvalue = extvalue.slice(encodingend + 1); + var value = langvalue.replace(/^[^']*'/, ""); + return textdecode(encoding, value); + } + + function rfc2047decode(value) { + if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) { + return value; + } + + return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) { + if (encoding === "q" || encoding === "Q") { + text = text.replace(/_/g, " "); + text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) { + return String.fromCharCode(parseInt(hex, 16)); + }); + return textdecode(charset, text); + } + + try { + text = atob(text); + } catch (e) {} + + return textdecode(charset, text); + }); + } + + return ""; +} + +/***/ }), +/* 181 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFNetworkStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(156)); + +var _util = __w_pdfjs_require__(1); + +var _network_utils = __w_pdfjs_require__(179); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +; +var OK_RESPONSE = 200; +var PARTIAL_CONTENT_RESPONSE = 206; + +function getArrayBuffer(xhr) { + var data = xhr.response; + + if (typeof data !== "string") { + return data; + } + + var array = (0, _util.stringToBytes)(data); + return array.buffer; +} + +var NetworkManager = /*#__PURE__*/function () { + function NetworkManager(url) { + var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + _classCallCheck(this, NetworkManager); + + this.url = url; + this.isHttp = /^https?:/i.test(url); + this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null); + this.withCredentials = args.withCredentials || false; + + this.getXhr = args.getXhr || function NetworkManager_getXhr() { + return new XMLHttpRequest(); + }; + + this.currXhrId = 0; + this.pendingRequests = Object.create(null); + } + + _createClass(NetworkManager, [{ + key: "requestRange", + value: function requestRange(begin, end, listeners) { + var args = { + begin: begin, + end: end + }; + + for (var prop in listeners) { + args[prop] = listeners[prop]; + } + + return this.request(args); + } + }, { + key: "requestFull", + value: function requestFull(listeners) { + return this.request(listeners); + } + }, { + key: "request", + value: function request(args) { + var xhr = this.getXhr(); + var xhrId = this.currXhrId++; + var pendingRequest = this.pendingRequests[xhrId] = { + xhr: xhr + }; + xhr.open("GET", this.url); + xhr.withCredentials = this.withCredentials; + + for (var property in this.httpHeaders) { + var value = this.httpHeaders[property]; + + if (typeof value === "undefined") { + continue; + } + + xhr.setRequestHeader(property, value); + } + + if (this.isHttp && "begin" in args && "end" in args) { + xhr.setRequestHeader("Range", "bytes=".concat(args.begin, "-").concat(args.end - 1)); + pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE; + } else { + pendingRequest.expectedStatus = OK_RESPONSE; + } + + xhr.responseType = "arraybuffer"; + + if (args.onError) { + xhr.onerror = function (evt) { + args.onError(xhr.status); + }; + } + + xhr.onreadystatechange = this.onStateChange.bind(this, xhrId); + xhr.onprogress = this.onProgress.bind(this, xhrId); + pendingRequest.onHeadersReceived = args.onHeadersReceived; + pendingRequest.onDone = args.onDone; + pendingRequest.onError = args.onError; + pendingRequest.onProgress = args.onProgress; + xhr.send(null); + return xhrId; + } + }, { + key: "onProgress", + value: function onProgress(xhrId, evt) { + var _pendingRequest$onPro; + + var pendingRequest = this.pendingRequests[xhrId]; + + if (!pendingRequest) { + return; + } + + (_pendingRequest$onPro = pendingRequest.onProgress) === null || _pendingRequest$onPro === void 0 ? void 0 : _pendingRequest$onPro.call(pendingRequest, evt); + } + }, { + key: "onStateChange", + value: function onStateChange(xhrId, evt) { + var pendingRequest = this.pendingRequests[xhrId]; + + if (!pendingRequest) { + return; + } + + var xhr = pendingRequest.xhr; + + if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) { + pendingRequest.onHeadersReceived(); + delete pendingRequest.onHeadersReceived; + } + + if (xhr.readyState !== 4) { + return; + } + + if (!(xhrId in this.pendingRequests)) { + return; + } + + delete this.pendingRequests[xhrId]; + + if (xhr.status === 0 && this.isHttp) { + var _pendingRequest$onErr; + + (_pendingRequest$onErr = pendingRequest.onError) === null || _pendingRequest$onErr === void 0 ? void 0 : _pendingRequest$onErr.call(pendingRequest, xhr.status); + return; + } + + var xhrStatus = xhr.status || OK_RESPONSE; + var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE; + + if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) { + var _pendingRequest$onErr2; + + (_pendingRequest$onErr2 = pendingRequest.onError) === null || _pendingRequest$onErr2 === void 0 ? void 0 : _pendingRequest$onErr2.call(pendingRequest, xhr.status); + return; + } + + var chunk = getArrayBuffer(xhr); + + if (xhrStatus === PARTIAL_CONTENT_RESPONSE) { + var rangeHeader = xhr.getResponseHeader("Content-Range"); + var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader); + pendingRequest.onDone({ + begin: parseInt(matches[1], 10), + chunk: chunk + }); + } else if (chunk) { + pendingRequest.onDone({ + begin: 0, + chunk: chunk + }); + } else { + var _pendingRequest$onErr3; + + (_pendingRequest$onErr3 = pendingRequest.onError) === null || _pendingRequest$onErr3 === void 0 ? void 0 : _pendingRequest$onErr3.call(pendingRequest, xhr.status); + } + } + }, { + key: "getRequestXhr", + value: function getRequestXhr(xhrId) { + return this.pendingRequests[xhrId].xhr; + } + }, { + key: "isPendingRequest", + value: function isPendingRequest(xhrId) { + return xhrId in this.pendingRequests; + } + }, { + key: "abortRequest", + value: function abortRequest(xhrId) { + var xhr = this.pendingRequests[xhrId].xhr; + delete this.pendingRequests[xhrId]; + xhr.abort(); + } + }]); + + return NetworkManager; +}(); + +var PDFNetworkStream = /*#__PURE__*/function () { + function PDFNetworkStream(source) { + _classCallCheck(this, PDFNetworkStream); + + this._source = source; + this._manager = new NetworkManager(source.url, { + httpHeaders: source.httpHeaders, + withCredentials: source.withCredentials + }); + this._rangeChunkSize = source.rangeChunkSize; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _createClass(PDFNetworkStream, [{ + key: "_onRangeRequestReaderClosed", + value: function _onRangeRequestReaderClosed(reader) { + var i = this._rangeRequestReaders.indexOf(reader); + + if (i >= 0) { + this._rangeRequestReaders.splice(i, 1); + } + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source); + return this._fullRequestReader; + } + }, { + key: "getRangeReader", + value: function getRangeReader(begin, end) { + var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end); + reader.onClosed = this._onRangeRequestReaderClosed.bind(this); + + this._rangeRequestReaders.push(reader); + + return reader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + var _this$_fullRequestRea; + + (_this$_fullRequestRea = this._fullRequestReader) === null || _this$_fullRequestRea === void 0 ? void 0 : _this$_fullRequestRea.cancel(reason); + + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }]); + + return PDFNetworkStream; +}(); + +exports.PDFNetworkStream = PDFNetworkStream; + +var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () { + function PDFNetworkStreamFullRequestReader(manager, source) { + _classCallCheck(this, PDFNetworkStreamFullRequestReader); + + this._manager = manager; + var args = { + onHeadersReceived: this._onHeadersReceived.bind(this), + onDone: this._onDone.bind(this), + onError: this._onError.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._url = source.url; + this._fullRequestId = manager.requestFull(args); + this._headersReceivedCapability = (0, _util.createPromiseCapability)(); + this._disableRange = source.disableRange || false; + this._contentLength = source.length; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + this._isStreamingSupported = false; + this._isRangeSupported = false; + this._cachedChunks = []; + this._requests = []; + this._done = false; + this._storedError = undefined; + this._filename = null; + this.onProgress = null; + } + + _createClass(PDFNetworkStreamFullRequestReader, [{ + key: "_onHeadersReceived", + value: function _onHeadersReceived() { + var fullRequestXhrId = this._fullRequestId; + + var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId); + + var getResponseHeader = function getResponseHeader(name) { + return fullRequestXhr.getResponseHeader(name); + }; + + var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader: getResponseHeader, + isHttp: this._manager.isHttp, + rangeChunkSize: this._rangeChunkSize, + disableRange: this._disableRange + }), + allowRangeRequests = _validateRangeRequest.allowRangeRequests, + suggestedLength = _validateRangeRequest.suggestedLength; + + if (allowRangeRequests) { + this._isRangeSupported = true; + } + + this._contentLength = suggestedLength || this._contentLength; + this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + + if (this._isRangeSupported) { + this._manager.abortRequest(fullRequestXhrId); + } + + this._headersReceivedCapability.resolve(); + } + }, { + key: "_onDone", + value: function _onDone(data) { + if (data) { + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + + requestCapability.resolve({ + value: data.chunk, + done: false + }); + } else { + this._cachedChunks.push(data.chunk); + } + } + + this._done = true; + + if (this._cachedChunks.length > 0) { + return; + } + + var _iterator2 = _createForOfIteratorHelper(this._requests), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _requestCapability = _step2.value; + + _requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + this._requests.length = 0; + } + }, { + key: "_onError", + value: function _onError(status) { + this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); + + this._headersReceivedCapability.reject(this._storedError); + + var _iterator3 = _createForOfIteratorHelper(this._requests), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var requestCapability = _step3.value; + requestCapability.reject(this._storedError); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + this._requests.length = 0; + this._cachedChunks.length = 0; + } + }, { + key: "_onProgress", + value: function _onProgress(evt) { + var _this$onProgress; + + (_this$onProgress = this.onProgress) === null || _this$onProgress === void 0 ? void 0 : _this$onProgress.call(this, { + loaded: evt.loaded, + total: evt.lengthComputable ? evt.total : this._contentLength + }); + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "contentLength", + get: function get() { + return this._contentLength; + } + }, { + key: "headersReady", + get: function get() { + return this._headersReceivedCapability.promise; + } + }, { + key: "read", + value: function () { + var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!this._storedError) { + _context.next = 2; + break; + } + + throw this._storedError; + + case 2: + if (!(this._cachedChunks.length > 0)) { + _context.next = 5; + break; + } + + chunk = this._cachedChunks.shift(); + return _context.abrupt("return", { + value: chunk, + done: false + }); + + case 5: + if (!this._done) { + _context.next = 7; + break; + } + + return _context.abrupt("return", { + value: undefined, + done: true + }); + + case 7: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context.abrupt("return", requestCapability.promise); + + case 10: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + this._headersReceivedCapability.reject(reason); + + var _iterator4 = _createForOfIteratorHelper(this._requests), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var requestCapability = _step4.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._requests.length = 0; + + if (this._manager.isPendingRequest(this._fullRequestId)) { + this._manager.abortRequest(this._fullRequestId); + } + + this._fullRequestReader = null; + } + }]); + + return PDFNetworkStreamFullRequestReader; +}(); + +var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { + function PDFNetworkStreamRangeRequestReader(manager, begin, end) { + _classCallCheck(this, PDFNetworkStreamRangeRequestReader); + + this._manager = manager; + var args = { + onDone: this._onDone.bind(this), + onError: this._onError.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._url = manager.url; + this._requestId = manager.requestRange(begin, end, args); + this._requests = []; + this._queuedChunk = null; + this._done = false; + this._storedError = undefined; + this.onProgress = null; + this.onClosed = null; + } + + _createClass(PDFNetworkStreamRangeRequestReader, [{ + key: "_close", + value: function _close() { + var _this$onClosed; + + (_this$onClosed = this.onClosed) === null || _this$onClosed === void 0 ? void 0 : _this$onClosed.call(this, this); + } + }, { + key: "_onDone", + value: function _onDone(data) { + var chunk = data.chunk; + + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunk = chunk; + } + + this._done = true; + + var _iterator5 = _createForOfIteratorHelper(this._requests), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var _requestCapability2 = _step5.value; + + _requestCapability2.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this._requests.length = 0; + + this._close(); + } + }, { + key: "_onError", + value: function _onError(status) { + this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); + + var _iterator6 = _createForOfIteratorHelper(this._requests), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var requestCapability = _step6.value; + requestCapability.reject(this._storedError); + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + this._requests.length = 0; + this._queuedChunk = null; + } + }, { + key: "_onProgress", + value: function _onProgress(evt) { + if (!this.isStreamingSupported) { + var _this$onProgress2; + + (_this$onProgress2 = this.onProgress) === null || _this$onProgress2 === void 0 ? void 0 : _this$onProgress2.call(this, { + loaded: evt.loaded + }); + } + } + }, { + key: "isStreamingSupported", + get: function get() { + return false; + } + }, { + key: "read", + value: function () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var chunk, requestCapability; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!this._storedError) { + _context2.next = 2; + break; + } + + throw this._storedError; + + case 2: + if (!(this._queuedChunk !== null)) { + _context2.next = 6; + break; + } + + chunk = this._queuedChunk; + this._queuedChunk = null; + return _context2.abrupt("return", { + value: chunk, + done: false + }); + + case 6: + if (!this._done) { + _context2.next = 8; + break; + } + + return _context2.abrupt("return", { + value: undefined, + done: true + }); + + case 8: + requestCapability = (0, _util.createPromiseCapability)(); + + this._requests.push(requestCapability); + + return _context2.abrupt("return", requestCapability.promise); + + case 11: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + this._done = true; + + var _iterator7 = _createForOfIteratorHelper(this._requests), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var requestCapability = _step7.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + this._requests.length = 0; + + if (this._manager.isPendingRequest(this._requestId)) { + this._manager.abortRequest(this._requestId); + } + + this._close(); + } + }]); + + return PDFNetworkStreamRangeRequestReader; +}(); + +/***/ }), +/* 182 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFetchStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(156)); + +var _util = __w_pdfjs_require__(1); + +var _network_utils = __w_pdfjs_require__(179); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +; + +function createFetchOptions(headers, withCredentials, abortController) { + return { + method: "GET", + headers: headers, + signal: abortController === null || abortController === void 0 ? void 0 : abortController.signal, + mode: "cors", + credentials: withCredentials ? "include" : "same-origin", + redirect: "follow" + }; +} + +function createHeaders(httpHeaders) { + var headers = new Headers(); + + for (var property in httpHeaders) { + var value = httpHeaders[property]; + + if (typeof value === "undefined") { + continue; + } + + headers.append(property, value); + } + + return headers; +} + +var PDFFetchStream = /*#__PURE__*/function () { + function PDFFetchStream(source) { + _classCallCheck(this, PDFFetchStream); + + this.source = source; + this.isHttp = /^https?:/i.test(source.url); + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _createClass(PDFFetchStream, [{ + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFFetchStreamReader(this); + return this._fullRequestReader; + } + }, { + key: "getRangeReader", + value: function getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + + var reader = new PDFFetchStreamRangeReader(this, begin, end); + + this._rangeRequestReaders.push(reader); + + return reader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }]); + + return PDFFetchStream; +}(); + +exports.PDFFetchStream = PDFFetchStream; + +var PDFFetchStreamReader = /*#__PURE__*/function () { + function PDFFetchStreamReader(stream) { + var _this = this; + + _classCallCheck(this, PDFFetchStreamReader); + + this._stream = stream; + this._reader = null; + this._loaded = 0; + this._filename = null; + var source = stream.source; + this._withCredentials = source.withCredentials || false; + this._contentLength = source.length; + this._headersCapability = (0, _util.createPromiseCapability)(); + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + if (typeof AbortController !== "undefined") { + this._abortController = new AbortController(); + } + + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._headers = createHeaders(this._stream.httpHeaders); + var url = source.url; + fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + + _this._reader = response.body.getReader(); + + _this._headersCapability.resolve(); + + var getResponseHeader = function getResponseHeader(name) { + return response.headers.get(name); + }; + + var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader: getResponseHeader, + isHttp: _this._stream.isHttp, + rangeChunkSize: _this._rangeChunkSize, + disableRange: _this._disableRange + }), + allowRangeRequests = _validateRangeRequest.allowRangeRequests, + suggestedLength = _validateRangeRequest.suggestedLength; + + _this._isRangeSupported = allowRangeRequests; + _this._contentLength = suggestedLength || _this._contentLength; + _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + + if (!_this._isStreamingSupported && _this._isRangeSupported) { + _this.cancel(new _util.AbortException("Streaming is disabled.")); + } + })["catch"](this._headersCapability.reject); + this.onProgress = null; + } + + _createClass(PDFFetchStreamReader, [{ + key: "headersReady", + get: function get() { + return this._headersCapability.promise; + } + }, { + key: "filename", + get: function get() { + return this._filename; + } + }, { + key: "contentLength", + get: function get() { + return this._contentLength; + } + }, { + key: "isRangeSupported", + get: function get() { + return this._isRangeSupported; + } + }, { + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "read", + value: function () { + var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var _yield$this$_reader$r, value, done, buffer; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._headersCapability.promise; + + case 2: + _context.next = 4; + return this._reader.read(); + + case 4: + _yield$this$_reader$r = _context.sent; + value = _yield$this$_reader$r.value; + done = _yield$this$_reader$r.done; + + if (!done) { + _context.next = 9; + break; + } + + return _context.abrupt("return", { + value: value, + done: done + }); + + case 9: + this._loaded += value.byteLength; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded, + total: this._contentLength + }); + } + + buffer = new Uint8Array(value).buffer; + return _context.abrupt("return", { + value: buffer, + done: false + }); + + case 13: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function read() { + return _read.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (this._reader) { + this._reader.cancel(reason); + } + + if (this._abortController) { + this._abortController.abort(); + } + } + }]); + + return PDFFetchStreamReader; +}(); + +var PDFFetchStreamRangeReader = /*#__PURE__*/function () { + function PDFFetchStreamRangeReader(stream, begin, end) { + var _this2 = this; + + _classCallCheck(this, PDFFetchStreamRangeReader); + + this._stream = stream; + this._reader = null; + this._loaded = 0; + var source = stream.source; + this._withCredentials = source.withCredentials || false; + this._readCapability = (0, _util.createPromiseCapability)(); + this._isStreamingSupported = !source.disableStream; + + if (typeof AbortController !== "undefined") { + this._abortController = new AbortController(); + } + + this._headers = createHeaders(this._stream.httpHeaders); + + this._headers.append("Range", "bytes=".concat(begin, "-").concat(end - 1)); + + var url = source.url; + fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + + _this2._readCapability.resolve(); + + _this2._reader = response.body.getReader(); + })["catch"](this._readCapability.reject); + this.onProgress = null; + } + + _createClass(PDFFetchStreamRangeReader, [{ + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "read", + value: function () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var _yield$this$_reader$r2, value, done, buffer; + + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._readCapability.promise; + + case 2: + _context2.next = 4; + return this._reader.read(); + + case 4: + _yield$this$_reader$r2 = _context2.sent; + value = _yield$this$_reader$r2.value; + done = _yield$this$_reader$r2.done; + + if (!done) { + _context2.next = 9; + break; + } + + return _context2.abrupt("return", { + value: value, + done: done + }); + + case 9: + this._loaded += value.byteLength; + + if (this.onProgress) { + this.onProgress({ + loaded: this._loaded + }); + } + + buffer = new Uint8Array(value).buffer; + return _context2.abrupt("return", { + value: buffer, + done: false + }); + + case 13: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function read() { + return _read2.apply(this, arguments); + } + + return read; + }() + }, { + key: "cancel", + value: function cancel(reason) { + if (this._reader) { + this._reader.cancel(reason); + } + + if (this._abortController) { + this._abortController.abort(); + } + } + }]); + + return PDFFetchStreamRangeReader; +}(); + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __w_pdfjs_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ loaded: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/node module decorator */ +/******/ (() => { +/******/ __w_pdfjs_require__.nmd = (module) => { +/******/ module.paths = []; +/******/ if (!module.children) module.children = []; +/******/ return module; +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +var exports = __webpack_exports__; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "AnnotationLayer", ({ + enumerable: true, + get: function get() { + return _annotation_layer.AnnotationLayer; + } +})); +Object.defineProperty(exports, "AnnotationMode", ({ + enumerable: true, + get: function get() { + return _util.AnnotationMode; + } +})); +Object.defineProperty(exports, "CMapCompressionType", ({ + enumerable: true, + get: function get() { + return _util.CMapCompressionType; + } +})); +Object.defineProperty(exports, "GlobalWorkerOptions", ({ + enumerable: true, + get: function get() { + return _worker_options.GlobalWorkerOptions; + } +})); +Object.defineProperty(exports, "InvalidPDFException", ({ + enumerable: true, + get: function get() { + return _util.InvalidPDFException; + } +})); +Object.defineProperty(exports, "LoopbackPort", ({ + enumerable: true, + get: function get() { + return _api.LoopbackPort; + } +})); +Object.defineProperty(exports, "MissingPDFException", ({ + enumerable: true, + get: function get() { + return _util.MissingPDFException; + } +})); +Object.defineProperty(exports, "OPS", ({ + enumerable: true, + get: function get() { + return _util.OPS; + } +})); +Object.defineProperty(exports, "PDFDataRangeTransport", ({ + enumerable: true, + get: function get() { + return _api.PDFDataRangeTransport; + } +})); +Object.defineProperty(exports, "PDFDateString", ({ + enumerable: true, + get: function get() { + return _display_utils.PDFDateString; + } +})); +Object.defineProperty(exports, "PDFWorker", ({ + enumerable: true, + get: function get() { + return _api.PDFWorker; + } +})); +Object.defineProperty(exports, "PasswordResponses", ({ + enumerable: true, + get: function get() { + return _util.PasswordResponses; + } +})); +Object.defineProperty(exports, "PermissionFlag", ({ + enumerable: true, + get: function get() { + return _util.PermissionFlag; + } +})); +Object.defineProperty(exports, "PixelsPerInch", ({ + enumerable: true, + get: function get() { + return _display_utils.PixelsPerInch; + } +})); +Object.defineProperty(exports, "RenderingCancelledException", ({ + enumerable: true, + get: function get() { + return _display_utils.RenderingCancelledException; + } +})); +Object.defineProperty(exports, "SVGGraphics", ({ + enumerable: true, + get: function get() { + return _svg.SVGGraphics; + } +})); +Object.defineProperty(exports, "UNSUPPORTED_FEATURES", ({ + enumerable: true, + get: function get() { + return _util.UNSUPPORTED_FEATURES; + } +})); +Object.defineProperty(exports, "UnexpectedResponseException", ({ + enumerable: true, + get: function get() { + return _util.UnexpectedResponseException; + } +})); +Object.defineProperty(exports, "Util", ({ + enumerable: true, + get: function get() { + return _util.Util; + } +})); +Object.defineProperty(exports, "VerbosityLevel", ({ + enumerable: true, + get: function get() { + return _util.VerbosityLevel; + } +})); +Object.defineProperty(exports, "XfaLayer", ({ + enumerable: true, + get: function get() { + return _xfa_layer.XfaLayer; + } +})); +Object.defineProperty(exports, "build", ({ + enumerable: true, + get: function get() { + return _api.build; + } +})); +Object.defineProperty(exports, "createPromiseCapability", ({ + enumerable: true, + get: function get() { + return _util.createPromiseCapability; + } +})); +Object.defineProperty(exports, "createValidAbsoluteUrl", ({ + enumerable: true, + get: function get() { + return _util.createValidAbsoluteUrl; + } +})); +Object.defineProperty(exports, "getDocument", ({ + enumerable: true, + get: function get() { + return _api.getDocument; + } +})); +Object.defineProperty(exports, "getFilenameFromUrl", ({ + enumerable: true, + get: function get() { + return _display_utils.getFilenameFromUrl; + } +})); +Object.defineProperty(exports, "getPdfFilenameFromUrl", ({ + enumerable: true, + get: function get() { + return _display_utils.getPdfFilenameFromUrl; + } +})); +Object.defineProperty(exports, "getXfaPageViewport", ({ + enumerable: true, + get: function get() { + return _display_utils.getXfaPageViewport; + } +})); +Object.defineProperty(exports, "isPdfFile", ({ + enumerable: true, + get: function get() { + return _display_utils.isPdfFile; + } +})); +Object.defineProperty(exports, "loadScript", ({ + enumerable: true, + get: function get() { + return _display_utils.loadScript; + } +})); +Object.defineProperty(exports, "renderTextLayer", ({ + enumerable: true, + get: function get() { + return _text_layer.renderTextLayer; + } +})); +Object.defineProperty(exports, "shadow", ({ + enumerable: true, + get: function get() { + return _util.shadow; + } +})); +Object.defineProperty(exports, "version", ({ + enumerable: true, + get: function get() { + return _api.version; + } +})); + +var _util = __w_pdfjs_require__(1); + +var _api = __w_pdfjs_require__(155); + +var _display_utils = __w_pdfjs_require__(158); + +var _annotation_layer = __w_pdfjs_require__(173); + +var _worker_options = __w_pdfjs_require__(166); + +var _is_node = __w_pdfjs_require__(3); + +var _text_layer = __w_pdfjs_require__(176); + +var _svg = __w_pdfjs_require__(177); + +var _xfa_layer = __w_pdfjs_require__(175); + +var pdfjsVersion = '2.14.305'; +var pdfjsBuild = 'eaaa8b4ad'; +{ + if (_is_node.isNodeJS) { + var _require = __w_pdfjs_require__(178), + PDFNodeStream = _require.PDFNodeStream; + + (0, _api.setPDFNetworkStreamFactory)(function (params) { + return new PDFNodeStream(params); + }); + } else { + var _require2 = __w_pdfjs_require__(181), + PDFNetworkStream = _require2.PDFNetworkStream; + + var _require3 = __w_pdfjs_require__(182), + PDFFetchStream = _require3.PDFFetchStream; + + (0, _api.setPDFNetworkStreamFactory)(function (params) { + if ((0, _display_utils.isValidFetchUrl)(params.url)) { + return new PDFFetchStream(params); + } + + return new PDFNetworkStream(params); + }); + } +} +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=pdf.js.map \ No newline at end of file diff --git a/resources/pdfjs-legacy/build/pdf.js.map b/resources/pdfjs-legacy/build/pdf.js.map new file mode 100644 index 000000000..e6c9bf2c2 --- /dev/null +++ b/resources/pdfjs-legacy/build/pdf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pdf.js","mappings":"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","sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/src/shared/compatibility.js","webpack://pdfjs-dist/build/pdf/src/shared/is_node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/promise/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.aggregate-error.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.aggregate-error.constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-call.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-native.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-property-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-is-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/try-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has-own-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-weak-map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-name.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/length-of-array-like.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/clear-error-stack.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/install-error-cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterator-close.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/normalize-string-argument.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-installable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-iterator-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-species.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/species-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/task.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-apply.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-slice.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/validate-arguments-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-ios.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/microtask.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-ios-pebble.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/host-report-errors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/perform.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/queue.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/promise-native-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/promise-constructor-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-browser.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/new-promise-capability.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.catch.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.race.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.reject.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.resolve.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/promise-resolve.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.all-settled.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.any.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.finally.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-multibyte.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/path.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/web/structured-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.map.constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-metadata.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-slice-simple.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-is-extensible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-non-extensible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/freezing.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection-strong.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.set.constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.structured-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-get-flags.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-flags.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/regenerator/index.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/base_factory.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.js","webpack://pdfjs-dist/build/pdf/src/shared/murmurhash3.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/shared/image_utils.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/optional_content_config.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_text.js","webpack://pdfjs-dist/build/pdf/src/display/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/shared/scripting_utils.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_layer.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/webpack/runtime/node module decorator","webpack://pdfjs-dist/build/pdf/src/pdf.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = factory();\n})(this, () => {\nreturn ","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\n/**\n * Refer to the `WorkerTransport.getRenderingIntent`-method in the API, to see\n * how these flags are being used:\n * - ANY, DISPLAY, and PRINT are the normal rendering intents, note the\n * `PDFPageProxy.{render, getOperatorList, getAnnotations}`-methods.\n * - ANNOTATIONS_FORMS, ANNOTATIONS_STORAGE, ANNOTATIONS_DISABLE control which\n * annotations are rendered onto the canvas (i.e. by being included in the\n * operatorList), note the `PDFPageProxy.{render, getOperatorList}`-methods\n * and their `annotationMode`-option.\n * - OPLIST is used with the `PDFPageProxy.getOperatorList`-method, note the\n * `OperatorList`-constructor (on the worker-thread).\n */\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100,\n};\n\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3,\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26,\n};\n\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\",\n};\n\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\",\n};\n\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\",\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\n};\n\nconst StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\", // PDF short name is 'RL', but telemetry requires three chars.\n};\n\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1STANDARD: \"TYPE1STANDARD\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\",\n};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n /** @deprecated unused */\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n};\n\nconst UNSUPPORTED_FEATURES = {\n /** @deprecated unused */\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n /** @deprecated unused */\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\",\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs use one of the allowed protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} [baseUrl] - An absolute URL.\n * @param {Object} [options]\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n // Let URLs beginning with \"www.\" default to using the \"http://\" protocol.\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n // Avoid accidentally matching a *relative* URL pointing to a file named\n // e.g. \"www.pdf\" or similar.\n if (dots && dots.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see bug 1122280.\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n prop in obj,\n `shadow: Property \"${prop && prop.toString()}\" not found in object.`\n );\n }\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\n\nfunction bytesToString(bytes) {\n if (\n typeof bytes !== \"object\" ||\n bytes === null ||\n bytes.length === undefined\n ) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\n// eslint-disable-next-line consistent-return\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n if (arr.byteLength !== undefined) {\n return arr.byteLength;\n }\n unreachable(\"Invalid argument for arrayByteLength\");\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array|Uint8Array|string>} arr - the array of the arrays\n * (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n const length = arr.length;\n // Shortcut: if first and only item is Uint8Array, return it.\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n let resultLength = 0;\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n let pos = 0;\n const data = new Uint8Array(resultLength);\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\n\nfunction string32(value) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n typeof value === \"number\" && Math.abs(value) < 2 ** 32,\n `string32: Unexpected input \"${value}\".`\n );\n }\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch (e) {\n return false;\n }\n}\n\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n\n static get isOffscreenCanvasSupported() {\n return shadow(\n this,\n \"isOffscreenCanvasSupported\",\n typeof OffscreenCanvas !== \"undefined\"\n );\n }\n}\n\nconst hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n // Apply a scaling matrix to some min/max values.\n // If a scaling factor is negative then min and max must be\n // swaped.\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // Apply a generic 3d matrix M on a 3-vector v:\n // | a b c | | X |\n // | d e f | x | Y |\n // | g h i | | Z |\n // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n // with v as [X,Y,Z]\n static apply3dTransform(m, v) {\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n m[6] * v[0] + m[7] * v[1] + m[8] * v[2],\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'null'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n const xLow = Math.max(\n Math.min(rect1[0], rect1[2]),\n Math.min(rect2[0], rect2[2])\n );\n const xHigh = Math.min(\n Math.max(rect1[0], rect1[2]),\n Math.max(rect2[0], rect2[2])\n );\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(\n Math.min(rect1[1], rect1[3]),\n Math.min(rect2[1], rect2[3])\n );\n const yHigh = Math.min(\n Math.max(rect1[1], rect1[3]),\n Math.max(rect2[1], rect2[3])\n );\n if (yLow > yHigh) {\n return null;\n }\n\n return [xLow, yLow, xHigh, yHigh];\n }\n\n // From https://github.com/adobe-webplatform/Snap.svg/blob/b365287722a72526000ac4bfcf0ce4cac2faa015/src/path.js#L852\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] =\n mt * mt * mt * x0 +\n 3 * mt * mt * t * x1 +\n 3 * mt * t * t * x2 +\n t * t * t * x3;\n bounds[1][j] =\n mt * mt * mt * y0 +\n 3 * mt * mt * t * y1 +\n 3 * mt * t * t * y2 +\n t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return [\n Math.min(...bounds[0]),\n Math.min(...bounds[1]),\n Math.max(...bounds[0]),\n Math.max(...bounds[1]),\n ];\n }\n}\n\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n // ISO Latin 1\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n // replace \"(\", \")\", \"\\n\", \"\\r\" and \"\\\"\n // by \"\\(\", \"\\)\", \"\\\\n\", \"\\\\r\" and \"\\\\\"\n // in order to write it in a PDF file.\n return str.replace(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n return `\\\\${match}`;\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(\n String.fromCharCode((char >> 8) & 0xff),\n String.fromCharCode(char & 0xff)\n );\n }\n return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @returns {PromiseCapability}\n */\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n },\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationMode,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n arrayByteLength,\n arraysToBytes,\n assert,\n BaseException,\n bytesToString,\n CMapCompressionType,\n createPromiseCapability,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n escapeString,\n FeatureTest,\n FONT_IDENTITY_MATRIX,\n FontType,\n FormatError,\n getModificationDate,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isAscii,\n MissingPDFException,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n StreamType,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF16BEString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n UNSUPPORTED_FEATURES,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\n};\n","/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals __non_webpack_require__ */\n\nimport { isNodeJS } from \"./is_node.js\";\n\n// Skip compatibility checks for modern builds and if we already ran the module.\nif (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"SKIP_BABEL\")) &&\n !globalThis._pdfjsCompatibilityChecked\n) {\n globalThis._pdfjsCompatibilityChecked = true;\n\n // Support: Node.js\n (function checkNodeBtoa() {\n if (globalThis.btoa || !isNodeJS) {\n return;\n }\n globalThis.btoa = function (chars) {\n // eslint-disable-next-line no-undef\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n // Support: Node.js\n (function checkNodeAtob() {\n if (globalThis.atob || !isNodeJS) {\n return;\n }\n globalThis.atob = function (input) {\n // eslint-disable-next-line no-undef\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n // Support: Node.js\n (function checkDOMMatrix() {\n if (globalThis.DOMMatrix || !isNodeJS) {\n return;\n }\n globalThis.DOMMatrix = __non_webpack_require__(\n \"dommatrix/dist/dommatrix.js\"\n );\n })();\n\n // Provides support for *recent* additions to the Promise specification,\n // however basic Promise support is assumed to be available natively.\n // Support: Firefox<71, Chrome<76, Safari<13, Node.js<12.9.0\n (function checkPromise() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `Promise` shouldn't\n // need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.Promise.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: Node.js\n (function checkReadableStream() {\n if (globalThis.ReadableStream || !isNodeJS) {\n return;\n }\n globalThis.ReadableStream = __non_webpack_require__(\n \"web-streams-polyfill/dist/ponyfill.js\"\n ).ReadableStream;\n })();\n\n // Support: Firefox<94, Chrome<98, Safari<15.4, Node.js<17.0.0\n (function checkStructuredClone() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `structuredClone`\n // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.structuredClone) {\n return;\n }\n require(\"core-js/web/structured-clone.js\");\n })();\n}\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nexport { isNodeJS };\n","require('../../modules/es.aggregate-error');\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.any');\nrequire('../../modules/es.promise.finally');\nrequire('../../modules/es.string.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.aggregate-error.constructor');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar installErrorCause = require('../internals/install-error-cause');\nvar iterate = require('../internals/iterate');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Error = global.Error;\nvar push = [].push;\n\nvar $AggregateError = function AggregateError(errors, message /* , options */) {\n var options = arguments.length > 2 ? arguments[2] : undefined;\n var isInstance = isPrototypeOf(AggregateErrorPrototype, this);\n var that;\n if (setPrototypeOf) {\n that = setPrototypeOf(new Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);\n } else {\n that = isInstance ? this : create(AggregateErrorPrototype);\n createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));\n installErrorCause(that, options);\n var errorsArray = [];\n iterate(errors, push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\nif (setPrototypeOf) setPrototypeOf($AggregateError, Error);\nelse copyConstructorProperties($AggregateError, Error, { name: true });\n\nvar AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(1, $AggregateError),\n message: createPropertyDescriptor(1, ''),\n name: createPropertyDescriptor(1, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.22.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.22.3/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","module.exports = false;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es-x/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es-x/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/define-iterator');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n redefine(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es-x/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n Internal.prototype = redefineAll(PromisePrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n // eslint-disable-next-line unicorn/no-thenable -- safe\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n }\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n return passed;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // strange IE + webpack dev server bug - use .bind(global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length == 1 ? console.error(a) : console.error(a, b);\n }\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var global = require('../internals/global');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","module.exports = typeof window == 'object' && typeof Deno != 'object';\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es-x/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar redefine = require('../internals/redefine');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n redefine(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var AggregateError = getBuiltIn('AggregateError');\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aCallable(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n remaining++;\n call(promiseResolve, C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n redefine(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","require('../modules/es.array.iterator');\nrequire('../modules/es.object.to-string');\nrequire('../modules/es.map');\nrequire('../modules/es.set');\nrequire('../modules/web.structured-clone');\nvar path = require('../internals/path');\n\nmodule.exports = path.structuredClone;\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.map.constructor');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar isExtensible = require('../internals/object-is-extensible');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + id++, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar enable = function () {\n meta.enable = function () { /* empty */ };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n\n // prevent exposing of metadata key\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n } return result;\n };\n\n $({ target: 'Object', stat: true, forced: true }, {\n getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n });\n }\n};\n\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","/* eslint-disable es-x/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar Array = global.Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar ARRAY_BUFFER_NON_EXTENSIBLE = require('../internals/array-buffer-non-extensible');\n\n// eslint-disable-next-line es-x/no-object-isextensible -- safe\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });\n\n// `Object.isExtensible` method\n// https://tc39.es/ecma262/#sec-object.isextensible\nmodule.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {\n if (!isObject(it)) return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n","// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it\nvar fails = require('../internals/fails');\n\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-defineproperty -- safe\n if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-isextensible, es-x/no-object-preventextensions -- required for testing\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var Prototype = Constructor.prototype;\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(Prototype, {\n // `{ Map, Set }.prototype.clear()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.clear\n // https://tc39.es/ecma262/#sec-set.prototype.clear\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // `{ Map, Set }.prototype.delete(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.delete\n // https://tc39.es/ecma262/#sec-set.prototype.delete\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.foreach\n // https://tc39.es/ecma262/#sec-set.prototype.foreach\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // `{ Map, Set}.prototype.has(key)` methods\n // https://tc39.es/ecma262/#sec-map.prototype.has\n // https://tc39.es/ecma262/#sec-set.prototype.has\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(Prototype, IS_MAP ? {\n // `Map.prototype.get(key)` method\n // https://tc39.es/ecma262/#sec-map.prototype.get\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // `Map.prototype.set(key, value)` method\n // https://tc39.es/ecma262/#sec-map.prototype.set\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // `Set.prototype.add(value)` method\n // https://tc39.es/ecma262/#sec-set.prototype.add\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n // https://tc39.es/ecma262/#sec-map.prototype.entries\n // https://tc39.es/ecma262/#sec-map.prototype.keys\n // https://tc39.es/ecma262/#sec-map.prototype.values\n // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n // https://tc39.es/ecma262/#sec-set.prototype.entries\n // https://tc39.es/ecma262/#sec-set.prototype.keys\n // https://tc39.es/ecma262/#sec-set.prototype.values\n // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // `{ Map, Set }.prototype[@@species]` accessors\n // https://tc39.es/ecma262/#sec-get-map-@@species\n // https://tc39.es/ecma262/#sec-get-set-@@species\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/es.set.constructor');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var IS_PURE = require('../internals/is-pure');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltin = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar uid = require('../internals/uid');\nvar isCallable = require('../internals/is-callable');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar iterate = require('../internals/iterate');\nvar anObject = require('../internals/an-object');\nvar classof = require('../internals/classof');\nvar hasOwn = require('../internals/has-own-property');\nvar createProperty = require('../internals/create-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\nvar Object = global.Object;\nvar Date = global.Date;\nvar Error = global.Error;\nvar EvalError = global.EvalError;\nvar RangeError = global.RangeError;\nvar ReferenceError = global.ReferenceError;\nvar SyntaxError = global.SyntaxError;\nvar TypeError = global.TypeError;\nvar URIError = global.URIError;\nvar PerformanceMark = global.PerformanceMark;\nvar WebAssembly = global.WebAssembly;\nvar CompileError = WebAssembly && WebAssembly.CompileError || Error;\nvar LinkError = WebAssembly && WebAssembly.LinkError || Error;\nvar RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error;\nvar DOMException = getBuiltin('DOMException');\nvar Set = getBuiltin('Set');\nvar Map = getBuiltin('Map');\nvar MapPrototype = Map.prototype;\nvar mapHas = uncurryThis(MapPrototype.has);\nvar mapGet = uncurryThis(MapPrototype.get);\nvar mapSet = uncurryThis(MapPrototype.set);\nvar setAdd = uncurryThis(Set.prototype.add);\nvar objectKeys = getBuiltin('Object', 'keys');\nvar push = uncurryThis([].push);\nvar booleanValueOf = uncurryThis(true.valueOf);\nvar numberValueOf = uncurryThis(1.0.valueOf);\nvar stringValueOf = uncurryThis(''.valueOf);\nvar getTime = uncurryThis(Date.prototype.getTime);\nvar PERFORMANCE_MARK = uid('structuredClone');\nvar DATA_CLONE_ERROR = 'DataCloneError';\nvar TRANSFERRING = 'Transferring';\n\nvar checkBasicSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var set1 = new global.Set([7]);\n var set2 = structuredCloneImplementation(set1);\n var number = structuredCloneImplementation(Object(7));\n return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7;\n }) && structuredCloneImplementation;\n};\n\n// https://github.com/whatwg/html/pull/5749\nvar checkNewErrorsSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 }));\n return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3;\n }) && structuredCloneImplementation;\n};\n\n// FF94+, Safari TP134+, Chrome Canary 98+, NodeJS 17.0+, Deno 1.13+\n// current FF and Safari implementations can't clone errors\n// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604\n// no one of current implementations supports new (html/5749) error cloning semantic\nvar nativeStructuredClone = global.structuredClone;\n\nvar FORCED_REPLACEMENT = IS_PURE || !checkNewErrorsSemantic(nativeStructuredClone);\n\n// Chrome 82+, Safari 14.1+, Deno 1.11+\n// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException`\n// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround\n// current Safari implementation can't clone errors\n// Deno 1.2-1.10 implementations too naive\n// NodeJS 16.0+ does not have `PerformanceMark` constructor, structured cloning implementation\n// from `performance.mark` is too naive and can't clone, for example, `RegExp` or some boxed primitives\n// https://github.com/nodejs/node/issues/40840\n// no one of current implementations supports new (html/5749) error cloning semantic\nvar structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) {\n return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail;\n});\n\nvar nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark;\n\nvar throwUncloneable = function (type) {\n throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR);\n};\n\nvar throwUnpolyfillable = function (type, kind) {\n throw new DOMException((kind || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR);\n};\n\nvar structuredCloneInternal = function (value, map) {\n if (isSymbol(value)) throwUncloneable('Symbol');\n if (!isObject(value)) return value;\n // effectively preserves circular references\n if (map) {\n if (mapHas(map, value)) return mapGet(map, value);\n } else map = new Map();\n\n var type = classof(value);\n var deep = false;\n var C, name, cloned, dataTransfer, i, length, keys, key, source, target;\n\n switch (type) {\n case 'Array':\n cloned = [];\n deep = true;\n break;\n case 'Object':\n cloned = {};\n deep = true;\n break;\n case 'Map':\n cloned = new Map();\n deep = true;\n break;\n case 'Set':\n cloned = new Set();\n deep = true;\n break;\n case 'RegExp':\n // in this block because of a Safari 14.1 bug\n // old FF does not clone regexes passed to the constructor, so get the source and flags directly\n cloned = new RegExp(value.source, getRegExpFlags(value));\n break;\n case 'Error':\n name = value.name;\n switch (name) {\n case 'AggregateError':\n cloned = getBuiltin('AggregateError')([]);\n break;\n case 'EvalError':\n cloned = EvalError();\n break;\n case 'RangeError':\n cloned = RangeError();\n break;\n case 'ReferenceError':\n cloned = ReferenceError();\n break;\n case 'SyntaxError':\n cloned = SyntaxError();\n break;\n case 'TypeError':\n cloned = TypeError();\n break;\n case 'URIError':\n cloned = URIError();\n break;\n case 'CompileError':\n cloned = CompileError();\n break;\n case 'LinkError':\n cloned = LinkError();\n break;\n case 'RuntimeError':\n cloned = RuntimeError();\n break;\n default:\n cloned = Error();\n }\n deep = true;\n break;\n case 'DOMException':\n cloned = new DOMException(value.message, value.name);\n deep = true;\n break;\n case 'DataView':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'BigInt64Array':\n case 'BigUint64Array':\n C = global[type];\n // in some old engines like Safari 9, typeof C is 'object'\n // on Uint8ClampedArray or some other constructors\n if (!isObject(C)) throwUnpolyfillable(type);\n cloned = new C(\n // this is safe, since arraybuffer cannot have circular references\n structuredCloneInternal(value.buffer, map),\n value.byteOffset,\n type === 'DataView' ? value.byteLength : value.length\n );\n break;\n case 'DOMQuad':\n try {\n cloned = new DOMQuad(\n structuredCloneInternal(value.p1, map),\n structuredCloneInternal(value.p2, map),\n structuredCloneInternal(value.p3, map),\n structuredCloneInternal(value.p4, map)\n );\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n }\n break;\n case 'FileList':\n C = global.DataTransfer;\n if (isConstructor(C)) {\n dataTransfer = new C();\n for (i = 0, length = lengthOfArrayLike(value); i < length; i++) {\n dataTransfer.items.add(structuredCloneInternal(value[i], map));\n }\n cloned = dataTransfer.files;\n } else if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n break;\n case 'ImageData':\n // Safari 9 ImageData is a constructor, but typeof ImageData is 'object'\n try {\n cloned = new ImageData(\n structuredCloneInternal(value.data, map),\n value.width,\n value.height,\n { colorSpace: value.colorSpace }\n );\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else throwUnpolyfillable(type);\n } break;\n default:\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else switch (type) {\n case 'BigInt':\n // can be a 3rd party polyfill\n cloned = Object(value.valueOf());\n break;\n case 'Boolean':\n cloned = Object(booleanValueOf(value));\n break;\n case 'Number':\n cloned = Object(numberValueOf(value));\n break;\n case 'String':\n cloned = Object(stringValueOf(value));\n break;\n case 'Date':\n cloned = new Date(getTime(value));\n break;\n case 'ArrayBuffer':\n C = global.DataView;\n // `ArrayBuffer#slice` is not available in IE10\n // `ArrayBuffer#slice` and `DataView` are not available in old FF\n if (!C && typeof value.slice != 'function') throwUnpolyfillable(type);\n // detached buffers throws in `DataView` and `.slice`\n try {\n if (typeof value.slice == 'function') {\n cloned = value.slice(0);\n } else {\n length = value.byteLength;\n cloned = new ArrayBuffer(length);\n source = new C(value);\n target = new C(cloned);\n for (i = 0; i < length; i++) {\n target.setUint8(i, source.getUint8(i));\n }\n }\n } catch (error) {\n throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR);\n } break;\n case 'SharedArrayBuffer':\n // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original\n cloned = value;\n break;\n case 'Blob':\n try {\n cloned = value.slice(0, value.size, value.type);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMPoint':\n case 'DOMPointReadOnly':\n C = global[type];\n try {\n cloned = C.fromPoint\n ? C.fromPoint(value)\n : new C(value.x, value.y, value.z, value.w);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMRect':\n case 'DOMRectReadOnly':\n C = global[type];\n try {\n cloned = C.fromRect\n ? C.fromRect(value)\n : new C(value.x, value.y, value.width, value.height);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'DOMMatrix':\n case 'DOMMatrixReadOnly':\n C = global[type];\n try {\n cloned = C.fromMatrix\n ? C.fromMatrix(value)\n : new C(value);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone)) throwUnpolyfillable(type);\n try {\n cloned = value.clone();\n } catch (error) {\n throwUncloneable(type);\n } break;\n case 'File':\n try {\n cloned = new File([value], value.name, value);\n } catch (error) {\n throwUnpolyfillable(type);\n } break;\n case 'CryptoKey':\n case 'GPUCompilationMessage':\n case 'GPUCompilationInfo':\n case 'ImageBitmap':\n case 'RTCCertificate':\n case 'WebAssembly.Module':\n throwUnpolyfillable(type);\n // break omitted\n default:\n throwUncloneable(type);\n }\n }\n\n mapSet(map, value, cloned);\n\n if (deep) switch (type) {\n case 'Array':\n case 'Object':\n keys = objectKeys(value);\n for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) {\n key = keys[i];\n createProperty(cloned, key, structuredCloneInternal(value[key], map));\n } break;\n case 'Map':\n value.forEach(function (v, k) {\n mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map));\n });\n break;\n case 'Set':\n value.forEach(function (v) {\n setAdd(cloned, structuredCloneInternal(v, map));\n });\n break;\n case 'Error':\n createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map));\n if (hasOwn(value, 'cause')) {\n createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map));\n }\n if (name == 'AggregateError') {\n cloned.errors = structuredCloneInternal(value.errors, map);\n } // break omitted\n case 'DOMException':\n if (ERROR_STACK_INSTALLABLE) {\n createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map));\n }\n }\n\n return cloned;\n};\n\nvar PROPER_TRANSFER = nativeStructuredClone && !fails(function () {\n var buffer = new ArrayBuffer(8);\n var clone = nativeStructuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength != 0 || clone.byteLength != 8;\n});\n\nvar tryToTransfer = function (rawTransfer, map) {\n if (!isObject(rawTransfer)) throw TypeError('Transfer option cannot be converted to a sequence');\n\n var transfer = [];\n\n iterate(rawTransfer, function (value) {\n push(transfer, anObject(value));\n });\n\n var i = 0;\n var length = lengthOfArrayLike(transfer);\n var value, type, C, transferredArray, transferred, canvas, context;\n\n if (PROPER_TRANSFER) {\n transferredArray = nativeStructuredClone(transfer, { transfer: transfer });\n while (i < length) mapSet(map, transfer[i], transferredArray[i++]);\n } else while (i < length) {\n value = transfer[i++];\n if (mapHas(map, value)) throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR);\n\n type = classof(value);\n\n switch (type) {\n case 'ImageBitmap':\n C = global.OffscreenCanvas;\n if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING);\n try {\n canvas = new C(value.width, value.height);\n context = canvas.getContext('bitmaprenderer');\n context.transferFromImageBitmap(value);\n transferred = canvas.transferToImageBitmap();\n } catch (error) { /* empty */ }\n break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING);\n try {\n transferred = value.clone();\n value.close();\n } catch (error) { /* empty */ }\n break;\n case 'ArrayBuffer':\n case 'MessagePort':\n case 'OffscreenCanvas':\n case 'ReadableStream':\n case 'TransformStream':\n case 'WritableStream':\n throwUnpolyfillable(type, TRANSFERRING);\n }\n\n if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR);\n mapSet(map, value, transferred);\n }\n};\n\n$({ global: true, enumerable: true, sham: !PROPER_TRANSFER, forced: FORCED_REPLACEMENT }, {\n structuredClone: function structuredClone(value /* , { transfer } */) {\n var options = validateArgumentsLength(arguments.length, 1) > 1 && arguments[1] != null ? anObject(arguments[1]) : undefined;\n var transfer = options ? options.transfer : undefined;\n var map;\n\n if (transfer !== undefined) {\n map = new Map();\n tryToTransfer(transfer, map);\n }\n\n return structuredCloneInternal(value, map);\n }\n});\n","var call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n AnnotationMode,\n assert,\n createPromiseCapability,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n MissingPDFException,\n PasswordException,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMStandardFontDataFactory,\n isDataScheme,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport { AnnotationStorage } from \"./annotation_storage.js\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { XfaText } from \"./xfa_text.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\nlet DefaultCanvasFactory = DOMCanvasFactory;\nlet DefaultCMapReaderFactory = DOMCMapReaderFactory;\nlet DefaultStandardFontDataFactory = DOMStandardFontDataFactory;\n\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS) {\n const {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory,\n } = require(\"./node_utils.js\");\n\n DefaultCanvasFactory = NodeCanvasFactory;\n DefaultCMapReaderFactory = NodeCMapReaderFactory;\n DefaultStandardFontDataFactory = NodeStandardFontDataFactory;\n}\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params - The document initialization\n * parameters. The \"url\" key is always present.\n * @returns {Promise} A promise, which is resolved with an instance of\n * {IPDFStream}.\n * @ignore\n */\n\n/**\n * @type {IPDFStreamFactory}\n * @private\n */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates an {IPDFStream} as an alternative PDF\n * data transport.\n *\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - The factory function\n * that takes document initialization parameters (including a \"url\") and\n * returns a promise which is resolved with an instance of {IPDFStream}.\n * @ignore\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string|URL} [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use\n * typed arrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use `atob()` to convert it to a binary string first.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is `false`.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {TypedArray} [initialData] - A typed array with the first portion\n * or all of the pdf data. Used by the extension since some data is already\n * loaded before the switch to range requests.\n * @property {number} [length] - The PDF file length. It's used for progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} [range] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't\n * embedded in the PDF document will fallback to a system font.\n * The default value is `true` in web environments and `false` in Node.js;\n * unless `disableFontFace === true` in which case this defaults to `false`\n * regardless of the environment (to prevent completely broken fonts).\n * @property {string} [standardFontDataUrl] - The URL where the standard font\n * files are located. Include the trailing slash.\n * @property {Object} [StandardFontDataFactory] - The factory that will be used\n * when reading the standard font files. Providing a custom factory is useful\n * for environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMStandardFontDataFactory}.\n * @property {boolean} [useWorkerFetch] - Enable using the Fetch API in the\n * worker-thread when reading CMap and standard font files. When `true`,\n * the `CMapReaderFactory` and `StandardFontDataFactory` options are ignored.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via the Font Loading API or `@font-face` rules.\n * If disabled, fonts will be rendered using a built-in font renderer that\n * constructs the glyphs with primitive path commands.\n * The default value is `false` in web environments and `true` in Node.js.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string|URL|TypedArray|PDFDataRangeTransport|DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === \"string\" || src instanceof URL) {\n source = { url: src };\n } else if (isArrayBuffer(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\n \"Invalid parameter in getDocument, \" +\n \"need either string, URL, Uint8Array, or parameter object.\"\n );\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n source = src;\n }\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n // The full path is required in the 'url' field.\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n warn(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString(); // Support Node.js environments.\n continue;\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n case \"range\":\n rangeTransport = value;\n continue;\n case \"worker\":\n worker = value;\n continue;\n case \"data\":\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n value instanceof Buffer // eslint-disable-line no-undef\n ) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break; // Use the data as-is when it's already a Uint8Array.\n } else if (typeof value === \"string\") {\n params[key] = stringToBytes(value);\n } else if (\n typeof value === \"object\" &&\n value !== null &&\n !isNaN(value.length)\n ) {\n params[key] = new Uint8Array(value);\n } else if (isArrayBuffer(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\n \"Invalid PDF binary data: either typed array, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n }\n continue;\n }\n params[key] = value;\n }\n\n params.CMapReaderFactory =\n params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory =\n params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (!Number.isInteger(params.rangeChunkSize) || params.rangeChunkSize < 1) {\n params.rangeChunkSize = DEFAULT_RANGE_CHUNK_SIZE;\n }\n if (\n typeof params.docBaseUrl !== \"string\" ||\n isDataScheme(params.docBaseUrl)\n ) {\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n params.docBaseUrl = null;\n }\n if (!Number.isInteger(params.maxImageSize) || params.maxImageSize < -1) {\n params.maxImageSize = -1;\n }\n if (typeof params.cMapUrl !== \"string\") {\n params.cMapUrl = null;\n }\n if (typeof params.standardFontDataUrl !== \"string\") {\n params.standardFontDataUrl = null;\n }\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch =\n params.CMapReaderFactory === DOMCMapReaderFactory &&\n params.StandardFontDataFactory === DOMStandardFontDataFactory;\n }\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = isNodeJS;\n }\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts = !isNodeJS && !params.disableFontFace;\n }\n if (\n typeof params.ownerDocument !== \"object\" ||\n params.ownerDocument === null\n ) {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docId = task.docId;\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(\n worker,\n params,\n rangeTransport,\n docId\n );\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n },\n rangeTransport\n );\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n });\n }\n resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n params\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId - Unique document ID, used in `MessageHandler`.\n * @returns {Promise} A promise that is resolved when the worker ID of\n * the `MessageHandler` is known.\n * @private\n */\nasync function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n source.contentDispositionFilename =\n pdfDataRangeTransport.contentDispositionFilename;\n }\n const workerId = await worker.messageHandler.sendWithPromise(\n \"GetDocRequest\",\n {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n // Only send the required properties, and *not* the entire object.\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length,\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch\n ? source.standardFontDataUrl\n : null,\n }\n );\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\n\n/**\n * @typedef {Object} OnProgressParameters\n * @property {number} loaded - Currently loaded number of bytes.\n * @property {number} total - Total number of bytes in the PDF file.\n */\n\n/**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar).\n * The callback receives an {@link OnProgressParameters} argument.\n * @type {function}\n */\n this.onProgress = null;\n\n /**\n * Callback for when an unsupported feature is used in the PDF document.\n * The callback receives an {@link UNSUPPORTED_FEATURES} argument.\n * @type {function}\n */\n this.onUnsupportedFeature = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Abort all network requests and destroy the worker.\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\n\n/**\n * Abstract class to support range requests file loading.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = createPromiseCapability();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a `PDFDocument` in the worker thread.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n Object.defineProperty(this, \"fingerprint\", {\n get() {\n deprecated(\n \"`PDFDocumentProxy.fingerprint`, \" +\n \"please use `PDFDocumentProxy.fingerprints` instead.\"\n );\n return this.fingerprints[0];\n },\n });\n\n Object.defineProperty(this, \"getStats\", {\n value: async () => {\n deprecated(\n \"`PDFDocumentProxy.getStats`, \" +\n \"please use the `PDFDocumentProxy.stats`-getter instead.\"\n );\n return this.stats || { streamTypes: {}, fontTypes: {} };\n },\n });\n }\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {Array} A (not guaranteed to be) unique ID to\n * identify the PDF document.\n * NOTE: The first element will always be defined for all PDF documents,\n * whereas the second element is only defined for *modified* PDF documents.\n */\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n /**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the\n * document (an item is set to true if specific stream ID was used in the\n * document).\n * @property {Object} fontTypes - Used font types in the\n * document (an item is set to true if specific font ID was used in the\n * document).\n */\n\n /**\n * @type {PDFDocumentStats | null} The current statistics about document\n * structures, or `null` when no statistics exists.\n */\n get stats() {\n return this._transport.stats;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return !!this._transport._htmlForXfa;\n }\n\n /**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n *\n * @type {Object | null} An object representing a HTML tree structure\n * to render the XFA, or `null` when no XFA form exists.\n */\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting from zero, that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise>>} A promise that is resolved\n * with a mapping from named destinations to references.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise | null>} A promise that is resolved with all\n * information of the given named destination, or `null` when the named\n * destination is not present in the PDF file.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} containing the page labels that correspond to the page\n * indexes, or `null` when no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} containing the viewer preferences, or `null` when no viewer\n * preferences are present in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array}\n * containing the destination, or `null` when no open action is present\n * in the PDF.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table\n * for mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} of all the JavaScript strings in the name tree, or `null`\n * if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with the JavaScript actions:\n * - from the name tree (like getJavaScript);\n * - from A or AA entries in the catalog dictionary.\n * , or `null` if no JavaScript exists.\n */\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n /**\n * @typedef {Object} OutlineNode\n * @property {string} title\n * @property {boolean} bold\n * @property {boolean} italic\n * @property {Uint8ClampedArray} color - The color in RGB format to use for\n * display purposes.\n * @property {string | Array | null} dest\n * @property {string | null} url\n * @property {string | undefined} unsafeUrl\n * @property {boolean | undefined} newWindow\n * @property {number | undefined} count\n * @property {Array} items\n */\n\n /**\n * @returns {Promise>} A promise that is resolved with an\n * {Array} that is a tree outline (if it has one) of the PDF file.\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {@link OptionalContentConfig} that contains all the optional content\n * groups (assuming that the document has any).\n */\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} that contains the permission flags for the PDF document, or\n * `null` when no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise<{ info: Object, metadata: Metadata }>} A promise that is\n * resolved with an {Object} that has `info` and `metadata` properties.\n * `info` is an {Object} filled with anything available in the information\n * dictionary and similarly `metadata` is a {Metadata} object with\n * information from the metadata section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @typedef {Object} MarkInfo\n * Properties correspond to Table 321 of the PDF 32000-1:2008 spec.\n * @property {boolean} Marked\n * @property {boolean} UserProperties\n * @property {boolean} Suspects\n */\n\n /**\n * @returns {Promise} A promise that is resolved with\n * a {MarkInfo} object that contains the MarkInfo flags for the PDF\n * document, or `null` when no MarkInfo values are present in the PDF file.\n */\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {TypedArray} that has the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise<{ length: number }>} A promise that is resolved when the\n * document's data is loaded. It is resolved with an {Object} that contains\n * the `length` property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * Cleans up resources allocated by the document on both the main and worker\n * threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @param {boolean} [keepLoadedFonts] - Let fonts remain attached to the DOM.\n * NOTE: This will increase persistent memory usage, hence don't use this\n * option unless absolutely necessary. The default value is `false`.\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {DocumentInitParameters} A subset of the current\n * {DocumentInitParameters}, which are needed in the viewer.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the full data of the saved document.\n */\n saveDocument() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n this._transport.annotationStorage.size <= 0\n ) {\n deprecated(\n \"saveDocument called while `annotationStorage` is empty, \" +\n \"please use the getData-method instead.\"\n );\n }\n return this._transport.saveDocument();\n }\n\n /**\n * @returns {Promise> | null>} A promise that is\n * resolved with an {Object} containing /AcroForm field data for the JS\n * sandbox, or `null` when no field data is present in the PDF file.\n */\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with `true`\n * if some /AcroForm fields have JavaScript actions.\n */\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing IDs of annotations that have a calculation\n * action, or `null` when no such annotations are present in the PDF file.\n */\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} disableCombineTextItems - Do not attempt to combine\n * same line {@link TextItem}'s. The default value is `false`.\n * @property {boolean} [includeMarkedContent] - When true include marked\n * content items in the items array of TextContent. The default is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {Array} items - Array of\n * {@link TextItem} and {@link TextMarkedContent} objects. TextMarkedContent\n * items are included when includeMarkedContent is true.\n * @property {Object} styles - {@link TextStyle} objects,\n * indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - Text content.\n * @property {string} dir - Text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {Array} transform - Transformation matrix.\n * @property {number} width - Width in device space.\n * @property {number} height - Height in device space.\n * @property {string} fontName - Font name used by PDF.js for converted font.\n * @property {boolean} hasEOL - Indicating if the text content is followed by a\n * line-break.\n */\n\n/**\n * Page text marked content part.\n *\n * @typedef {Object} TextMarkedContent\n * @property {string} type - Either 'beginMarkedContent',\n * 'beginMarkedContentProps', or 'endMarkedContent'.\n * @property {string} id - The marked content identifier. Only used for type\n * 'beginMarkedContentProps'.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - Font ascent.\n * @property {number} descent - Font descent.\n * @property {boolean} vertical - Whether or not the text is in vertical mode.\n * @property {string} fontFamily - The possible font family.\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} [intent] - Determines the annotations that are fetched,\n * can be 'display' (viewable annotations), 'print' (printable annotations),\n * or 'any' (all annotations). The default value is 'display'.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {Object} canvasContext - A 2D context of a DOM Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by calling\n * the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are rendered\n * onto the canvas, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {Array} [transform] - Additional transform, applied just\n * before viewport transform.\n * @property {Object} [imageLayer] - An object that has `beginLayout`,\n * `endLayout` and `appendImage` functions.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object | string} [background] - Background to use for the canvas.\n * Any valid `canvas.fillStyle` can be used: a `DOMString` parsed as CSS\n * value, a `CanvasGradient` object (a linear or radial gradient) or\n * a `CanvasPattern` object (a repetitive image). The default value is\n * 'rgb(255,255,255)'.\n *\n * NOTE: This option may be partially, or completely, ignored when the\n * `pageColors`-option is used.\n * @property {Object} [pageColors] - Overwrites background and foreground colors\n * with user defined ones in order to improve readability in high contrast\n * mode.\n * @property {Promise} [optionalContentConfigPromise] -\n * A promise that should resolve with an {@link OptionalContentConfig}\n * created from `PDFDocumentProxy.getOptionalContentConfig`. If `null`,\n * the configuration will be fetched automatically with the default visibility\n * states set.\n * @property {Map} [annotationCanvasMap] - Map some\n * annotation ids with canvases used to render them.\n */\n\n/**\n * Page getOperatorList parameters.\n *\n * @typedef {Object} GetOperatorListParameters\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are included\n * in the operatorList, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n */\n\n/**\n * Structure tree node. The root node will have a role \"Root\".\n *\n * @typedef {Object} StructTreeNode\n * @property {Array} children - Array of\n * {@link StructTreeNode} and {@link StructTreeContent} objects.\n * @property {string} role - element's role, already mapped if a role map exists\n * in the PDF.\n */\n\n/**\n * Structure tree content.\n *\n * @typedef {Object} StructTreeContent\n * @property {string} type - either \"content\" for page and stream structure\n * elements or \"object\" for object references.\n * @property {string} id - unique id that will map to the text layer.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a `PDFPage` in the worker thread.\n */\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n /** @type {PDFObjects} */\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this._bitmaps = new Set();\n\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this._annotationPromises = new Map();\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {RefProxy | null} The reference that points to this page.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in\n * user space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise>} A promise that is resolved with an\n * {Array} of the annotation objects.\n */\n getAnnotations({ intent = \"display\" } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n let promise = this._annotationPromises.get(intentArgs.cacheKey);\n if (!promise) {\n promise = this._transport.getAnnotations(\n this._pageIndex,\n intentArgs.renderingIntent\n );\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n promise = promise.then(annotations => {\n for (const annotation of annotations) {\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get() {\n deprecated(\n \"`title`-property on annotation, please use `titleObj` instead.\"\n );\n return annotation.titleObj.str;\n },\n });\n }\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get() {\n deprecated(\n \"`contents`-property on annotation, please use `contentsObj` instead.\"\n );\n return annotation.contentsObj.str;\n },\n });\n }\n }\n return annotations;\n });\n }\n }\n return promise;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} with JS actions.\n */\n getJSActions() {\n return (this._jsActionsPromise ||= this._transport.getPageJSActions(\n this._pageIndex\n ));\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with a fake DOM object (a tree structure where elements\n * are {Object} with a name, attributes (class, style, ...), value and\n * children, very similar to a HTML DOM tree), or `null` if no XFA exists.\n */\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n *\n * @param {RenderParameters} params - Page render parameters.\n * @returns {RenderTask} An object that contains a promise that is\n * resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n }) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n if (arguments[0]?.renderInteractiveForms !== undefined) {\n deprecated(\n \"render no longer accepts the `renderInteractiveForms`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].renderInteractiveForms === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_FORMS;\n }\n }\n if (arguments[0]?.includeAnnotationStorage !== undefined) {\n deprecated(\n \"render no longer accepts the `includeAnnotationStorage`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].includeAnnotationStorage === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_STORAGE;\n }\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode\n );\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render.\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance =\n canvasFactory ||\n new DefaultCanvasFactory({ ownerDocument: this._ownerDocument });\n const intentPrint = !!(\n intentArgs.renderingIntent & RenderingIntentFlag.PRINT\n );\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = createPromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup once rendering has finished (regardless of cleanupAfterRender).\n if (this.cleanupAfterRender || intentPrint) {\n this.pendingCleanup = true;\n }\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error),\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors,\n });\n\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n Promise.all([\n intentState.displayReadyCapability.promise,\n optionalContentConfigPromise,\n ])\n .then(([transparency, optionalContentConfig]) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig,\n });\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @param {GetOperatorListParameters} params - Page getOperatorList\n * parameters.\n * @returns {Promise} A promise resolved with an\n * {@link PDFOperatorList} object that represents the page's operator list.\n */\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n /* isOpList = */ true\n );\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = createPromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} Stream for reading text content chunks.\n */\n streamTextContent({\n disableCombineTextItems = false,\n includeMarkedContent = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} A promise that is resolved with a\n * {@link TextContent} object that represents the page's text content.\n */\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n // TODO: We need to revisit this once the XFA foreground patch lands and\n // only do this for non-foreground XFA.\n return this.getXfa().then(xfa => {\n return XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {@link StructTreeNode} object that represents the page's structure tree,\n * or `null` when no structure tree is present for the current page.\n */\n getStructTree() {\n return (this._structTreePromise ||= this._transport.getStructTree(\n this._pageIndex\n ));\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intentState.opListReadCapability) {\n // Avoid errors below, since the renderTasks are just stubs.\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n this._bitmaps.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n *\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @private\n */\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup) {\n return false;\n }\n for (const { renderTasks, operatorList } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n if (resetStats && this._stats) {\n this._stats = new StatTimer();\n }\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n this._bitmaps.clear();\n this.pendingCleanup = false;\n return true;\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n /**\n * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList({ renderingIntent, cacheKey }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n Number.isInteger(renderingIntent) && renderingIntent > 0,\n '_pumpOperatorList: Expected valid \"renderingIntent\" argument.'\n );\n }\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage:\n renderingIntent & RenderingIntentFlag.ANNOTATIONS_STORAGE\n ? this._transport.annotationStorage.serializable\n : null,\n }\n );\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n }\n );\n };\n pump();\n }\n\n /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n reason instanceof Error,\n '_abortOperatorList: Expected valid \"reason\" argument.'\n );\n }\n\n if (!intentState.streamReader) {\n return;\n }\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.size > 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({ intentState, reason, force: true });\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n intentState.streamReader\n .cancel(new AbortException(reason.message))\n .catch(() => {\n // Avoid \"Uncaught promise\" messages in the console.\n });\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {Object} Returns page stats, if enabled; returns `null` otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n constructor() {\n this._listeners = [];\n this._deferred = Promise.resolve();\n }\n\n postMessage(obj, transfers) {\n const event = {\n data: structuredClone(obj, transfers),\n };\n\n this._deferred.then(() => {\n for (const listener of this._listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Object} [port] - The `workerPort` object.\n * @property {number} [verbosity] - Controls the logging level;\n * the constants from {@link VerbosityLevel} should be used.\n */\n\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0,\n};\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n PDFWorkerUtil.isWorkerDisabled = true;\n\n PDFWorkerUtil.fallbackWorkerSrc = PDFJSDev.test(\"LIB\")\n ? \"../pdf.worker.js\"\n : \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n\n // Check if URLs have the same origin. For non-HTTP based URLs, returns false.\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n // We will rely on blob URL's property to specify origin.\n // We want this function to fail in case if createObjectURL or Blob do not\n // exist or fail for some reason -- our Worker creation will fail anyway.\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\n/**\n * PDF.js web worker abstraction that controls the instantiation of PDF\n * documents. Message handlers are used to pass information from the main\n * thread to the worker thread and vice versa. If the creation of a web\n * worker is not possible, a \"fake\" worker will be used instead.\n *\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\nclass PDFWorker {\n static #workerPorts = new WeakMap();\n\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\n } = {}) {\n if (port && PDFWorker.#workerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n\n this._readyCapability = createPromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n PDFWorker.#workerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n /**\n * Promise for worker initialization completion.\n * @type {Promise}\n */\n get promise() {\n return this._readyCapability.promise;\n }\n\n /**\n * The current `workerPort`, when it exists.\n * @type {Worker}\n */\n get port() {\n return this._port;\n }\n\n /**\n * The current MessageHandler-instance.\n * @type {MessageHandler}\n */\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {\n // Ignoring \"ready\" event -- MessageHandler should already be initialized\n // and ready to accept messages.\n });\n this._readyCapability.resolve();\n }\n\n _initialize() {\n // If worker support isn't disabled explicit and the browser has worker\n // support, create a new web worker and test if it/the browser fulfills\n // all requirements to run parts of pdf.js in a web worker.\n // Right now, the requirement is, that an Uint8Array is still an\n // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n if (\n typeof Worker !== \"undefined\" &&\n !PDFWorkerUtil.isWorkerDisabled &&\n !PDFWorker._mainThreadWorkerMessageHandler\n ) {\n let workerSrc = PDFWorker.workerSrc;\n\n try {\n // Wraps workerSrc path into blob URL, if the former does not belong\n // to the same origin.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n !PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)\n ) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(\n new URL(workerSrc, window.location).href\n );\n }\n\n // Some versions of FF can't create a worker on localhost, see:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=683280\n const worker = new Worker(workerSrc);\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n // Fall back to fake worker if the termination is caused by an\n // error (e.g. NetworkError / SecurityError).\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n // Worker failed to initialize due to an error. Clean up and fall\n // back to the fake worker.\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n try {\n sendTest();\n } catch (e) {\n // We need fallback to a faked worker.\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array();\n // Ensure that we can use `postMessage` transfers.\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n\n // It might take time for the worker to initialize. We will try to send\n // the \"test\" message immediately, and once the \"ready\" message arrives.\n // The worker shall process only the first received \"test\" message.\n sendTest();\n return;\n } catch (e) {\n info(\"The worker has been disabled.\");\n }\n }\n // Either workers are disabled, not supported or have thrown an exception.\n // Thus, we fallback to a faked worker.\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal\n .then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n\n // All fake workers use the same port, making id unique.\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n\n // If the main thread is our worker, setup the handling for the\n // messages -- the main thread sends to it self.\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n\n const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n })\n .catch(reason => {\n this._readyCapability.reject(\n new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n );\n });\n }\n\n /**\n * Destroys the worker instance.\n */\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n // We need to terminate only web worker created resource.\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker.#workerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n\n /**\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (this.#workerPorts.has(params.port)) {\n return this.#workerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n\n /**\n * The current `workerSrc`, when it exists.\n * @type {string}\n */\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch (ex) {\n return null;\n }\n }\n\n // Loads worker code into the main-thread.\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a ` + + + + + + +
+ +
+
+
+
+ + + + +
+
+ +
+ +
+
+
+
+
+ + + +
+
+
+ +
+ + + + +
+
+
+
+ +
+ +
+ +
+ +
+ + +
+
+ + + + + + + + + Current View + + +
+ + +
+
+
+ +
+ +
+ + + +
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + +
+ +
+ +
+ +
+
+ +
+
+ + +
+
+ +
+ File name: +

-

+
+
+ File size: +

-

+
+
+
+ Title: +

-

+
+
+ Author: +

-

+
+
+ Subject: +

-

+
+
+ Keywords: +

-

+
+
+ Creation Date: +

-

+
+
+ Modification Date: +

-

+
+
+ Creator: +

-

+
+
+
+ PDF Producer: +

-

+
+
+ PDF Version: +

-

+
+
+ Page Count: +

-

+
+
+ Page Size: +

-

+
+
+
+ Fast Web View: +

-

+
+
+ +
+
+ +
+ Preparing document for printing… +
+
+ + 0% +
+
+ +
+
+
+ +
+
+ + + + diff --git a/resources/pdfjs-legacy/web/viewer.js b/resources/pdfjs-legacy/web/viewer.js new file mode 100644 index 000000000..34a7134ba --- /dev/null +++ b/resources/pdfjs-legacy/web/viewer.js @@ -0,0 +1,22411 @@ +/** + * @licstart The following is the entire license notice for the + * JavaScript code in this page + * + * Copyright 2022 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @licend The above is the entire license notice for the + * JavaScript code in this page + */ + +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.compatibilityParams = exports.OptionKind = exports.AppOptions = void 0; + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var compatibilityParams = Object.create(null); +exports.compatibilityParams = compatibilityParams; +{ + var userAgent = navigator.userAgent || ""; + var platform = navigator.platform || ""; + var maxTouchPoints = navigator.maxTouchPoints || 1; + var isAndroid = /Android/.test(userAgent); + var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === "MacIntel" && maxTouchPoints > 1; + + (function checkCanvasSizeLimitation() { + if (isIOS || isAndroid) { + compatibilityParams.maxCanvasPixels = 5242880; + } + })(); +} +var OptionKind = { + VIEWER: 0x02, + API: 0x04, + WORKER: 0x08, + PREFERENCE: 0x80 +}; +exports.OptionKind = OptionKind; +var defaultOptions = { + annotationMode: { + value: 2, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + cursorToolOnLoad: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + defaultUrl: { + value: "compressed.tracemonkey-pldi-09.pdf", + kind: OptionKind.VIEWER + }, + defaultZoomValue: { + value: "", + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + disableHistory: { + value: false, + kind: OptionKind.VIEWER + }, + disablePageLabels: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enablePermissions: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enablePrintAutoRotate: { + value: true, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enableScripting: { + value: true, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + externalLinkRel: { + value: "noopener noreferrer nofollow", + kind: OptionKind.VIEWER + }, + externalLinkTarget: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + historyUpdateUrl: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + ignoreDestinationZoom: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + imageResourcesPath: { + value: "./images/", + kind: OptionKind.VIEWER + }, + maxCanvasPixels: { + value: 16777216, + compatibility: compatibilityParams.maxCanvasPixels, + kind: OptionKind.VIEWER + }, + pageColorsBackground: { + value: "Canvas", + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + pageColorsForeground: { + value: "CanvasText", + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + pdfBugEnabled: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + printResolution: { + value: 150, + kind: OptionKind.VIEWER + }, + renderer: { + value: "canvas", + kind: OptionKind.VIEWER + }, + sidebarViewOnLoad: { + value: -1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + scrollModeOnLoad: { + value: -1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + spreadModeOnLoad: { + value: -1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + textLayerMode: { + value: 1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + useOnlyCssZoom: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + viewerCssTheme: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + viewOnLoad: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + cMapPacked: { + value: true, + kind: OptionKind.API + }, + cMapUrl: { + value: "../web/cmaps/", + kind: OptionKind.API + }, + disableAutoFetch: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + disableFontFace: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + disableRange: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + disableStream: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + docBaseUrl: { + value: "", + kind: OptionKind.API + }, + enableXfa: { + value: true, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + fontExtraProperties: { + value: false, + kind: OptionKind.API + }, + isEvalSupported: { + value: true, + kind: OptionKind.API + }, + maxImageSize: { + value: -1, + kind: OptionKind.API + }, + pdfBug: { + value: false, + kind: OptionKind.API + }, + standardFontDataUrl: { + value: "../web/standard_fonts/", + kind: OptionKind.API + }, + verbosity: { + value: 1, + kind: OptionKind.API + }, + workerPort: { + value: null, + kind: OptionKind.WORKER + }, + workerSrc: { + value: "../build/pdf.worker.js", + kind: OptionKind.WORKER + } +}; +{ + defaultOptions.disablePreferences = { + value: false, + kind: OptionKind.VIEWER + }; + defaultOptions.locale = { + value: navigator.language || "en-US", + kind: OptionKind.VIEWER + }; + defaultOptions.sandboxBundleSrc = { + value: "../build/pdf.sandbox.js", + kind: OptionKind.VIEWER + }; + defaultOptions.renderer.kind += OptionKind.PREFERENCE; +} +var userOptions = Object.create(null); + +var AppOptions = /*#__PURE__*/function () { + function AppOptions() { + _classCallCheck(this, AppOptions); + + throw new Error("Cannot initialize AppOptions."); + } + + _createClass(AppOptions, null, [{ + key: "get", + value: function get(name) { + var userOption = userOptions[name]; + + if (userOption !== undefined) { + return userOption; + } + + var defaultOption = defaultOptions[name]; + + if (defaultOption !== undefined) { + var _defaultOption$compat; + + return (_defaultOption$compat = defaultOption.compatibility) !== null && _defaultOption$compat !== void 0 ? _defaultOption$compat : defaultOption.value; + } + + return undefined; + } + }, { + key: "getAll", + value: function getAll() { + var kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + var options = Object.create(null); + + for (var name in defaultOptions) { + var _defaultOption$compat2; + + var defaultOption = defaultOptions[name]; + + if (kind) { + if ((kind & defaultOption.kind) === 0) { + continue; + } + + if (kind === OptionKind.PREFERENCE) { + var value = defaultOption.value, + valueType = _typeof(value); + + if (valueType === "boolean" || valueType === "string" || valueType === "number" && Number.isInteger(value)) { + options[name] = value; + continue; + } + + throw new Error("Invalid type for preference: ".concat(name)); + } + } + + var userOption = userOptions[name]; + options[name] = userOption !== undefined ? userOption : (_defaultOption$compat2 = defaultOption.compatibility) !== null && _defaultOption$compat2 !== void 0 ? _defaultOption$compat2 : defaultOption.value; + } + + return options; + } + }, { + key: "set", + value: function set(name, value) { + userOptions[name] = value; + } + }, { + key: "setAll", + value: function setAll(options) { + for (var name in options) { + userOptions[name] = options[name]; + } + } + }, { + key: "remove", + value: function remove(name) { + delete userOptions[name]; + } + }, { + key: "_hasUserOptions", + value: function _hasUserOptions() { + return Object.keys(userOptions).length > 0; + } + }]); + + return AppOptions; +}(); + +exports.AppOptions = AppOptions; + +/***/ }), +/* 2 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFViewerApplication = exports.PDFPrintServiceFactory = exports.DefaultExternalServices = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _ui_utils = __webpack_require__(5); + +var _app_options = __webpack_require__(1); + +var _event_utils = __webpack_require__(6); + +var _pdfjsLib = __webpack_require__(7); + +var _pdf_cursor_tools = __webpack_require__(8); + +var _pdf_link_service = __webpack_require__(10); + +var _overlay_manager = __webpack_require__(11); + +var _password_prompt = __webpack_require__(13); + +var _pdf_attachment_viewer = __webpack_require__(14); + +var _pdf_document_properties = __webpack_require__(16); + +var _pdf_find_bar = __webpack_require__(17); + +var _pdf_find_controller = __webpack_require__(18); + +var _pdf_history = __webpack_require__(20); + +var _pdf_layer_viewer = __webpack_require__(21); + +var _pdf_outline_viewer = __webpack_require__(22); + +var _pdf_presentation_mode = __webpack_require__(23); + +var _pdf_rendering_queue = __webpack_require__(24); + +var _pdf_scripting_manager = __webpack_require__(25); + +var _pdf_sidebar = __webpack_require__(26); + +var _pdf_sidebar_resizer = __webpack_require__(27); + +var _pdf_thumbnail_viewer = __webpack_require__(28); + +var _pdf_viewer = __webpack_require__(30); + +var _secondary_toolbar = __webpack_require__(39); + +var _toolbar = __webpack_require__(40); + +var _view_history = __webpack_require__(41); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000; +var FORCE_PAGES_LOADED_TIMEOUT = 10000; +var WHEEL_ZOOM_DISABLED_TIMEOUT = 1000; +var ViewOnLoad = { + UNKNOWN: -1, + PREVIOUS: 0, + INITIAL: 1 +}; +var ViewerCssTheme = { + AUTOMATIC: 0, + LIGHT: 1, + DARK: 2 +}; +var KNOWN_VERSIONS = ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2.0", "2.1", "2.2", "2.3"]; +var KNOWN_GENERATORS = ["acrobat distiller", "acrobat pdfwriter", "adobe livecycle", "adobe pdf library", "adobe photoshop", "ghostscript", "tcpdf", "cairo", "dvipdfm", "dvips", "pdftex", "pdfkit", "itext", "prince", "quarkxpress", "mac os x", "microsoft", "openoffice", "oracle", "luradocument", "pdf-xchange", "antenna house", "aspose.cells", "fpdf"]; + +var DefaultExternalServices = /*#__PURE__*/function () { + function DefaultExternalServices() { + _classCallCheck(this, DefaultExternalServices); + + throw new Error("Cannot initialize DefaultExternalServices."); + } + + _createClass(DefaultExternalServices, null, [{ + key: "updateFindControlState", + value: function updateFindControlState(data) {} + }, { + key: "updateFindMatchesCount", + value: function updateFindMatchesCount(data) {} + }, { + key: "initPassiveLoading", + value: function initPassiveLoading(callbacks) {} + }, { + key: "reportTelemetry", + value: function reportTelemetry(data) {} + }, { + key: "createDownloadManager", + value: function createDownloadManager(options) { + throw new Error("Not implemented: createDownloadManager"); + } + }, { + key: "createPreferences", + value: function createPreferences() { + throw new Error("Not implemented: createPreferences"); + } + }, { + key: "createL10n", + value: function createL10n(options) { + throw new Error("Not implemented: createL10n"); + } + }, { + key: "createScripting", + value: function createScripting(options) { + throw new Error("Not implemented: createScripting"); + } + }, { + key: "supportsIntegratedFind", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "supportsIntegratedFind", false); + } + }, { + key: "supportsDocumentFonts", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "supportsDocumentFonts", true); + } + }, { + key: "supportedMouseWheelZoomModifierKeys", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "supportedMouseWheelZoomModifierKeys", { + ctrlKey: true, + metaKey: true + }); + } + }, { + key: "isInAutomation", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "isInAutomation", false); + } + }]); + + return DefaultExternalServices; +}(); + +exports.DefaultExternalServices = DefaultExternalServices; +var PDFViewerApplication = { + initialBookmark: document.location.hash.substring(1), + _initializedCapability: (0, _pdfjsLib.createPromiseCapability)(), + appConfig: null, + pdfDocument: null, + pdfLoadingTask: null, + printService: null, + pdfViewer: null, + pdfThumbnailViewer: null, + pdfRenderingQueue: null, + pdfPresentationMode: null, + pdfDocumentProperties: null, + pdfLinkService: null, + pdfHistory: null, + pdfSidebar: null, + pdfSidebarResizer: null, + pdfOutlineViewer: null, + pdfAttachmentViewer: null, + pdfLayerViewer: null, + pdfCursorTools: null, + pdfScriptingManager: null, + store: null, + downloadManager: null, + overlayManager: null, + preferences: null, + toolbar: null, + secondaryToolbar: null, + eventBus: null, + l10n: null, + isInitialViewSet: false, + downloadComplete: false, + isViewerEmbedded: window.parent !== window, + url: "", + baseUrl: "", + _downloadUrl: "", + externalServices: DefaultExternalServices, + _boundEvents: Object.create(null), + documentInfo: null, + metadata: null, + _contentDispositionFilename: null, + _contentLength: null, + _saveInProgress: false, + _docStats: null, + _wheelUnusedTicks: 0, + _idleCallbacks: new Set(), + _PDFBug: null, + initialize: function initialize(appConfig) { + var _this = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var appContainer; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _this.preferences = _this.externalServices.createPreferences(); + _this.appConfig = appConfig; + _context.next = 4; + return _this._readPreferences(); + + case 4: + _context.next = 6; + return _this._parseHashParameters(); + + case 6: + _this._forceCssTheme(); + + _context.next = 9; + return _this._initializeL10n(); + + case 9: + if (_this.isViewerEmbedded && _app_options.AppOptions.get("externalLinkTarget") === _pdf_link_service.LinkTarget.NONE) { + _app_options.AppOptions.set("externalLinkTarget", _pdf_link_service.LinkTarget.TOP); + } + + _context.next = 12; + return _this._initializeViewerComponents(); + + case 12: + _this.bindEvents(); + + _this.bindWindowEvents(); + + appContainer = appConfig.appContainer || document.documentElement; + + _this.l10n.translate(appContainer).then(function () { + _this.eventBus.dispatch("localized", { + source: _this + }); + }); + + _this._initializedCapability.resolve(); + + case 17: + case "end": + return _context.stop(); + } + } + }, _callee); + }))(); + }, + _readPreferences: function _readPreferences() { + var _this2 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!_app_options.AppOptions.get("disablePreferences")) { + _context2.next = 2; + break; + } + + return _context2.abrupt("return"); + + case 2: + if (_app_options.AppOptions._hasUserOptions()) { + console.warn("_readPreferences: The Preferences may override manually set AppOptions; " + 'please use the "disablePreferences"-option in order to prevent that.'); + } + + _context2.prev = 3; + _context2.t0 = _app_options.AppOptions; + _context2.next = 7; + return _this2.preferences.getAll(); + + case 7: + _context2.t1 = _context2.sent; + + _context2.t0.setAll.call(_context2.t0, _context2.t1); + + _context2.next = 14; + break; + + case 11: + _context2.prev = 11; + _context2.t2 = _context2["catch"](3); + console.error("_readPreferences: \"".concat(_context2.t2 === null || _context2.t2 === void 0 ? void 0 : _context2.t2.message, "\".")); + + case 14: + case "end": + return _context2.stop(); + } + } + }, _callee2, null, [[3, 11]]); + }))(); + }, + _parseHashParameters: function _parseHashParameters() { + var _this3 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + var hash, _this3$appConfig, mainContainer, viewerContainer, params, enabled; + + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (_app_options.AppOptions.get("pdfBugEnabled")) { + _context3.next = 2; + break; + } + + return _context3.abrupt("return"); + + case 2: + hash = document.location.hash.substring(1); + + if (hash) { + _context3.next = 5; + break; + } + + return _context3.abrupt("return"); + + case 5: + _this3$appConfig = _this3.appConfig, mainContainer = _this3$appConfig.mainContainer, viewerContainer = _this3$appConfig.viewerContainer, params = (0, _ui_utils.parseQueryString)(hash); + + if (!(params.get("disableworker") === "true")) { + _context3.next = 15; + break; + } + + _context3.prev = 7; + _context3.next = 10; + return loadFakeWorker(); + + case 10: + _context3.next = 15; + break; + + case 12: + _context3.prev = 12; + _context3.t0 = _context3["catch"](7); + console.error("_parseHashParameters: \"".concat(_context3.t0.message, "\".")); + + case 15: + if (params.has("disablerange")) { + _app_options.AppOptions.set("disableRange", params.get("disablerange") === "true"); + } + + if (params.has("disablestream")) { + _app_options.AppOptions.set("disableStream", params.get("disablestream") === "true"); + } + + if (params.has("disableautofetch")) { + _app_options.AppOptions.set("disableAutoFetch", params.get("disableautofetch") === "true"); + } + + if (params.has("disablefontface")) { + _app_options.AppOptions.set("disableFontFace", params.get("disablefontface") === "true"); + } + + if (params.has("disablehistory")) { + _app_options.AppOptions.set("disableHistory", params.get("disablehistory") === "true"); + } + + if (params.has("verbosity")) { + _app_options.AppOptions.set("verbosity", params.get("verbosity") | 0); + } + + if (!params.has("textlayer")) { + _context3.next = 38; + break; + } + + _context3.t1 = params.get("textlayer"); + _context3.next = _context3.t1 === "off" ? 25 : _context3.t1 === "visible" ? 27 : _context3.t1 === "shadow" ? 27 : _context3.t1 === "hover" ? 27 : 38; + break; + + case 25: + _app_options.AppOptions.set("textLayerMode", _ui_utils.TextLayerMode.DISABLE); + + return _context3.abrupt("break", 38); + + case 27: + viewerContainer.classList.add("textLayer-".concat(params.get("textlayer"))); + _context3.prev = 28; + _context3.next = 31; + return loadPDFBug(_this3); + + case 31: + _this3._PDFBug.loadCSS(); + + _context3.next = 37; + break; + + case 34: + _context3.prev = 34; + _context3.t2 = _context3["catch"](28); + console.error("_parseHashParameters: \"".concat(_context3.t2.message, "\".")); + + case 37: + return _context3.abrupt("break", 38); + + case 38: + if (!params.has("pdfbug")) { + _context3.next = 51; + break; + } + + _app_options.AppOptions.set("pdfBug", true); + + _app_options.AppOptions.set("fontExtraProperties", true); + + enabled = params.get("pdfbug").split(","); + _context3.prev = 42; + _context3.next = 45; + return loadPDFBug(_this3); + + case 45: + _this3._PDFBug.init({ + OPS: _pdfjsLib.OPS + }, mainContainer, enabled); + + _context3.next = 51; + break; + + case 48: + _context3.prev = 48; + _context3.t3 = _context3["catch"](42); + console.error("_parseHashParameters: \"".concat(_context3.t3.message, "\".")); + + case 51: + if (params.has("locale")) { + _app_options.AppOptions.set("locale", params.get("locale")); + } + + case 52: + case "end": + return _context3.stop(); + } + } + }, _callee3, null, [[7, 12], [28, 34], [42, 48]]); + }))(); + }, + _initializeL10n: function _initializeL10n() { + var _this4 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { + var dir; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + _this4.l10n = _this4.externalServices.createL10n({ + locale: _app_options.AppOptions.get("locale") + }); + _context4.next = 3; + return _this4.l10n.getDirection(); + + case 3: + dir = _context4.sent; + document.getElementsByTagName("html")[0].dir = dir; + + case 5: + case "end": + return _context4.stop(); + } + } + }, _callee4); + }))(); + }, + _forceCssTheme: function _forceCssTheme() { + var cssTheme = _app_options.AppOptions.get("viewerCssTheme"); + + if (cssTheme === ViewerCssTheme.AUTOMATIC || !Object.values(ViewerCssTheme).includes(cssTheme)) { + return; + } + + try { + var styleSheet = document.styleSheets[0]; + var cssRules = (styleSheet === null || styleSheet === void 0 ? void 0 : styleSheet.cssRules) || []; + + for (var i = 0, ii = cssRules.length; i < ii; i++) { + var _rule$media; + + var rule = cssRules[i]; + + if (rule instanceof CSSMediaRule && ((_rule$media = rule.media) === null || _rule$media === void 0 ? void 0 : _rule$media[0]) === "(prefers-color-scheme: dark)") { + if (cssTheme === ViewerCssTheme.LIGHT) { + styleSheet.deleteRule(i); + return; + } + + var darkRules = /^@media \(prefers-color-scheme: dark\) {\n\s*([\w\s-.,:;/\\{}()]+)\n}$/.exec(rule.cssText); + + if (darkRules !== null && darkRules !== void 0 && darkRules[1]) { + styleSheet.deleteRule(i); + styleSheet.insertRule(darkRules[1], i); + } + + return; + } + } + } catch (reason) { + console.error("_forceCssTheme: \"".concat(reason === null || reason === void 0 ? void 0 : reason.message, "\".")); + } + }, + _initializeViewerComponents: function _initializeViewerComponents() { + var _this5 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5() { + var appConfig, externalServices, eventBus, pdfRenderingQueue, pdfLinkService, downloadManager, findController, pdfScriptingManager, container, viewer; + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + appConfig = _this5.appConfig, externalServices = _this5.externalServices; + eventBus = externalServices.isInAutomation ? new _event_utils.AutomationEventBus() : new _event_utils.EventBus(); + _this5.eventBus = eventBus; + _this5.overlayManager = new _overlay_manager.OverlayManager(); + pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue(); + pdfRenderingQueue.onIdle = _this5._cleanup.bind(_this5); + _this5.pdfRenderingQueue = pdfRenderingQueue; + pdfLinkService = new _pdf_link_service.PDFLinkService({ + eventBus: eventBus, + externalLinkTarget: _app_options.AppOptions.get("externalLinkTarget"), + externalLinkRel: _app_options.AppOptions.get("externalLinkRel"), + ignoreDestinationZoom: _app_options.AppOptions.get("ignoreDestinationZoom") + }); + _this5.pdfLinkService = pdfLinkService; + downloadManager = externalServices.createDownloadManager(); + _this5.downloadManager = downloadManager; + findController = new _pdf_find_controller.PDFFindController({ + linkService: pdfLinkService, + eventBus: eventBus + }); + _this5.findController = findController; + pdfScriptingManager = new _pdf_scripting_manager.PDFScriptingManager({ + eventBus: eventBus, + sandboxBundleSrc: _app_options.AppOptions.get("sandboxBundleSrc"), + scriptingFactory: externalServices, + docPropertiesLookup: _this5._scriptingDocProperties.bind(_this5) + }); + _this5.pdfScriptingManager = pdfScriptingManager; + container = appConfig.mainContainer; + viewer = appConfig.viewerContainer; + _this5.pdfViewer = new _pdf_viewer.PDFViewer({ + container: container, + viewer: viewer, + eventBus: eventBus, + renderingQueue: pdfRenderingQueue, + linkService: pdfLinkService, + downloadManager: downloadManager, + findController: findController, + scriptingManager: _app_options.AppOptions.get("enableScripting") && pdfScriptingManager, + renderer: _app_options.AppOptions.get("renderer"), + l10n: _this5.l10n, + textLayerMode: _app_options.AppOptions.get("textLayerMode"), + annotationMode: _app_options.AppOptions.get("annotationMode"), + imageResourcesPath: _app_options.AppOptions.get("imageResourcesPath"), + enablePrintAutoRotate: _app_options.AppOptions.get("enablePrintAutoRotate"), + useOnlyCssZoom: _app_options.AppOptions.get("useOnlyCssZoom"), + maxCanvasPixels: _app_options.AppOptions.get("maxCanvasPixels"), + enablePermissions: _app_options.AppOptions.get("enablePermissions"), + pageColors: { + background: _app_options.AppOptions.get("pageColorsBackground"), + foreground: _app_options.AppOptions.get("pageColorsForeground") + } + }); + pdfRenderingQueue.setViewer(_this5.pdfViewer); + pdfLinkService.setViewer(_this5.pdfViewer); + pdfScriptingManager.setViewer(_this5.pdfViewer); + _this5.pdfThumbnailViewer = new _pdf_thumbnail_viewer.PDFThumbnailViewer({ + container: appConfig.sidebar.thumbnailView, + eventBus: eventBus, + renderingQueue: pdfRenderingQueue, + linkService: pdfLinkService, + l10n: _this5.l10n + }); + pdfRenderingQueue.setThumbnailViewer(_this5.pdfThumbnailViewer); + + if (!_this5.isViewerEmbedded && !_app_options.AppOptions.get("disableHistory")) { + _this5.pdfHistory = new _pdf_history.PDFHistory({ + linkService: pdfLinkService, + eventBus: eventBus + }); + pdfLinkService.setHistory(_this5.pdfHistory); + } + + if (!_this5.supportsIntegratedFind) { + _this5.findBar = new _pdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, _this5.l10n); + } + + _this5.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, _this5.overlayManager, eventBus, _this5.l10n); + _this5.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({ + container: container, + eventBus: eventBus, + cursorToolOnLoad: _app_options.AppOptions.get("cursorToolOnLoad") + }); + _this5.toolbar = new _toolbar.Toolbar(appConfig.toolbar, eventBus, _this5.l10n); + _this5.secondaryToolbar = new _secondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, eventBus); + + if (_this5.supportsFullscreen) { + _this5.pdfPresentationMode = new _pdf_presentation_mode.PDFPresentationMode({ + container: container, + pdfViewer: _this5.pdfViewer, + eventBus: eventBus + }); + } + + _this5.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, _this5.overlayManager, _this5.l10n, _this5.isViewerEmbedded); + _this5.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({ + container: appConfig.sidebar.outlineView, + eventBus: eventBus, + linkService: pdfLinkService + }); + _this5.pdfAttachmentViewer = new _pdf_attachment_viewer.PDFAttachmentViewer({ + container: appConfig.sidebar.attachmentsView, + eventBus: eventBus, + downloadManager: downloadManager + }); + _this5.pdfLayerViewer = new _pdf_layer_viewer.PDFLayerViewer({ + container: appConfig.sidebar.layersView, + eventBus: eventBus, + l10n: _this5.l10n + }); + _this5.pdfSidebar = new _pdf_sidebar.PDFSidebar({ + elements: appConfig.sidebar, + pdfViewer: _this5.pdfViewer, + pdfThumbnailViewer: _this5.pdfThumbnailViewer, + eventBus: eventBus, + l10n: _this5.l10n + }); + _this5.pdfSidebar.onToggled = _this5.forceRendering.bind(_this5); + _this5.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, eventBus, _this5.l10n); + + case 37: + case "end": + return _context5.stop(); + } + } + }, _callee5); + }))(); + }, + run: function run(config) { + this.initialize(config).then(webViewerInitialized); + }, + + get initialized() { + return this._initializedCapability.settled; + }, + + get initializedPromise() { + return this._initializedCapability.promise; + }, + + zoomIn: function zoomIn(steps) { + if (this.pdfViewer.isInPresentationMode) { + return; + } + + this.pdfViewer.increaseScale(steps); + }, + zoomOut: function zoomOut(steps) { + if (this.pdfViewer.isInPresentationMode) { + return; + } + + this.pdfViewer.decreaseScale(steps); + }, + zoomReset: function zoomReset() { + if (this.pdfViewer.isInPresentationMode) { + return; + } + + this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + }, + + get pagesCount() { + return this.pdfDocument ? this.pdfDocument.numPages : 0; + }, + + get page() { + return this.pdfViewer.currentPageNumber; + }, + + set page(val) { + this.pdfViewer.currentPageNumber = val; + }, + + get supportsPrinting() { + return PDFPrintServiceFactory.instance.supportsPrinting; + }, + + get supportsFullscreen() { + return (0, _pdfjsLib.shadow)(this, "supportsFullscreen", document.fullscreenEnabled); + }, + + get supportsIntegratedFind() { + return this.externalServices.supportsIntegratedFind; + }, + + get supportsDocumentFonts() { + return this.externalServices.supportsDocumentFonts; + }, + + get loadingBar() { + var bar = new _ui_utils.ProgressBar("#loadingBar"); + return (0, _pdfjsLib.shadow)(this, "loadingBar", bar); + }, + + get supportedMouseWheelZoomModifierKeys() { + return this.externalServices.supportedMouseWheelZoomModifierKeys; + }, + + initPassiveLoading: function initPassiveLoading() { + throw new Error("Not implemented: initPassiveLoading"); + }, + setTitleUsingUrl: function setTitleUsingUrl() { + var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; + var downloadUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + this.url = url; + this.baseUrl = url.split("#")[0]; + + if (downloadUrl) { + this._downloadUrl = downloadUrl === url ? this.baseUrl : downloadUrl.split("#")[0]; + } + + var title = (0, _pdfjsLib.getPdfFilenameFromUrl)(url, ""); + + if (!title) { + try { + title = decodeURIComponent((0, _pdfjsLib.getFilenameFromUrl)(url)) || url; + } catch (ex) { + title = url; + } + } + + this.setTitle(title); + }, + setTitle: function setTitle(title) { + if (this.isViewerEmbedded) { + return; + } + + document.title = title; + }, + + get _docFilename() { + return this._contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url); + }, + + _hideViewBookmark: function _hideViewBookmark() { + var _this$appConfig = this.appConfig, + toolbar = _this$appConfig.toolbar, + secondaryToolbar = _this$appConfig.secondaryToolbar; + toolbar.viewBookmark.hidden = true; + secondaryToolbar.viewBookmarkButton.hidden = true; + }, + _cancelIdleCallbacks: function _cancelIdleCallbacks() { + if (!this._idleCallbacks.size) { + return; + } + + var _iterator = _createForOfIteratorHelper(this._idleCallbacks), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var callback = _step.value; + window.cancelIdleCallback(callback); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this._idleCallbacks.clear(); + }, + close: function close() { + var _this6 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() { + var _this6$pdfDocument, _this6$pdfHistory, _this6$findBar, _this6$_PDFBug; + + var container, promises; + return _regenerator["default"].wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + _this6._unblockDocumentLoadEvent(); + + _this6._hideViewBookmark(); + + container = _this6.appConfig.errorWrapper.container; + container.hidden = true; + + if (_this6.pdfLoadingTask) { + _context6.next = 6; + break; + } + + return _context6.abrupt("return"); + + case 6: + if (!(((_this6$pdfDocument = _this6.pdfDocument) === null || _this6$pdfDocument === void 0 ? void 0 : _this6$pdfDocument.annotationStorage.size) > 0 && _this6._annotationStorageModified)) { + _context6.next = 14; + break; + } + + _context6.prev = 7; + _context6.next = 10; + return _this6.save({ + sourceEventType: "save" + }); + + case 10: + _context6.next = 14; + break; + + case 12: + _context6.prev = 12; + _context6.t0 = _context6["catch"](7); + + case 14: + promises = []; + promises.push(_this6.pdfLoadingTask.destroy()); + _this6.pdfLoadingTask = null; + + if (_this6.pdfDocument) { + _this6.pdfDocument = null; + + _this6.pdfThumbnailViewer.setDocument(null); + + _this6.pdfViewer.setDocument(null); + + _this6.pdfLinkService.setDocument(null); + + _this6.pdfDocumentProperties.setDocument(null); + } + + _this6.pdfLinkService.externalLinkEnabled = true; + _this6.store = null; + _this6.isInitialViewSet = false; + _this6.downloadComplete = false; + _this6.url = ""; + _this6.baseUrl = ""; + _this6._downloadUrl = ""; + _this6.documentInfo = null; + _this6.metadata = null; + _this6._contentDispositionFilename = null; + _this6._contentLength = null; + _this6._saveInProgress = false; + _this6._docStats = null; + + _this6._cancelIdleCallbacks(); + + promises.push(_this6.pdfScriptingManager.destroyPromise); + + _this6.pdfSidebar.reset(); + + _this6.pdfOutlineViewer.reset(); + + _this6.pdfAttachmentViewer.reset(); + + _this6.pdfLayerViewer.reset(); + + (_this6$pdfHistory = _this6.pdfHistory) === null || _this6$pdfHistory === void 0 ? void 0 : _this6$pdfHistory.reset(); + (_this6$findBar = _this6.findBar) === null || _this6$findBar === void 0 ? void 0 : _this6$findBar.reset(); + + _this6.toolbar.reset(); + + _this6.secondaryToolbar.reset(); + + (_this6$_PDFBug = _this6._PDFBug) === null || _this6$_PDFBug === void 0 ? void 0 : _this6$_PDFBug.cleanup(); + _context6.next = 44; + return Promise.all(promises); + + case 44: + case "end": + return _context6.stop(); + } + } + }, _callee6, null, [[7, 12]]); + }))(); + }, + open: function open(file, args) { + var _this7 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7() { + var workerParameters, key, parameters, apiParameters, _key, value, _key2, loadingTask; + + return _regenerator["default"].wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + if (!_this7.pdfLoadingTask) { + _context7.next = 3; + break; + } + + _context7.next = 3; + return _this7.close(); + + case 3: + workerParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER); + + for (key in workerParameters) { + _pdfjsLib.GlobalWorkerOptions[key] = workerParameters[key]; + } + + parameters = Object.create(null); + + if (typeof file === "string") { + _this7.setTitleUsingUrl(file, file); + + parameters.url = file; + } else if (file && "byteLength" in file) { + parameters.data = file; + } else if (file.url && file.originalUrl) { + _this7.setTitleUsingUrl(file.originalUrl, file.url); + + parameters.url = file.url; + } + + apiParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.API); + + for (_key in apiParameters) { + value = apiParameters[_key]; + + if (_key === "docBaseUrl" && !value) {} + + parameters[_key] = value; + } + + if (args) { + for (_key2 in args) { + parameters[_key2] = args[_key2]; + } + } + + loadingTask = (0, _pdfjsLib.getDocument)(parameters); + _this7.pdfLoadingTask = loadingTask; + + loadingTask.onPassword = function (updateCallback, reason) { + _this7.pdfLinkService.externalLinkEnabled = false; + + _this7.passwordPrompt.setUpdateCallback(updateCallback, reason); + + _this7.passwordPrompt.open(); + }; + + loadingTask.onProgress = function (_ref) { + var loaded = _ref.loaded, + total = _ref.total; + + _this7.progress(loaded / total); + }; + + loadingTask.onUnsupportedFeature = _this7.fallback.bind(_this7); + return _context7.abrupt("return", loadingTask.promise.then(function (pdfDocument) { + _this7.load(pdfDocument); + }, function (reason) { + if (loadingTask !== _this7.pdfLoadingTask) { + return undefined; + } + + var key = "loading_error"; + + if (reason instanceof _pdfjsLib.InvalidPDFException) { + key = "invalid_file_error"; + } else if (reason instanceof _pdfjsLib.MissingPDFException) { + key = "missing_file_error"; + } else if (reason instanceof _pdfjsLib.UnexpectedResponseException) { + key = "unexpected_response_error"; + } + + return _this7.l10n.get(key).then(function (msg) { + _this7._documentError(msg, { + message: reason === null || reason === void 0 ? void 0 : reason.message + }); + + throw reason; + }); + })); + + case 16: + case "end": + return _context7.stop(); + } + } + }, _callee7); + }))(); + }, + _ensureDownloadComplete: function _ensureDownloadComplete() { + if (this.pdfDocument && this.downloadComplete) { + return; + } + + throw new Error("PDF document not downloaded."); + }, + download: function download() { + var _arguments = arguments, + _this8 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee8() { + var _ref2, _ref2$sourceEventType, sourceEventType, url, filename, data, blob; + + return _regenerator["default"].wrap(function _callee8$(_context8) { + while (1) { + switch (_context8.prev = _context8.next) { + case 0: + _ref2 = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {}, _ref2$sourceEventType = _ref2.sourceEventType, sourceEventType = _ref2$sourceEventType === void 0 ? "download" : _ref2$sourceEventType; + url = _this8._downloadUrl, filename = _this8._docFilename; + _context8.prev = 2; + + _this8._ensureDownloadComplete(); + + _context8.next = 6; + return _this8.pdfDocument.getData(); + + case 6: + data = _context8.sent; + blob = new Blob([data], { + type: "application/pdf" + }); + _context8.next = 10; + return _this8.downloadManager.download(blob, url, filename, sourceEventType); + + case 10: + _context8.next = 16; + break; + + case 12: + _context8.prev = 12; + _context8.t0 = _context8["catch"](2); + _context8.next = 16; + return _this8.downloadManager.downloadUrl(url, filename); + + case 16: + case "end": + return _context8.stop(); + } + } + }, _callee8, null, [[2, 12]]); + }))(); + }, + save: function save() { + var _arguments2 = arguments, + _this9 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee9() { + var _ref3, _ref3$sourceEventType, sourceEventType, url, filename, data, blob; + + return _regenerator["default"].wrap(function _callee9$(_context9) { + while (1) { + switch (_context9.prev = _context9.next) { + case 0: + _ref3 = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : {}, _ref3$sourceEventType = _ref3.sourceEventType, sourceEventType = _ref3$sourceEventType === void 0 ? "download" : _ref3$sourceEventType; + + if (!_this9._saveInProgress) { + _context9.next = 3; + break; + } + + return _context9.abrupt("return"); + + case 3: + _this9._saveInProgress = true; + _context9.next = 6; + return _this9.pdfScriptingManager.dispatchWillSave(); + + case 6: + url = _this9._downloadUrl, filename = _this9._docFilename; + _context9.prev = 7; + + _this9._ensureDownloadComplete(); + + _context9.next = 11; + return _this9.pdfDocument.saveDocument(); + + case 11: + data = _context9.sent; + blob = new Blob([data], { + type: "application/pdf" + }); + _context9.next = 15; + return _this9.downloadManager.download(blob, url, filename, sourceEventType); + + case 15: + _context9.next = 22; + break; + + case 17: + _context9.prev = 17; + _context9.t0 = _context9["catch"](7); + console.error("Error when saving the document: ".concat(_context9.t0.message)); + _context9.next = 22; + return _this9.download({ + sourceEventType: sourceEventType + }); + + case 22: + _context9.prev = 22; + _context9.next = 25; + return _this9.pdfScriptingManager.dispatchDidSave(); + + case 25: + _this9._saveInProgress = false; + return _context9.finish(22); + + case 27: + case "end": + return _context9.stop(); + } + } + }, _callee9, null, [[7, 17, 22, 27]]); + }))(); + }, + downloadOrSave: function downloadOrSave(options) { + var _this$pdfDocument; + + if (((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage.size) > 0) { + this.save(options); + } else { + this.download(options); + } + }, + fallback: function fallback(featureId) { + this.externalServices.reportTelemetry({ + type: "unsupportedFeature", + featureId: featureId + }); + }, + _documentError: function _documentError(message) { + var _moreInfo$message; + + var moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + this._unblockDocumentLoadEvent(); + + this._otherError(message, moreInfo); + + this.eventBus.dispatch("documenterror", { + source: this, + message: message, + reason: (_moreInfo$message = moreInfo === null || moreInfo === void 0 ? void 0 : moreInfo.message) !== null && _moreInfo$message !== void 0 ? _moreInfo$message : null + }); + }, + _otherError: function _otherError(message) { + var moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var moreInfoText = [this.l10n.get("error_version_info", { + version: _pdfjsLib.version || "?", + build: _pdfjsLib.build || "?" + })]; + + if (moreInfo) { + moreInfoText.push(this.l10n.get("error_message", { + message: moreInfo.message + })); + + if (moreInfo.stack) { + moreInfoText.push(this.l10n.get("error_stack", { + stack: moreInfo.stack + })); + } else { + if (moreInfo.filename) { + moreInfoText.push(this.l10n.get("error_file", { + file: moreInfo.filename + })); + } + + if (moreInfo.lineNumber) { + moreInfoText.push(this.l10n.get("error_line", { + line: moreInfo.lineNumber + })); + } + } + } + + var errorWrapperConfig = this.appConfig.errorWrapper; + var errorWrapper = errorWrapperConfig.container; + errorWrapper.hidden = false; + var errorMessage = errorWrapperConfig.errorMessage; + errorMessage.textContent = message; + var closeButton = errorWrapperConfig.closeButton; + + closeButton.onclick = function () { + errorWrapper.hidden = true; + }; + + var errorMoreInfo = errorWrapperConfig.errorMoreInfo; + var moreInfoButton = errorWrapperConfig.moreInfoButton; + var lessInfoButton = errorWrapperConfig.lessInfoButton; + + moreInfoButton.onclick = function () { + errorMoreInfo.hidden = false; + moreInfoButton.hidden = true; + lessInfoButton.hidden = false; + errorMoreInfo.style.height = errorMoreInfo.scrollHeight + "px"; + }; + + lessInfoButton.onclick = function () { + errorMoreInfo.hidden = true; + moreInfoButton.hidden = false; + lessInfoButton.hidden = true; + }; + + moreInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler; + lessInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler; + closeButton.oncontextmenu = _ui_utils.noContextMenuHandler; + moreInfoButton.hidden = false; + lessInfoButton.hidden = true; + Promise.all(moreInfoText).then(function (parts) { + errorMoreInfo.value = parts.join("\n"); + }); + }, + progress: function progress(level) { + var _this10 = this; + + if (this.downloadComplete) { + return; + } + + var percent = Math.round(level * 100); + + if (percent > this.loadingBar.percent || isNaN(percent)) { + this.loadingBar.percent = percent; + var disableAutoFetch = this.pdfDocument ? this.pdfDocument.loadingParams.disableAutoFetch : _app_options.AppOptions.get("disableAutoFetch"); + + if (disableAutoFetch && percent) { + if (this.disableAutoFetchLoadingBarTimeout) { + clearTimeout(this.disableAutoFetchLoadingBarTimeout); + this.disableAutoFetchLoadingBarTimeout = null; + } + + this.loadingBar.show(); + this.disableAutoFetchLoadingBarTimeout = setTimeout(function () { + _this10.loadingBar.hide(); + + _this10.disableAutoFetchLoadingBarTimeout = null; + }, DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT); + } + } + }, + load: function load(pdfDocument) { + var _this11 = this; + + this.pdfDocument = pdfDocument; + pdfDocument.getDownloadInfo().then(function (_ref4) { + var length = _ref4.length; + _this11._contentLength = length; + _this11.downloadComplete = true; + + _this11.loadingBar.hide(); + + firstPagePromise.then(function () { + _this11.eventBus.dispatch("documentloaded", { + source: _this11 + }); + }); + }); + var pageLayoutPromise = pdfDocument.getPageLayout()["catch"](function () {}); + var pageModePromise = pdfDocument.getPageMode()["catch"](function () {}); + var openActionPromise = pdfDocument.getOpenAction()["catch"](function () {}); + this.toolbar.setPagesCount(pdfDocument.numPages, false); + this.secondaryToolbar.setPagesCount(pdfDocument.numPages); + var baseDocumentUrl; + baseDocumentUrl = null; + this.pdfLinkService.setDocument(pdfDocument, baseDocumentUrl); + this.pdfDocumentProperties.setDocument(pdfDocument, this.url); + var pdfViewer = this.pdfViewer; + pdfViewer.setDocument(pdfDocument); + var firstPagePromise = pdfViewer.firstPagePromise, + onePageRendered = pdfViewer.onePageRendered, + pagesPromise = pdfViewer.pagesPromise; + var pdfThumbnailViewer = this.pdfThumbnailViewer; + pdfThumbnailViewer.setDocument(pdfDocument); + var storedPromise = (this.store = new _view_history.ViewHistory(pdfDocument.fingerprints[0])).getMultiple({ + page: null, + zoom: _ui_utils.DEFAULT_SCALE_VALUE, + scrollLeft: "0", + scrollTop: "0", + rotation: null, + sidebarView: _ui_utils.SidebarView.UNKNOWN, + scrollMode: _ui_utils.ScrollMode.UNKNOWN, + spreadMode: _ui_utils.SpreadMode.UNKNOWN + })["catch"](function () { + return Object.create(null); + }); + firstPagePromise.then(function (pdfPage) { + _this11.loadingBar.setWidth(_this11.appConfig.viewerContainer); + + _this11._initializeAnnotationStorageCallbacks(pdfDocument); + + Promise.all([_ui_utils.animationStarted, storedPromise, pageLayoutPromise, pageModePromise, openActionPromise]).then( /*#__PURE__*/function () { + var _ref6 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee10(_ref5) { + var _ref7, timeStamp, stored, pageLayout, pageMode, openAction, viewOnLoad, initialBookmark, zoom, hash, rotation, sidebarView, scrollMode, spreadMode, modes; + + return _regenerator["default"].wrap(function _callee10$(_context10) { + while (1) { + switch (_context10.prev = _context10.next) { + case 0: + _ref7 = _slicedToArray(_ref5, 5), timeStamp = _ref7[0], stored = _ref7[1], pageLayout = _ref7[2], pageMode = _ref7[3], openAction = _ref7[4]; + viewOnLoad = _app_options.AppOptions.get("viewOnLoad"); + + _this11._initializePdfHistory({ + fingerprint: pdfDocument.fingerprints[0], + viewOnLoad: viewOnLoad, + initialDest: openAction === null || openAction === void 0 ? void 0 : openAction.dest + }); + + initialBookmark = _this11.initialBookmark; + zoom = _app_options.AppOptions.get("defaultZoomValue"); + hash = zoom ? "zoom=".concat(zoom) : null; + rotation = null; + sidebarView = _app_options.AppOptions.get("sidebarViewOnLoad"); + scrollMode = _app_options.AppOptions.get("scrollModeOnLoad"); + spreadMode = _app_options.AppOptions.get("spreadModeOnLoad"); + + if (stored.page && viewOnLoad !== ViewOnLoad.INITIAL) { + hash = "page=".concat(stored.page, "&zoom=").concat(zoom || stored.zoom, ",") + "".concat(stored.scrollLeft, ",").concat(stored.scrollTop); + rotation = parseInt(stored.rotation, 10); + + if (sidebarView === _ui_utils.SidebarView.UNKNOWN) { + sidebarView = stored.sidebarView | 0; + } + + if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) { + scrollMode = stored.scrollMode | 0; + } + + if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) { + spreadMode = stored.spreadMode | 0; + } + } + + if (pageMode && sidebarView === _ui_utils.SidebarView.UNKNOWN) { + sidebarView = (0, _ui_utils.apiPageModeToSidebarView)(pageMode); + } + + if (pageLayout && scrollMode === _ui_utils.ScrollMode.UNKNOWN && spreadMode === _ui_utils.SpreadMode.UNKNOWN) { + modes = (0, _ui_utils.apiPageLayoutToViewerModes)(pageLayout); + spreadMode = modes.spreadMode; + } + + _this11.setInitialView(hash, { + rotation: rotation, + sidebarView: sidebarView, + scrollMode: scrollMode, + spreadMode: spreadMode + }); + + _this11.eventBus.dispatch("documentinit", { + source: _this11 + }); + + if (!_this11.isViewerEmbedded) { + pdfViewer.focus(); + } + + _context10.next = 18; + return Promise.race([pagesPromise, new Promise(function (resolve) { + setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT); + })]); + + case 18: + if (!(!initialBookmark && !hash)) { + _context10.next = 20; + break; + } + + return _context10.abrupt("return"); + + case 20: + if (!pdfViewer.hasEqualPageSizes) { + _context10.next = 22; + break; + } + + return _context10.abrupt("return"); + + case 22: + _this11.initialBookmark = initialBookmark; + pdfViewer.currentScaleValue = pdfViewer.currentScaleValue; + + _this11.setInitialView(hash); + + case 25: + case "end": + return _context10.stop(); + } + } + }, _callee10); + })); + + return function (_x) { + return _ref6.apply(this, arguments); + }; + }())["catch"](function () { + _this11.setInitialView(); + }).then(function () { + pdfViewer.update(); + }); + }); + pagesPromise.then(function () { + _this11._unblockDocumentLoadEvent(); + + _this11._initializeAutoPrint(pdfDocument, openActionPromise); + }, function (reason) { + _this11.l10n.get("loading_error").then(function (msg) { + _this11._documentError(msg, { + message: reason === null || reason === void 0 ? void 0 : reason.message + }); + }); + }); + onePageRendered.then(function (data) { + _this11.externalServices.reportTelemetry({ + type: "pageInfo", + timestamp: data.timestamp + }); + + pdfDocument.getOutline().then(function (outline) { + if (pdfDocument !== _this11.pdfDocument) { + return; + } + + _this11.pdfOutlineViewer.render({ + outline: outline, + pdfDocument: pdfDocument + }); + }); + pdfDocument.getAttachments().then(function (attachments) { + if (pdfDocument !== _this11.pdfDocument) { + return; + } + + _this11.pdfAttachmentViewer.render({ + attachments: attachments + }); + }); + pdfViewer.optionalContentConfigPromise.then(function (optionalContentConfig) { + if (pdfDocument !== _this11.pdfDocument) { + return; + } + + _this11.pdfLayerViewer.render({ + optionalContentConfig: optionalContentConfig, + pdfDocument: pdfDocument + }); + }); + + if ("requestIdleCallback" in window) { + var callback = window.requestIdleCallback(function () { + _this11._collectTelemetry(pdfDocument); + + _this11._idleCallbacks["delete"](callback); + }, { + timeout: 1000 + }); + + _this11._idleCallbacks.add(callback); + } + }); + + this._initializePageLabels(pdfDocument); + + this._initializeMetadata(pdfDocument); + }, + _scriptingDocProperties: function _scriptingDocProperties(pdfDocument) { + var _this12 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee11() { + var _this12$metadata, _this12$metadata2; + + return _regenerator["default"].wrap(function _callee11$(_context11) { + while (1) { + switch (_context11.prev = _context11.next) { + case 0: + if (_this12.documentInfo) { + _context11.next = 5; + break; + } + + _context11.next = 3; + return new Promise(function (resolve) { + _this12.eventBus._on("metadataloaded", resolve, { + once: true + }); + }); + + case 3: + if (!(pdfDocument !== _this12.pdfDocument)) { + _context11.next = 5; + break; + } + + return _context11.abrupt("return", null); + + case 5: + if (_this12._contentLength) { + _context11.next = 10; + break; + } + + _context11.next = 8; + return new Promise(function (resolve) { + _this12.eventBus._on("documentloaded", resolve, { + once: true + }); + }); + + case 8: + if (!(pdfDocument !== _this12.pdfDocument)) { + _context11.next = 10; + break; + } + + return _context11.abrupt("return", null); + + case 10: + return _context11.abrupt("return", _objectSpread(_objectSpread({}, _this12.documentInfo), {}, { + baseURL: _this12.baseUrl, + filesize: _this12._contentLength, + filename: _this12._docFilename, + metadata: (_this12$metadata = _this12.metadata) === null || _this12$metadata === void 0 ? void 0 : _this12$metadata.getRaw(), + authors: (_this12$metadata2 = _this12.metadata) === null || _this12$metadata2 === void 0 ? void 0 : _this12$metadata2.get("dc:creator"), + numPages: _this12.pagesCount, + URL: _this12.url + })); + + case 11: + case "end": + return _context11.stop(); + } + } + }, _callee11); + }))(); + }, + _collectTelemetry: function _collectTelemetry(pdfDocument) { + var _this13 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee12() { + var markInfo, tagged; + return _regenerator["default"].wrap(function _callee12$(_context12) { + while (1) { + switch (_context12.prev = _context12.next) { + case 0: + _context12.next = 2; + return _this13.pdfDocument.getMarkInfo(); + + case 2: + markInfo = _context12.sent; + + if (!(pdfDocument !== _this13.pdfDocument)) { + _context12.next = 5; + break; + } + + return _context12.abrupt("return"); + + case 5: + tagged = (markInfo === null || markInfo === void 0 ? void 0 : markInfo.Marked) || false; + + _this13.externalServices.reportTelemetry({ + type: "tagged", + tagged: tagged + }); + + case 7: + case "end": + return _context12.stop(); + } + } + }, _callee12); + }))(); + }, + _initializeAutoPrint: function _initializeAutoPrint(pdfDocument, openActionPromise) { + var _this14 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee13() { + var _yield$Promise$all, _yield$Promise$all2, openAction, javaScript, triggerAutoPrint, _iterator2, _step2, js; + + return _regenerator["default"].wrap(function _callee13$(_context13) { + while (1) { + switch (_context13.prev = _context13.next) { + case 0: + _context13.next = 2; + return Promise.all([openActionPromise, !_this14.pdfViewer.enableScripting ? pdfDocument.getJavaScript() : null]); + + case 2: + _yield$Promise$all = _context13.sent; + _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2); + openAction = _yield$Promise$all2[0]; + javaScript = _yield$Promise$all2[1]; + + if (!(pdfDocument !== _this14.pdfDocument)) { + _context13.next = 8; + break; + } + + return _context13.abrupt("return"); + + case 8: + triggerAutoPrint = false; + + if ((openAction === null || openAction === void 0 ? void 0 : openAction.action) === "Print") { + triggerAutoPrint = true; + } + + if (!javaScript) { + _context13.next = 31; + break; + } + + javaScript.some(function (js) { + if (!js) { + return false; + } + + console.warn("Warning: JavaScript support is not enabled"); + + _this14.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.javaScript); + + return true; + }); + + if (triggerAutoPrint) { + _context13.next = 31; + break; + } + + _iterator2 = _createForOfIteratorHelper(javaScript); + _context13.prev = 14; + + _iterator2.s(); + + case 16: + if ((_step2 = _iterator2.n()).done) { + _context13.next = 23; + break; + } + + js = _step2.value; + + if (!(js && _ui_utils.AutoPrintRegExp.test(js))) { + _context13.next = 21; + break; + } + + triggerAutoPrint = true; + return _context13.abrupt("break", 23); + + case 21: + _context13.next = 16; + break; + + case 23: + _context13.next = 28; + break; + + case 25: + _context13.prev = 25; + _context13.t0 = _context13["catch"](14); + + _iterator2.e(_context13.t0); + + case 28: + _context13.prev = 28; + + _iterator2.f(); + + return _context13.finish(28); + + case 31: + if (triggerAutoPrint) { + _this14.triggerPrinting(); + } + + case 32: + case "end": + return _context13.stop(); + } + } + }, _callee13, null, [[14, 25, 28, 31]]); + }))(); + }, + _initializeMetadata: function _initializeMetadata(pdfDocument) { + var _this15 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee14() { + var _this15$_contentDispo, _this15$_contentLengt; + + var _yield$pdfDocument$ge, info, metadata, contentDispositionFilename, contentLength, pdfTitle, metadataTitle, versionId, generatorId, producer, formType; + + return _regenerator["default"].wrap(function _callee14$(_context14) { + while (1) { + switch (_context14.prev = _context14.next) { + case 0: + _context14.next = 2; + return pdfDocument.getMetadata(); + + case 2: + _yield$pdfDocument$ge = _context14.sent; + info = _yield$pdfDocument$ge.info; + metadata = _yield$pdfDocument$ge.metadata; + contentDispositionFilename = _yield$pdfDocument$ge.contentDispositionFilename; + contentLength = _yield$pdfDocument$ge.contentLength; + + if (!(pdfDocument !== _this15.pdfDocument)) { + _context14.next = 9; + break; + } + + return _context14.abrupt("return"); + + case 9: + _this15.documentInfo = info; + _this15.metadata = metadata; + (_this15$_contentDispo = _this15._contentDispositionFilename) !== null && _this15$_contentDispo !== void 0 ? _this15$_contentDispo : _this15._contentDispositionFilename = contentDispositionFilename; + (_this15$_contentLengt = _this15._contentLength) !== null && _this15$_contentLengt !== void 0 ? _this15$_contentLengt : _this15._contentLength = contentLength; + console.log("PDF ".concat(pdfDocument.fingerprints[0], " [").concat(info.PDFFormatVersion, " ") + "".concat((info.Producer || "-").trim(), " / ").concat((info.Creator || "-").trim(), "] ") + "(PDF.js: ".concat(_pdfjsLib.version || "-", ")")); + pdfTitle = info === null || info === void 0 ? void 0 : info.Title; + metadataTitle = metadata === null || metadata === void 0 ? void 0 : metadata.get("dc:title"); + + if (metadataTitle) { + if (metadataTitle !== "Untitled" && !/[\uFFF0-\uFFFF]/g.test(metadataTitle)) { + pdfTitle = metadataTitle; + } + } + + if (pdfTitle) { + _this15.setTitle("".concat(pdfTitle, " - ").concat(contentDispositionFilename || document.title)); + } else if (contentDispositionFilename) { + _this15.setTitle(contentDispositionFilename); + } + + if (info.IsXFAPresent && !info.IsAcroFormPresent && !pdfDocument.isPureXfa) { + if (pdfDocument.loadingParams.enableXfa) { + console.warn("Warning: XFA Foreground documents are not supported"); + } else { + console.warn("Warning: XFA support is not enabled"); + } + + _this15.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms); + } else if ((info.IsAcroFormPresent || info.IsXFAPresent) && !_this15.pdfViewer.renderForms) { + console.warn("Warning: Interactive form support is not enabled"); + + _this15.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms); + } + + if (info.IsSignaturesPresent) { + console.warn("Warning: Digital signatures validation is not supported"); + + _this15.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.signatures); + } + + versionId = "other"; + + if (KNOWN_VERSIONS.includes(info.PDFFormatVersion)) { + versionId = "v".concat(info.PDFFormatVersion.replace(".", "_")); + } + + generatorId = "other"; + + if (info.Producer) { + producer = info.Producer.toLowerCase(); + KNOWN_GENERATORS.some(function (generator) { + if (!producer.includes(generator)) { + return false; + } + + generatorId = generator.replace(/[ .-]/g, "_"); + return true; + }); + } + + formType = null; + + if (info.IsXFAPresent) { + formType = "xfa"; + } else if (info.IsAcroFormPresent) { + formType = "acroform"; + } + + _this15.externalServices.reportTelemetry({ + type: "documentInfo", + version: versionId, + generator: generatorId, + formType: formType + }); + + _this15.eventBus.dispatch("metadataloaded", { + source: _this15 + }); + + case 28: + case "end": + return _context14.stop(); + } + } + }, _callee14); + }))(); + }, + _initializePageLabels: function _initializePageLabels(pdfDocument) { + var _this16 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee15() { + var labels, numLabels, standardLabels, emptyLabels, i, label, pdfViewer, pdfThumbnailViewer, toolbar; + return _regenerator["default"].wrap(function _callee15$(_context15) { + while (1) { + switch (_context15.prev = _context15.next) { + case 0: + _context15.next = 2; + return pdfDocument.getPageLabels(); + + case 2: + labels = _context15.sent; + + if (!(pdfDocument !== _this16.pdfDocument)) { + _context15.next = 5; + break; + } + + return _context15.abrupt("return"); + + case 5: + if (!(!labels || _app_options.AppOptions.get("disablePageLabels"))) { + _context15.next = 7; + break; + } + + return _context15.abrupt("return"); + + case 7: + numLabels = labels.length; + standardLabels = 0, emptyLabels = 0; + i = 0; + + case 10: + if (!(i < numLabels)) { + _context15.next = 24; + break; + } + + label = labels[i]; + + if (!(label === (i + 1).toString())) { + _context15.next = 16; + break; + } + + standardLabels++; + _context15.next = 21; + break; + + case 16: + if (!(label === "")) { + _context15.next = 20; + break; + } + + emptyLabels++; + _context15.next = 21; + break; + + case 20: + return _context15.abrupt("break", 24); + + case 21: + i++; + _context15.next = 10; + break; + + case 24: + if (!(standardLabels >= numLabels || emptyLabels >= numLabels)) { + _context15.next = 26; + break; + } + + return _context15.abrupt("return"); + + case 26: + pdfViewer = _this16.pdfViewer, pdfThumbnailViewer = _this16.pdfThumbnailViewer, toolbar = _this16.toolbar; + pdfViewer.setPageLabels(labels); + pdfThumbnailViewer.setPageLabels(labels); + toolbar.setPagesCount(numLabels, true); + toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel); + + case 31: + case "end": + return _context15.stop(); + } + } + }, _callee15); + }))(); + }, + _initializePdfHistory: function _initializePdfHistory(_ref8) { + var fingerprint = _ref8.fingerprint, + viewOnLoad = _ref8.viewOnLoad, + _ref8$initialDest = _ref8.initialDest, + initialDest = _ref8$initialDest === void 0 ? null : _ref8$initialDest; + + if (!this.pdfHistory) { + return; + } + + this.pdfHistory.initialize({ + fingerprint: fingerprint, + resetHistory: viewOnLoad === ViewOnLoad.INITIAL, + updateUrl: _app_options.AppOptions.get("historyUpdateUrl") + }); + + if (this.pdfHistory.initialBookmark) { + this.initialBookmark = this.pdfHistory.initialBookmark; + this.initialRotation = this.pdfHistory.initialRotation; + } + + if (initialDest && !this.initialBookmark && viewOnLoad === ViewOnLoad.UNKNOWN) { + this.initialBookmark = JSON.stringify(initialDest); + this.pdfHistory.push({ + explicitDest: initialDest, + pageNumber: null + }); + } + }, + _initializeAnnotationStorageCallbacks: function _initializeAnnotationStorageCallbacks(pdfDocument) { + var _this17 = this; + + if (pdfDocument !== this.pdfDocument) { + return; + } + + var annotationStorage = pdfDocument.annotationStorage; + + annotationStorage.onSetModified = function () { + window.addEventListener("beforeunload", beforeUnload); + _this17._annotationStorageModified = true; + }; + + annotationStorage.onResetModified = function () { + window.removeEventListener("beforeunload", beforeUnload); + delete _this17._annotationStorageModified; + }; + }, + setInitialView: function setInitialView(storedHash) { + var _this18 = this; + + var _ref9 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + rotation = _ref9.rotation, + sidebarView = _ref9.sidebarView, + scrollMode = _ref9.scrollMode, + spreadMode = _ref9.spreadMode; + + var setRotation = function setRotation(angle) { + if ((0, _ui_utils.isValidRotation)(angle)) { + _this18.pdfViewer.pagesRotation = angle; + } + }; + + var setViewerModes = function setViewerModes(scroll, spread) { + if ((0, _ui_utils.isValidScrollMode)(scroll)) { + _this18.pdfViewer.scrollMode = scroll; + } + + if ((0, _ui_utils.isValidSpreadMode)(spread)) { + _this18.pdfViewer.spreadMode = spread; + } + }; + + this.isInitialViewSet = true; + this.pdfSidebar.setInitialView(sidebarView); + setViewerModes(scrollMode, spreadMode); + + if (this.initialBookmark) { + setRotation(this.initialRotation); + delete this.initialRotation; + this.pdfLinkService.setHash(this.initialBookmark); + this.initialBookmark = null; + } else if (storedHash) { + setRotation(rotation); + this.pdfLinkService.setHash(storedHash); + } + + this.toolbar.setPageNumber(this.pdfViewer.currentPageNumber, this.pdfViewer.currentPageLabel); + this.secondaryToolbar.setPageNumber(this.pdfViewer.currentPageNumber); + + if (!this.pdfViewer.currentScaleValue) { + this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + } + }, + _cleanup: function _cleanup() { + if (!this.pdfDocument) { + return; + } + + this.pdfViewer.cleanup(); + this.pdfThumbnailViewer.cleanup(); + this.pdfDocument.cleanup(this.pdfViewer.renderer === _ui_utils.RendererType.SVG); + }, + forceRendering: function forceRendering() { + this.pdfRenderingQueue.printing = !!this.printService; + this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar.isThumbnailViewVisible; + this.pdfRenderingQueue.renderHighestPriority(); + }, + beforePrint: function beforePrint() { + var _this19 = this; + + this.pdfScriptingManager.dispatchWillPrint(); + + if (this.printService) { + return; + } + + if (!this.supportsPrinting) { + this.l10n.get("printing_not_supported").then(function (msg) { + _this19._otherError(msg); + }); + return; + } + + if (!this.pdfViewer.pageViewsReady) { + this.l10n.get("printing_not_ready").then(function (msg) { + window.alert(msg); + }); + return; + } + + var pagesOverview = this.pdfViewer.getPagesOverview(); + var printContainer = this.appConfig.printContainer; + + var printResolution = _app_options.AppOptions.get("printResolution"); + + var optionalContentConfigPromise = this.pdfViewer.optionalContentConfigPromise; + var printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, this.l10n); + this.printService = printService; + this.forceRendering(); + printService.layout(); + this.externalServices.reportTelemetry({ + type: "print" + }); + }, + afterPrint: function afterPrint() { + this.pdfScriptingManager.dispatchDidPrint(); + + if (this.printService) { + var _this$pdfDocument2; + + this.printService.destroy(); + this.printService = null; + (_this$pdfDocument2 = this.pdfDocument) === null || _this$pdfDocument2 === void 0 ? void 0 : _this$pdfDocument2.annotationStorage.resetModified(); + } + + this.forceRendering(); + }, + rotatePages: function rotatePages(delta) { + this.pdfViewer.pagesRotation += delta; + }, + requestPresentationMode: function requestPresentationMode() { + var _this$pdfPresentation; + + (_this$pdfPresentation = this.pdfPresentationMode) === null || _this$pdfPresentation === void 0 ? void 0 : _this$pdfPresentation.request(); + }, + triggerPrinting: function triggerPrinting() { + if (!this.supportsPrinting) { + return; + } + + window.print(); + }, + bindEvents: function bindEvents() { + var eventBus = this.eventBus, + _boundEvents = this._boundEvents; + _boundEvents.beforePrint = this.beforePrint.bind(this); + _boundEvents.afterPrint = this.afterPrint.bind(this); + + eventBus._on("resize", webViewerResize); + + eventBus._on("hashchange", webViewerHashchange); + + eventBus._on("beforeprint", _boundEvents.beforePrint); + + eventBus._on("afterprint", _boundEvents.afterPrint); + + eventBus._on("pagerendered", webViewerPageRendered); + + eventBus._on("updateviewarea", webViewerUpdateViewarea); + + eventBus._on("pagechanging", webViewerPageChanging); + + eventBus._on("scalechanging", webViewerScaleChanging); + + eventBus._on("rotationchanging", webViewerRotationChanging); + + eventBus._on("sidebarviewchanged", webViewerSidebarViewChanged); + + eventBus._on("pagemode", webViewerPageMode); + + eventBus._on("namedaction", webViewerNamedAction); + + eventBus._on("presentationmodechanged", webViewerPresentationModeChanged); + + eventBus._on("presentationmode", webViewerPresentationMode); + + eventBus._on("print", webViewerPrint); + + eventBus._on("download", webViewerDownload); + + eventBus._on("save", webViewerSave); + + eventBus._on("firstpage", webViewerFirstPage); + + eventBus._on("lastpage", webViewerLastPage); + + eventBus._on("nextpage", webViewerNextPage); + + eventBus._on("previouspage", webViewerPreviousPage); + + eventBus._on("zoomin", webViewerZoomIn); + + eventBus._on("zoomout", webViewerZoomOut); + + eventBus._on("zoomreset", webViewerZoomReset); + + eventBus._on("pagenumberchanged", webViewerPageNumberChanged); + + eventBus._on("scalechanged", webViewerScaleChanged); + + eventBus._on("rotatecw", webViewerRotateCw); + + eventBus._on("rotateccw", webViewerRotateCcw); + + eventBus._on("optionalcontentconfig", webViewerOptionalContentConfig); + + eventBus._on("switchscrollmode", webViewerSwitchScrollMode); + + eventBus._on("scrollmodechanged", webViewerScrollModeChanged); + + eventBus._on("switchspreadmode", webViewerSwitchSpreadMode); + + eventBus._on("spreadmodechanged", webViewerSpreadModeChanged); + + eventBus._on("documentproperties", webViewerDocumentProperties); + + eventBus._on("findfromurlhash", webViewerFindFromUrlHash); + + eventBus._on("updatefindmatchescount", webViewerUpdateFindMatchesCount); + + eventBus._on("updatefindcontrolstate", webViewerUpdateFindControlState); + + if (_app_options.AppOptions.get("pdfBug")) { + _boundEvents.reportPageStatsPDFBug = reportPageStatsPDFBug; + + eventBus._on("pagerendered", _boundEvents.reportPageStatsPDFBug); + + eventBus._on("pagechanging", _boundEvents.reportPageStatsPDFBug); + } + + eventBus._on("fileinputchange", webViewerFileInputChange); + + eventBus._on("openfile", webViewerOpenFile); + }, + bindWindowEvents: function bindWindowEvents() { + var eventBus = this.eventBus, + _boundEvents = this._boundEvents; + + _boundEvents.windowResize = function () { + eventBus.dispatch("resize", { + source: window + }); + }; + + _boundEvents.windowHashChange = function () { + eventBus.dispatch("hashchange", { + source: window, + hash: document.location.hash.substring(1) + }); + }; + + _boundEvents.windowBeforePrint = function () { + eventBus.dispatch("beforeprint", { + source: window + }); + }; + + _boundEvents.windowAfterPrint = function () { + eventBus.dispatch("afterprint", { + source: window + }); + }; + + _boundEvents.windowUpdateFromSandbox = function (event) { + eventBus.dispatch("updatefromsandbox", { + source: window, + detail: event.detail + }); + }; + + window.addEventListener("visibilitychange", webViewerVisibilityChange); + window.addEventListener("wheel", webViewerWheel, { + passive: false + }); + window.addEventListener("touchstart", webViewerTouchStart, { + passive: false + }); + window.addEventListener("click", webViewerClick); + window.addEventListener("keydown", webViewerKeyDown); + window.addEventListener("resize", _boundEvents.windowResize); + window.addEventListener("hashchange", _boundEvents.windowHashChange); + window.addEventListener("beforeprint", _boundEvents.windowBeforePrint); + window.addEventListener("afterprint", _boundEvents.windowAfterPrint); + window.addEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox); + }, + unbindEvents: function unbindEvents() { + var eventBus = this.eventBus, + _boundEvents = this._boundEvents; + + eventBus._off("resize", webViewerResize); + + eventBus._off("hashchange", webViewerHashchange); + + eventBus._off("beforeprint", _boundEvents.beforePrint); + + eventBus._off("afterprint", _boundEvents.afterPrint); + + eventBus._off("pagerendered", webViewerPageRendered); + + eventBus._off("updateviewarea", webViewerUpdateViewarea); + + eventBus._off("pagechanging", webViewerPageChanging); + + eventBus._off("scalechanging", webViewerScaleChanging); + + eventBus._off("rotationchanging", webViewerRotationChanging); + + eventBus._off("sidebarviewchanged", webViewerSidebarViewChanged); + + eventBus._off("pagemode", webViewerPageMode); + + eventBus._off("namedaction", webViewerNamedAction); + + eventBus._off("presentationmodechanged", webViewerPresentationModeChanged); + + eventBus._off("presentationmode", webViewerPresentationMode); + + eventBus._off("print", webViewerPrint); + + eventBus._off("download", webViewerDownload); + + eventBus._off("save", webViewerSave); + + eventBus._off("firstpage", webViewerFirstPage); + + eventBus._off("lastpage", webViewerLastPage); + + eventBus._off("nextpage", webViewerNextPage); + + eventBus._off("previouspage", webViewerPreviousPage); + + eventBus._off("zoomin", webViewerZoomIn); + + eventBus._off("zoomout", webViewerZoomOut); + + eventBus._off("zoomreset", webViewerZoomReset); + + eventBus._off("pagenumberchanged", webViewerPageNumberChanged); + + eventBus._off("scalechanged", webViewerScaleChanged); + + eventBus._off("rotatecw", webViewerRotateCw); + + eventBus._off("rotateccw", webViewerRotateCcw); + + eventBus._off("optionalcontentconfig", webViewerOptionalContentConfig); + + eventBus._off("switchscrollmode", webViewerSwitchScrollMode); + + eventBus._off("scrollmodechanged", webViewerScrollModeChanged); + + eventBus._off("switchspreadmode", webViewerSwitchSpreadMode); + + eventBus._off("spreadmodechanged", webViewerSpreadModeChanged); + + eventBus._off("documentproperties", webViewerDocumentProperties); + + eventBus._off("findfromurlhash", webViewerFindFromUrlHash); + + eventBus._off("updatefindmatchescount", webViewerUpdateFindMatchesCount); + + eventBus._off("updatefindcontrolstate", webViewerUpdateFindControlState); + + if (_boundEvents.reportPageStatsPDFBug) { + eventBus._off("pagerendered", _boundEvents.reportPageStatsPDFBug); + + eventBus._off("pagechanging", _boundEvents.reportPageStatsPDFBug); + + _boundEvents.reportPageStatsPDFBug = null; + } + + eventBus._off("fileinputchange", webViewerFileInputChange); + + eventBus._off("openfile", webViewerOpenFile); + + _boundEvents.beforePrint = null; + _boundEvents.afterPrint = null; + }, + unbindWindowEvents: function unbindWindowEvents() { + var _boundEvents = this._boundEvents; + window.removeEventListener("visibilitychange", webViewerVisibilityChange); + window.removeEventListener("wheel", webViewerWheel, { + passive: false + }); + window.removeEventListener("touchstart", webViewerTouchStart, { + passive: false + }); + window.removeEventListener("click", webViewerClick); + window.removeEventListener("keydown", webViewerKeyDown); + window.removeEventListener("resize", _boundEvents.windowResize); + window.removeEventListener("hashchange", _boundEvents.windowHashChange); + window.removeEventListener("beforeprint", _boundEvents.windowBeforePrint); + window.removeEventListener("afterprint", _boundEvents.windowAfterPrint); + window.removeEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox); + _boundEvents.windowResize = null; + _boundEvents.windowHashChange = null; + _boundEvents.windowBeforePrint = null; + _boundEvents.windowAfterPrint = null; + _boundEvents.windowUpdateFromSandbox = null; + }, + accumulateWheelTicks: function accumulateWheelTicks(ticks) { + if (this._wheelUnusedTicks > 0 && ticks < 0 || this._wheelUnusedTicks < 0 && ticks > 0) { + this._wheelUnusedTicks = 0; + } + + this._wheelUnusedTicks += ticks; + var wholeTicks = Math.sign(this._wheelUnusedTicks) * Math.floor(Math.abs(this._wheelUnusedTicks)); + this._wheelUnusedTicks -= wholeTicks; + return wholeTicks; + }, + _unblockDocumentLoadEvent: function _unblockDocumentLoadEvent() { + var _document$blockUnbloc, _document; + + (_document$blockUnbloc = (_document = document).blockUnblockOnload) === null || _document$blockUnbloc === void 0 ? void 0 : _document$blockUnbloc.call(_document, false); + + this._unblockDocumentLoadEvent = function () {}; + }, + _reportDocumentStatsTelemetry: function _reportDocumentStatsTelemetry() { + var stats = this.pdfDocument.stats; + + if (stats !== this._docStats) { + this._docStats = stats; + this.externalServices.reportTelemetry({ + type: "documentStats", + stats: stats + }); + } + }, + + get scriptingReady() { + return this.pdfScriptingManager.ready; + } + +}; +exports.PDFViewerApplication = PDFViewerApplication; +var validateFileURL; +{ + var HOSTED_VIEWER_ORIGINS = ["null", "http://mozilla.github.io", "https://mozilla.github.io"]; + + validateFileURL = function validateFileURL(file) { + if (!file) { + return; + } + + try { + var viewerOrigin = new URL(window.location.href).origin || "null"; + + if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) { + return; + } + + var fileOrigin = new URL(file, window.location.href).origin; + + if (fileOrigin !== viewerOrigin) { + throw new Error("file origin does not match viewer's"); + } + } catch (ex) { + PDFViewerApplication.l10n.get("loading_error").then(function (msg) { + PDFViewerApplication._documentError(msg, { + message: ex === null || ex === void 0 ? void 0 : ex.message + }); + }); + throw ex; + } + }; +} + +function loadFakeWorker() { + return _loadFakeWorker.apply(this, arguments); +} + +function _loadFakeWorker() { + _loadFakeWorker = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee16() { + return _regenerator["default"].wrap(function _callee16$(_context16) { + while (1) { + switch (_context16.prev = _context16.next) { + case 0: + _pdfjsLib.GlobalWorkerOptions.workerSrc || (_pdfjsLib.GlobalWorkerOptions.workerSrc = _app_options.AppOptions.get("workerSrc")); + _context16.next = 3; + return (0, _pdfjsLib.loadScript)(_pdfjsLib.PDFWorker.workerSrc); + + case 3: + case "end": + return _context16.stop(); + } + } + }, _callee16); + })); + return _loadFakeWorker.apply(this, arguments); +} + +function loadPDFBug(_x2) { + return _loadPDFBug.apply(this, arguments); +} + +function _loadPDFBug() { + _loadPDFBug = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee17(self) { + var debuggerScriptPath, _yield$__non_webpack_, PDFBug; + + return _regenerator["default"].wrap(function _callee17$(_context17) { + while (1) { + switch (_context17.prev = _context17.next) { + case 0: + debuggerScriptPath = self.appConfig.debuggerScriptPath; + _context17.next = 3; + return import(debuggerScriptPath); + + case 3: + _yield$__non_webpack_ = _context17.sent; + PDFBug = _yield$__non_webpack_.PDFBug; + self._PDFBug = PDFBug; + + case 6: + case "end": + return _context17.stop(); + } + } + }, _callee17); + })); + return _loadPDFBug.apply(this, arguments); +} + +function reportPageStatsPDFBug(_ref10) { + var _globalThis$Stats, _pageView$pdfPage; + + var pageNumber = _ref10.pageNumber; + + if (!((_globalThis$Stats = globalThis.Stats) !== null && _globalThis$Stats !== void 0 && _globalThis$Stats.enabled)) { + return; + } + + var pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1); + globalThis.Stats.add(pageNumber, pageView === null || pageView === void 0 ? void 0 : (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.stats); +} + +function webViewerInitialized() { + var _params$get; + + var appConfig = PDFViewerApplication.appConfig, + eventBus = PDFViewerApplication.eventBus; + var file; + var queryString = document.location.search.substring(1); + var params = (0, _ui_utils.parseQueryString)(queryString); + file = (_params$get = params.get("file")) !== null && _params$get !== void 0 ? _params$get : _app_options.AppOptions.get("defaultUrl"); + validateFileURL(file); + var fileInput = appConfig.openFileInput; + fileInput.value = null; + fileInput.addEventListener("change", function (evt) { + var files = evt.target.files; + + if (!files || files.length === 0) { + return; + } + + eventBus.dispatch("fileinputchange", { + source: this, + fileInput: evt.target + }); + }); + appConfig.mainContainer.addEventListener("dragover", function (evt) { + evt.preventDefault(); + evt.dataTransfer.dropEffect = "move"; + }); + appConfig.mainContainer.addEventListener("drop", function (evt) { + evt.preventDefault(); + var files = evt.dataTransfer.files; + + if (!files || files.length === 0) { + return; + } + + eventBus.dispatch("fileinputchange", { + source: this, + fileInput: evt.dataTransfer + }); + }); + + if (!PDFViewerApplication.supportsDocumentFonts) { + _app_options.AppOptions.set("disableFontFace", true); + + PDFViewerApplication.l10n.get("web_fonts_disabled").then(function (msg) { + console.warn(msg); + }); + } + + if (!PDFViewerApplication.supportsPrinting) { + appConfig.toolbar.print.classList.add("hidden"); + appConfig.secondaryToolbar.printButton.classList.add("hidden"); + } + + if (!PDFViewerApplication.supportsFullscreen) { + appConfig.toolbar.presentationModeButton.classList.add("hidden"); + appConfig.secondaryToolbar.presentationModeButton.classList.add("hidden"); + } + + if (PDFViewerApplication.supportsIntegratedFind) { + appConfig.toolbar.viewFind.classList.add("hidden"); + } + + appConfig.mainContainer.addEventListener("transitionend", function (evt) { + if (evt.target === this) { + eventBus.dispatch("resize", { + source: this + }); + } + }, true); + + try { + if (file) { + PDFViewerApplication.open(file); + } else { + PDFViewerApplication._hideViewBookmark(); + } + } catch (reason) { + PDFViewerApplication.l10n.get("loading_error").then(function (msg) { + PDFViewerApplication._documentError(msg, reason); + }); + } +} + +function webViewerPageRendered(_ref11) { + var pageNumber = _ref11.pageNumber, + error = _ref11.error; + + if (pageNumber === PDFViewerApplication.page) { + PDFViewerApplication.toolbar.updateLoadingIndicatorState(false); + } + + if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) { + var pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1); + var thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(pageNumber - 1); + + if (pageView && thumbnailView) { + thumbnailView.setImage(pageView); + } + } + + if (error) { + PDFViewerApplication.l10n.get("rendering_error").then(function (msg) { + PDFViewerApplication._otherError(msg, error); + }); + } + + PDFViewerApplication._reportDocumentStatsTelemetry(); +} + +function webViewerPageMode(_ref12) { + var mode = _ref12.mode; + var view; + + switch (mode) { + case "thumbs": + view = _ui_utils.SidebarView.THUMBS; + break; + + case "bookmarks": + case "outline": + view = _ui_utils.SidebarView.OUTLINE; + break; + + case "attachments": + view = _ui_utils.SidebarView.ATTACHMENTS; + break; + + case "layers": + view = _ui_utils.SidebarView.LAYERS; + break; + + case "none": + view = _ui_utils.SidebarView.NONE; + break; + + default: + console.error('Invalid "pagemode" hash parameter: ' + mode); + return; + } + + PDFViewerApplication.pdfSidebar.switchView(view, true); +} + +function webViewerNamedAction(evt) { + switch (evt.action) { + case "GoToPage": + PDFViewerApplication.appConfig.toolbar.pageNumber.select(); + break; + + case "Find": + if (!PDFViewerApplication.supportsIntegratedFind) { + PDFViewerApplication.findBar.toggle(); + } + + break; + + case "Print": + PDFViewerApplication.triggerPrinting(); + break; + + case "SaveAs": + webViewerSave(); + break; + } +} + +function webViewerPresentationModeChanged(evt) { + PDFViewerApplication.pdfViewer.presentationModeState = evt.state; +} + +function webViewerSidebarViewChanged(evt) { + PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = PDFViewerApplication.pdfSidebar.isThumbnailViewVisible; + + if (PDFViewerApplication.isInitialViewSet) { + var _PDFViewerApplication; + + (_PDFViewerApplication = PDFViewerApplication.store) === null || _PDFViewerApplication === void 0 ? void 0 : _PDFViewerApplication.set("sidebarView", evt.view)["catch"](function () {}); + } +} + +function webViewerUpdateViewarea(evt) { + var location = evt.location; + + if (PDFViewerApplication.isInitialViewSet) { + var _PDFViewerApplication2; + + (_PDFViewerApplication2 = PDFViewerApplication.store) === null || _PDFViewerApplication2 === void 0 ? void 0 : _PDFViewerApplication2.setMultiple({ + page: location.pageNumber, + zoom: location.scale, + scrollLeft: location.left, + scrollTop: location.top, + rotation: location.rotation + })["catch"](function () {}); + } + + var href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams); + PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href; + PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href; + var currentPage = PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1); + var loading = (currentPage === null || currentPage === void 0 ? void 0 : currentPage.renderingState) !== _ui_utils.RenderingStates.FINISHED; + PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading); +} + +function webViewerScrollModeChanged(evt) { + if (PDFViewerApplication.isInitialViewSet) { + var _PDFViewerApplication3; + + (_PDFViewerApplication3 = PDFViewerApplication.store) === null || _PDFViewerApplication3 === void 0 ? void 0 : _PDFViewerApplication3.set("scrollMode", evt.mode)["catch"](function () {}); + } +} + +function webViewerSpreadModeChanged(evt) { + if (PDFViewerApplication.isInitialViewSet) { + var _PDFViewerApplication4; + + (_PDFViewerApplication4 = PDFViewerApplication.store) === null || _PDFViewerApplication4 === void 0 ? void 0 : _PDFViewerApplication4.set("spreadMode", evt.mode)["catch"](function () {}); + } +} + +function webViewerResize() { + var pdfDocument = PDFViewerApplication.pdfDocument, + pdfViewer = PDFViewerApplication.pdfViewer; + pdfViewer.updateContainerHeightCss(); + + if (!pdfDocument) { + return; + } + + var currentScaleValue = pdfViewer.currentScaleValue; + + if (currentScaleValue === "auto" || currentScaleValue === "page-fit" || currentScaleValue === "page-width") { + pdfViewer.currentScaleValue = currentScaleValue; + } + + pdfViewer.update(); +} + +function webViewerHashchange(evt) { + var _PDFViewerApplication5; + + var hash = evt.hash; + + if (!hash) { + return; + } + + if (!PDFViewerApplication.isInitialViewSet) { + PDFViewerApplication.initialBookmark = hash; + } else if (!((_PDFViewerApplication5 = PDFViewerApplication.pdfHistory) !== null && _PDFViewerApplication5 !== void 0 && _PDFViewerApplication5.popStateInProgress)) { + PDFViewerApplication.pdfLinkService.setHash(hash); + } +} + +{ + var webViewerFileInputChange = function webViewerFileInputChange(evt) { + var _PDFViewerApplication6; + + if ((_PDFViewerApplication6 = PDFViewerApplication.pdfViewer) !== null && _PDFViewerApplication6 !== void 0 && _PDFViewerApplication6.isInPresentationMode) { + return; + } + + var file = evt.fileInput.files[0]; + var url = URL.createObjectURL(file); + + if (file.name) { + url = { + url: url, + originalUrl: file.name + }; + } + + PDFViewerApplication.open(url); + }; + + var webViewerOpenFile = function webViewerOpenFile(evt) { + var fileInput = PDFViewerApplication.appConfig.openFileInput; + fileInput.click(); + }; +} + +function webViewerPresentationMode() { + PDFViewerApplication.requestPresentationMode(); +} + +function webViewerPrint() { + PDFViewerApplication.triggerPrinting(); +} + +function webViewerDownload() { + PDFViewerApplication.downloadOrSave({ + sourceEventType: "download" + }); +} + +function webViewerSave() { + PDFViewerApplication.downloadOrSave({ + sourceEventType: "save" + }); +} + +function webViewerFirstPage() { + if (PDFViewerApplication.pdfDocument) { + PDFViewerApplication.page = 1; + } +} + +function webViewerLastPage() { + if (PDFViewerApplication.pdfDocument) { + PDFViewerApplication.page = PDFViewerApplication.pagesCount; + } +} + +function webViewerNextPage() { + PDFViewerApplication.pdfViewer.nextPage(); +} + +function webViewerPreviousPage() { + PDFViewerApplication.pdfViewer.previousPage(); +} + +function webViewerZoomIn() { + PDFViewerApplication.zoomIn(); +} + +function webViewerZoomOut() { + PDFViewerApplication.zoomOut(); +} + +function webViewerZoomReset() { + PDFViewerApplication.zoomReset(); +} + +function webViewerPageNumberChanged(evt) { + var pdfViewer = PDFViewerApplication.pdfViewer; + + if (evt.value !== "") { + PDFViewerApplication.pdfLinkService.goToPage(evt.value); + } + + if (evt.value !== pdfViewer.currentPageNumber.toString() && evt.value !== pdfViewer.currentPageLabel) { + PDFViewerApplication.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel); + } +} + +function webViewerScaleChanged(evt) { + PDFViewerApplication.pdfViewer.currentScaleValue = evt.value; +} + +function webViewerRotateCw() { + PDFViewerApplication.rotatePages(90); +} + +function webViewerRotateCcw() { + PDFViewerApplication.rotatePages(-90); +} + +function webViewerOptionalContentConfig(evt) { + PDFViewerApplication.pdfViewer.optionalContentConfigPromise = evt.promise; +} + +function webViewerSwitchScrollMode(evt) { + PDFViewerApplication.pdfViewer.scrollMode = evt.mode; +} + +function webViewerSwitchSpreadMode(evt) { + PDFViewerApplication.pdfViewer.spreadMode = evt.mode; +} + +function webViewerDocumentProperties() { + PDFViewerApplication.pdfDocumentProperties.open(); +} + +function webViewerFindFromUrlHash(evt) { + PDFViewerApplication.eventBus.dispatch("find", { + source: evt.source, + type: "", + query: evt.query, + phraseSearch: evt.phraseSearch, + caseSensitive: false, + entireWord: false, + highlightAll: true, + findPrevious: false, + matchDiacritics: true + }); +} + +function webViewerUpdateFindMatchesCount(_ref13) { + var matchesCount = _ref13.matchesCount; + + if (PDFViewerApplication.supportsIntegratedFind) { + PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount); + } else { + PDFViewerApplication.findBar.updateResultsCount(matchesCount); + } +} + +function webViewerUpdateFindControlState(_ref14) { + var state = _ref14.state, + previous = _ref14.previous, + matchesCount = _ref14.matchesCount, + rawQuery = _ref14.rawQuery; + + if (PDFViewerApplication.supportsIntegratedFind) { + PDFViewerApplication.externalServices.updateFindControlState({ + result: state, + findPrevious: previous, + matchesCount: matchesCount, + rawQuery: rawQuery + }); + } else { + PDFViewerApplication.findBar.updateUIState(state, previous, matchesCount); + } +} + +function webViewerScaleChanging(evt) { + PDFViewerApplication.toolbar.setPageScale(evt.presetValue, evt.scale); + PDFViewerApplication.pdfViewer.update(); +} + +function webViewerRotationChanging(evt) { + PDFViewerApplication.pdfThumbnailViewer.pagesRotation = evt.pagesRotation; + PDFViewerApplication.forceRendering(); + PDFViewerApplication.pdfViewer.currentPageNumber = evt.pageNumber; +} + +function webViewerPageChanging(_ref15) { + var pageNumber = _ref15.pageNumber, + pageLabel = _ref15.pageLabel; + PDFViewerApplication.toolbar.setPageNumber(pageNumber, pageLabel); + PDFViewerApplication.secondaryToolbar.setPageNumber(pageNumber); + + if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) { + PDFViewerApplication.pdfThumbnailViewer.scrollThumbnailIntoView(pageNumber); + } +} + +function webViewerVisibilityChange(evt) { + if (document.visibilityState === "visible") { + setZoomDisabledTimeout(); + } +} + +var zoomDisabledTimeout = null; + +function setZoomDisabledTimeout() { + if (zoomDisabledTimeout) { + clearTimeout(zoomDisabledTimeout); + } + + zoomDisabledTimeout = setTimeout(function () { + zoomDisabledTimeout = null; + }, WHEEL_ZOOM_DISABLED_TIMEOUT); +} + +function webViewerWheel(evt) { + var pdfViewer = PDFViewerApplication.pdfViewer, + supportedMouseWheelZoomModifierKeys = PDFViewerApplication.supportedMouseWheelZoomModifierKeys; + + if (pdfViewer.isInPresentationMode) { + return; + } + + if (evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey || evt.metaKey && supportedMouseWheelZoomModifierKeys.metaKey) { + evt.preventDefault(); + + if (zoomDisabledTimeout || document.visibilityState === "hidden") { + return; + } + + var deltaMode = evt.deltaMode; + var delta = (0, _ui_utils.normalizeWheelEventDirection)(evt); + var previousScale = pdfViewer.currentScale; + var ticks = 0; + + if (deltaMode === WheelEvent.DOM_DELTA_LINE || deltaMode === WheelEvent.DOM_DELTA_PAGE) { + if (Math.abs(delta) >= 1) { + ticks = Math.sign(delta); + } else { + ticks = PDFViewerApplication.accumulateWheelTicks(delta); + } + } else { + var PIXELS_PER_LINE_SCALE = 30; + ticks = PDFViewerApplication.accumulateWheelTicks(delta / PIXELS_PER_LINE_SCALE); + } + + if (ticks < 0) { + PDFViewerApplication.zoomOut(-ticks); + } else if (ticks > 0) { + PDFViewerApplication.zoomIn(ticks); + } + + var currentScale = pdfViewer.currentScale; + + if (previousScale !== currentScale) { + var scaleCorrectionFactor = currentScale / previousScale - 1; + var rect = pdfViewer.container.getBoundingClientRect(); + var dx = evt.clientX - rect.left; + var dy = evt.clientY - rect.top; + pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor; + pdfViewer.container.scrollTop += dy * scaleCorrectionFactor; + } + } else { + setZoomDisabledTimeout(); + } +} + +function webViewerTouchStart(evt) { + if (evt.touches.length > 1) { + evt.preventDefault(); + } +} + +function webViewerClick(evt) { + if (!PDFViewerApplication.secondaryToolbar.isOpen) { + return; + } + + var appConfig = PDFViewerApplication.appConfig; + + if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || appConfig.toolbar.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar.toggleButton) { + PDFViewerApplication.secondaryToolbar.close(); + } +} + +function webViewerKeyDown(evt) { + if (PDFViewerApplication.overlayManager.active) { + return; + } + + var eventBus = PDFViewerApplication.eventBus, + pdfViewer = PDFViewerApplication.pdfViewer; + var isViewerInPresentationMode = pdfViewer.isInPresentationMode; + var handled = false, + ensureViewerFocused = false; + var cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0); + + if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) { + switch (evt.keyCode) { + case 70: + if (!PDFViewerApplication.supportsIntegratedFind && !evt.shiftKey) { + PDFViewerApplication.findBar.open(); + handled = true; + } + + break; + + case 71: + if (!PDFViewerApplication.supportsIntegratedFind) { + var state = PDFViewerApplication.findController.state; + + if (state) { + var eventState = Object.assign(Object.create(null), state, { + source: window, + type: "again", + findPrevious: cmd === 5 || cmd === 12 + }); + eventBus.dispatch("find", eventState); + } + + handled = true; + } + + break; + + case 61: + case 107: + case 187: + case 171: + if (!isViewerInPresentationMode) { + PDFViewerApplication.zoomIn(); + } + + handled = true; + break; + + case 173: + case 109: + case 189: + if (!isViewerInPresentationMode) { + PDFViewerApplication.zoomOut(); + } + + handled = true; + break; + + case 48: + case 96: + if (!isViewerInPresentationMode) { + setTimeout(function () { + PDFViewerApplication.zoomReset(); + }); + handled = false; + } + + break; + + case 38: + if (isViewerInPresentationMode || PDFViewerApplication.page > 1) { + PDFViewerApplication.page = 1; + handled = true; + ensureViewerFocused = true; + } + + break; + + case 40: + if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) { + PDFViewerApplication.page = PDFViewerApplication.pagesCount; + handled = true; + ensureViewerFocused = true; + } + + break; + } + } + + if (cmd === 1 || cmd === 8) { + switch (evt.keyCode) { + case 83: + eventBus.dispatch("download", { + source: window + }); + handled = true; + break; + + case 79: + { + eventBus.dispatch("openfile", { + source: window + }); + handled = true; + } + break; + } + } + + if (cmd === 3 || cmd === 10) { + switch (evt.keyCode) { + case 80: + PDFViewerApplication.requestPresentationMode(); + handled = true; + break; + + case 71: + PDFViewerApplication.appConfig.toolbar.pageNumber.select(); + handled = true; + break; + } + } + + if (handled) { + if (ensureViewerFocused && !isViewerInPresentationMode) { + pdfViewer.focus(); + } + + evt.preventDefault(); + return; + } + + var curElement = (0, _ui_utils.getActiveOrFocusedElement)(); + var curElementTagName = curElement === null || curElement === void 0 ? void 0 : curElement.tagName.toUpperCase(); + + if (curElementTagName === "INPUT" || curElementTagName === "TEXTAREA" || curElementTagName === "SELECT" || curElement !== null && curElement !== void 0 && curElement.isContentEditable) { + if (evt.keyCode !== 27) { + return; + } + } + + if (cmd === 0) { + var turnPage = 0, + turnOnlyIfPageFit = false; + + switch (evt.keyCode) { + case 38: + case 33: + if (pdfViewer.isVerticalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + + turnPage = -1; + break; + + case 8: + if (!isViewerInPresentationMode) { + turnOnlyIfPageFit = true; + } + + turnPage = -1; + break; + + case 37: + if (pdfViewer.isHorizontalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + + case 75: + case 80: + turnPage = -1; + break; + + case 27: + if (PDFViewerApplication.secondaryToolbar.isOpen) { + PDFViewerApplication.secondaryToolbar.close(); + handled = true; + } + + if (!PDFViewerApplication.supportsIntegratedFind && PDFViewerApplication.findBar.opened) { + PDFViewerApplication.findBar.close(); + handled = true; + } + + break; + + case 40: + case 34: + if (pdfViewer.isVerticalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + + turnPage = 1; + break; + + case 13: + case 32: + if (!isViewerInPresentationMode) { + turnOnlyIfPageFit = true; + } + + turnPage = 1; + break; + + case 39: + if (pdfViewer.isHorizontalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + + case 74: + case 78: + turnPage = 1; + break; + + case 36: + if (isViewerInPresentationMode || PDFViewerApplication.page > 1) { + PDFViewerApplication.page = 1; + handled = true; + ensureViewerFocused = true; + } + + break; + + case 35: + if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) { + PDFViewerApplication.page = PDFViewerApplication.pagesCount; + handled = true; + ensureViewerFocused = true; + } + + break; + + case 83: + PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.SELECT); + break; + + case 72: + PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.HAND); + break; + + case 82: + PDFViewerApplication.rotatePages(90); + break; + + case 115: + PDFViewerApplication.pdfSidebar.toggle(); + break; + } + + if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === "page-fit")) { + if (turnPage > 0) { + pdfViewer.nextPage(); + } else { + pdfViewer.previousPage(); + } + + handled = true; + } + } + + if (cmd === 4) { + switch (evt.keyCode) { + case 13: + case 32: + if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== "page-fit") { + break; + } + + pdfViewer.previousPage(); + handled = true; + break; + + case 82: + PDFViewerApplication.rotatePages(-90); + break; + } + } + + if (!handled && !isViewerInPresentationMode) { + if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== "BUTTON") { + ensureViewerFocused = true; + } + } + + if (ensureViewerFocused && !pdfViewer.containsElement(curElement)) { + pdfViewer.focus(); + } + + if (handled) { + evt.preventDefault(); + } +} + +function beforeUnload(evt) { + evt.preventDefault(); + evt.returnValue = ""; + return false; +} + +var PDFPrintServiceFactory = { + instance: { + supportsPrinting: false, + createPrintService: function createPrintService() { + throw new Error("Not implemented: createPrintService"); + } + } +}; +exports.PDFPrintServiceFactory = PDFPrintServiceFactory; + +/***/ }), +/* 3 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + + +module.exports = __webpack_require__(4); + +/***/ }), +/* 4 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +/* module decorator */ module = __webpack_require__.nmd(module); + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +var runtime = function (exports) { + "use strict"; + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined; + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + function define(obj, key, value) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + return obj[key]; + } + + try { + define({}, ""); + } catch (err) { + define = function define(obj, key, value) { + return obj[key] = value; + }; + } + + function wrap(innerFn, outerFn, self, tryLocsList) { + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + generator._invoke = makeInvokeMethod(innerFn, self, context); + return generator; + } + + exports.wrap = wrap; + + function tryCatch(fn, obj, arg) { + try { + return { + type: "normal", + arg: fn.call(obj, arg) + }; + } catch (err) { + return { + type: "throw", + arg: err + }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + var ContinueSentinel = {}; + + function Generator() {} + + function GeneratorFunction() {} + + function GeneratorFunctionPrototype() {} + + var IteratorPrototype = {}; + define(IteratorPrototype, iteratorSymbol, function () { + return this; + }); + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + + if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = GeneratorFunctionPrototype; + define(Gp, "constructor", GeneratorFunctionPrototype); + define(GeneratorFunctionPrototype, "constructor", GeneratorFunction); + GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); + + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function (method) { + define(prototype, method, function (arg) { + return this._invoke(method, arg); + }); + }); + } + + exports.isGeneratorFunction = function (genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false; + }; + + exports.mark = function (genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + define(genFun, toStringTagSymbol, "GeneratorFunction"); + } + + genFun.prototype = Object.create(Gp); + return genFun; + }; + + exports.awrap = function (arg) { + return { + __await: arg + }; + }; + + function AsyncIterator(generator, PromiseImpl) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + + if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) { + return PromiseImpl.resolve(value.__await).then(function (value) { + invoke("next", value, resolve, reject); + }, function (err) { + invoke("throw", err, resolve, reject); + }); + } + + return PromiseImpl.resolve(value).then(function (unwrapped) { + result.value = unwrapped; + resolve(result); + }, function (error) { + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new PromiseImpl(function (resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); + } + + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + define(AsyncIterator.prototype, asyncIteratorSymbol, function () { + return this; + }); + exports.AsyncIterator = AsyncIterator; + + exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { + if (PromiseImpl === void 0) PromiseImpl = Promise; + var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); + return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + context.sent = context._sent = context.arg; + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + var record = tryCatch(innerFn, self, context); + + if (record.type === "normal") { + state = context.done ? GenStateCompleted : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + } else if (record.type === "throw") { + state = GenStateCompleted; + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + + if (method === undefined) { + context.delegate = null; + + if (context.method === "throw") { + if (delegate.iterator["return"]) { + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError("The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (!info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + context[delegate.resultName] = info.value; + context.next = delegate.nextLoc; + + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; + } + } else { + return info; + } + + context.delegate = null; + return ContinueSentinel; + } + + defineIteratorMethods(Gp); + define(Gp, toStringTagSymbol, "Generator"); + define(Gp, iteratorSymbol, function () { + return this; + }); + define(Gp, "toString", function () { + return "[object Generator]"; + }); + + function pushTryEntry(locs) { + var entry = { + tryLoc: locs[0] + }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + this.tryEntries = [{ + tryLoc: "root" + }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + exports.keys = function (object) { + var keys = []; + + for (var key in object) { + keys.push(key); + } + + keys.reverse(); + return function next() { + while (keys.length) { + var key = keys.pop(); + + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, + next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + return next; + }; + + return next.next = next; + } + } + + return { + next: doneResult + }; + } + + exports.values = values; + + function doneResult() { + return { + value: undefined, + done: true + }; + } + + Context.prototype = { + constructor: Context, + reset: function reset(skipTempReset) { + this.prev = 0; + this.next = 0; + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + this.method = "next"; + this.arg = undefined; + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + stop: function stop() { + this.done = true; + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + dispatchException: function dispatchException(exception) { + if (this.done) { + throw exception; + } + + var context = this; + + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + context.method = "next"; + context.arg = undefined; + } + + return !!caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + abrupt: function abrupt(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) { + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + complete: function complete(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + finish: function finish(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + "catch": function _catch(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + + return thrown; + } + } + + throw new Error("illegal catch attempt"); + }, + delegateYield: function delegateYield(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + this.arg = undefined; + } + + return ContinueSentinel; + } + }; + return exports; +}(( false ? 0 : _typeof(module)) === "object" ? module.exports : {}); + +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") { + globalThis.regeneratorRuntime = runtime; + } else { + Function("r", "regeneratorRuntime = r")(runtime); + } +} + +/***/ }), +/* 5 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.animationStarted = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RenderingStates = exports.RendererType = exports.ProgressBar = exports.PresentationModeState = exports.OutputScale = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE_DELTA = exports.DEFAULT_SCALE = exports.AutoPrintRegExp = void 0; +exports.apiPageLayoutToViewerModes = apiPageLayoutToViewerModes; +exports.apiPageModeToSidebarView = apiPageModeToSidebarView; +exports.approximateFraction = approximateFraction; +exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements; +exports.binarySearchFirstItem = binarySearchFirstItem; +exports.getActiveOrFocusedElement = getActiveOrFocusedElement; +exports.getPageSizeInches = getPageSizeInches; +exports.getVisibleElements = getVisibleElements; +exports.isPortraitOrientation = isPortraitOrientation; +exports.isValidRotation = isValidRotation; +exports.isValidScrollMode = isValidScrollMode; +exports.isValidSpreadMode = isValidSpreadMode; +exports.noContextMenuHandler = noContextMenuHandler; +exports.normalizeWheelEventDelta = normalizeWheelEventDelta; +exports.normalizeWheelEventDirection = normalizeWheelEventDirection; +exports.parseQueryString = parseQueryString; +exports.removeNullCharacters = removeNullCharacters; +exports.roundToDivide = roundToDivide; +exports.scrollIntoView = scrollIntoView; +exports.watchScroll = watchScroll; + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var DEFAULT_SCALE_VALUE = "auto"; +exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE; +var DEFAULT_SCALE = 1.0; +exports.DEFAULT_SCALE = DEFAULT_SCALE; +var DEFAULT_SCALE_DELTA = 1.1; +exports.DEFAULT_SCALE_DELTA = DEFAULT_SCALE_DELTA; +var MIN_SCALE = 0.1; +exports.MIN_SCALE = MIN_SCALE; +var MAX_SCALE = 10.0; +exports.MAX_SCALE = MAX_SCALE; +var UNKNOWN_SCALE = 0; +exports.UNKNOWN_SCALE = UNKNOWN_SCALE; +var MAX_AUTO_SCALE = 1.25; +exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE; +var SCROLLBAR_PADDING = 40; +exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING; +var VERTICAL_PADDING = 5; +exports.VERTICAL_PADDING = VERTICAL_PADDING; +var RenderingStates = { + INITIAL: 0, + RUNNING: 1, + PAUSED: 2, + FINISHED: 3 +}; +exports.RenderingStates = RenderingStates; +var PresentationModeState = { + UNKNOWN: 0, + NORMAL: 1, + CHANGING: 2, + FULLSCREEN: 3 +}; +exports.PresentationModeState = PresentationModeState; +var SidebarView = { + UNKNOWN: -1, + NONE: 0, + THUMBS: 1, + OUTLINE: 2, + ATTACHMENTS: 3, + LAYERS: 4 +}; +exports.SidebarView = SidebarView; +var RendererType = { + CANVAS: "canvas", + SVG: "svg" +}; +exports.RendererType = RendererType; +var TextLayerMode = { + DISABLE: 0, + ENABLE: 1, + ENABLE_ENHANCE: 2 +}; +exports.TextLayerMode = TextLayerMode; +var ScrollMode = { + UNKNOWN: -1, + VERTICAL: 0, + HORIZONTAL: 1, + WRAPPED: 2, + PAGE: 3 +}; +exports.ScrollMode = ScrollMode; +var SpreadMode = { + UNKNOWN: -1, + NONE: 0, + ODD: 1, + EVEN: 2 +}; +exports.SpreadMode = SpreadMode; +var AutoPrintRegExp = /\bprint\s*\(/; +exports.AutoPrintRegExp = AutoPrintRegExp; + +var OutputScale = /*#__PURE__*/function () { + function OutputScale() { + _classCallCheck(this, OutputScale); + + var pixelRatio = window.devicePixelRatio || 1; + this.sx = pixelRatio; + this.sy = pixelRatio; + } + + _createClass(OutputScale, [{ + key: "scaled", + get: function get() { + return this.sx !== 1 || this.sy !== 1; + } + }]); + + return OutputScale; +}(); + +exports.OutputScale = OutputScale; + +function scrollIntoView(element, spot) { + var scrollMatches = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var parent = element.offsetParent; + + if (!parent) { + console.error("offsetParent is not set -- cannot scroll"); + return; + } + + var offsetY = element.offsetTop + element.clientTop; + var offsetX = element.offsetLeft + element.clientLeft; + + while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains("markedContent") || getComputedStyle(parent).overflow === "hidden")) { + offsetY += parent.offsetTop; + offsetX += parent.offsetLeft; + parent = parent.offsetParent; + + if (!parent) { + return; + } + } + + if (spot) { + if (spot.top !== undefined) { + offsetY += spot.top; + } + + if (spot.left !== undefined) { + offsetX += spot.left; + parent.scrollLeft = offsetX; + } + } + + parent.scrollTop = offsetY; +} + +function watchScroll(viewAreaElement, callback) { + var debounceScroll = function debounceScroll(evt) { + if (rAF) { + return; + } + + rAF = window.requestAnimationFrame(function viewAreaElementScrolled() { + rAF = null; + var currentX = viewAreaElement.scrollLeft; + var lastX = state.lastX; + + if (currentX !== lastX) { + state.right = currentX > lastX; + } + + state.lastX = currentX; + var currentY = viewAreaElement.scrollTop; + var lastY = state.lastY; + + if (currentY !== lastY) { + state.down = currentY > lastY; + } + + state.lastY = currentY; + callback(state); + }); + }; + + var state = { + right: true, + down: true, + lastX: viewAreaElement.scrollLeft, + lastY: viewAreaElement.scrollTop, + _eventHandler: debounceScroll + }; + var rAF = null; + viewAreaElement.addEventListener("scroll", debounceScroll, true); + return state; +} + +function parseQueryString(query) { + var params = new Map(); + + var _iterator = _createForOfIteratorHelper(new URLSearchParams(query)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + key = _step$value[0], + value = _step$value[1]; + + params.set(key.toLowerCase(), value); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return params; +} + +var NullCharactersRegExp = /\x00/g; +var InvisibleCharactersRegExp = /[\x01-\x1F]/g; + +function removeNullCharacters(str) { + var replaceInvisible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (typeof str !== "string") { + console.error("The argument must be a string."); + return str; + } + + if (replaceInvisible) { + str = str.replace(InvisibleCharactersRegExp, " "); + } + + return str.replace(NullCharactersRegExp, ""); +} + +function binarySearchFirstItem(items, condition) { + var start = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + var minIndex = start; + var maxIndex = items.length - 1; + + if (maxIndex < 0 || !condition(items[maxIndex])) { + return items.length; + } + + if (condition(items[minIndex])) { + return minIndex; + } + + while (minIndex < maxIndex) { + var currentIndex = minIndex + maxIndex >> 1; + var currentItem = items[currentIndex]; + + if (condition(currentItem)) { + maxIndex = currentIndex; + } else { + minIndex = currentIndex + 1; + } + } + + return minIndex; +} + +function approximateFraction(x) { + if (Math.floor(x) === x) { + return [x, 1]; + } + + var xinv = 1 / x; + var limit = 8; + + if (xinv > limit) { + return [1, limit]; + } else if (Math.floor(xinv) === xinv) { + return [1, xinv]; + } + + var x_ = x > 1 ? xinv : x; + var a = 0, + b = 1, + c = 1, + d = 1; + + while (true) { + var p = a + c, + q = b + d; + + if (q > limit) { + break; + } + + if (x_ <= p / q) { + c = p; + d = q; + } else { + a = p; + b = q; + } + } + + var result; + + if (x_ - a / b < c / d - x_) { + result = x_ === x ? [a, b] : [b, a]; + } else { + result = x_ === x ? [c, d] : [d, c]; + } + + return result; +} + +function roundToDivide(x, div) { + var r = x % div; + return r === 0 ? x : Math.round(x - r + div); +} + +function getPageSizeInches(_ref) { + var view = _ref.view, + userUnit = _ref.userUnit, + rotate = _ref.rotate; + + var _view = _slicedToArray(view, 4), + x1 = _view[0], + y1 = _view[1], + x2 = _view[2], + y2 = _view[3]; + + var changeOrientation = rotate % 180 !== 0; + var width = (x2 - x1) / 72 * userUnit; + var height = (y2 - y1) / 72 * userUnit; + return { + width: changeOrientation ? height : width, + height: changeOrientation ? width : height + }; +} + +function backtrackBeforeAllVisibleElements(index, views, top) { + if (index < 2) { + return index; + } + + var elt = views[index].div; + var pageTop = elt.offsetTop + elt.clientTop; + + if (pageTop >= top) { + elt = views[index - 1].div; + pageTop = elt.offsetTop + elt.clientTop; + } + + for (var i = index - 2; i >= 0; --i) { + elt = views[i].div; + + if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) { + break; + } + + index = i; + } + + return index; +} + +function getVisibleElements(_ref2) { + var scrollEl = _ref2.scrollEl, + views = _ref2.views, + _ref2$sortByVisibilit = _ref2.sortByVisibility, + sortByVisibility = _ref2$sortByVisibilit === void 0 ? false : _ref2$sortByVisibilit, + _ref2$horizontal = _ref2.horizontal, + horizontal = _ref2$horizontal === void 0 ? false : _ref2$horizontal, + _ref2$rtl = _ref2.rtl, + rtl = _ref2$rtl === void 0 ? false : _ref2$rtl; + var top = scrollEl.scrollTop, + bottom = top + scrollEl.clientHeight; + var left = scrollEl.scrollLeft, + right = left + scrollEl.clientWidth; + + function isElementBottomAfterViewTop(view) { + var element = view.div; + var elementBottom = element.offsetTop + element.clientTop + element.clientHeight; + return elementBottom > top; + } + + function isElementNextAfterViewHorizontally(view) { + var element = view.div; + var elementLeft = element.offsetLeft + element.clientLeft; + var elementRight = elementLeft + element.clientWidth; + return rtl ? elementLeft < right : elementRight > left; + } + + var visible = [], + ids = new Set(), + numViews = views.length; + var firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop); + + if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) { + firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top); + } + + var lastEdge = horizontal ? right : -1; + + for (var i = firstVisibleElementInd; i < numViews; i++) { + var view = views[i], + element = view.div; + var currentWidth = element.offsetLeft + element.clientLeft; + var currentHeight = element.offsetTop + element.clientTop; + var viewWidth = element.clientWidth, + viewHeight = element.clientHeight; + var viewRight = currentWidth + viewWidth; + var viewBottom = currentHeight + viewHeight; + + if (lastEdge === -1) { + if (viewBottom >= bottom) { + lastEdge = viewBottom; + } + } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) { + break; + } + + if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) { + continue; + } + + var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom); + var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right); + var fractionHeight = (viewHeight - hiddenHeight) / viewHeight, + fractionWidth = (viewWidth - hiddenWidth) / viewWidth; + var percent = fractionHeight * fractionWidth * 100 | 0; + visible.push({ + id: view.id, + x: currentWidth, + y: currentHeight, + view: view, + percent: percent, + widthPercent: fractionWidth * 100 | 0 + }); + ids.add(view.id); + } + + var first = visible[0], + last = visible[visible.length - 1]; + + if (sortByVisibility) { + visible.sort(function (a, b) { + var pc = a.percent - b.percent; + + if (Math.abs(pc) > 0.001) { + return -pc; + } + + return a.id - b.id; + }); + } + + return { + first: first, + last: last, + views: visible, + ids: ids + }; +} + +function noContextMenuHandler(evt) { + evt.preventDefault(); +} + +function normalizeWheelEventDirection(evt) { + var delta = Math.hypot(evt.deltaX, evt.deltaY); + var angle = Math.atan2(evt.deltaY, evt.deltaX); + + if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) { + delta = -delta; + } + + return delta; +} + +function normalizeWheelEventDelta(evt) { + var delta = normalizeWheelEventDirection(evt); + var MOUSE_DOM_DELTA_PIXEL_MODE = 0; + var MOUSE_DOM_DELTA_LINE_MODE = 1; + var MOUSE_PIXELS_PER_LINE = 30; + var MOUSE_LINES_PER_PAGE = 30; + + if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) { + delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE; + } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) { + delta /= MOUSE_LINES_PER_PAGE; + } + + return delta; +} + +function isValidRotation(angle) { + return Number.isInteger(angle) && angle % 90 === 0; +} + +function isValidScrollMode(mode) { + return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN; +} + +function isValidSpreadMode(mode) { + return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN; +} + +function isPortraitOrientation(size) { + return size.width <= size.height; +} + +var animationStarted = new Promise(function (resolve) { + window.requestAnimationFrame(resolve); +}); +exports.animationStarted = animationStarted; + +function clamp(v, min, max) { + return Math.min(Math.max(v, min), max); +} + +var _updateBar = /*#__PURE__*/new WeakSet(); + +var ProgressBar = /*#__PURE__*/function () { + function ProgressBar(id) { + _classCallCheck(this, ProgressBar); + + _classPrivateMethodInitSpec(this, _updateBar); + + if (arguments.length > 1) { + throw new Error("ProgressBar no longer accepts any additional options, " + "please use CSS rules to modify its appearance instead."); + } + + this.visible = true; + this.div = document.querySelector(id + " .progress"); + this.bar = this.div.parentNode; + this.percent = 0; + } + + _createClass(ProgressBar, [{ + key: "percent", + get: function get() { + return this._percent; + }, + set: function set(val) { + this._indeterminate = isNaN(val); + this._percent = clamp(val, 0, 100); + + _classPrivateMethodGet(this, _updateBar, _updateBar2).call(this); + } + }, { + key: "setWidth", + value: function setWidth(viewer) { + if (!viewer) { + return; + } + + var container = viewer.parentNode; + var scrollbarWidth = container.offsetWidth - viewer.offsetWidth; + + if (scrollbarWidth > 0) { + var doc = document.documentElement; + doc.style.setProperty("--progressBar-end-offset", "".concat(scrollbarWidth, "px")); + } + } + }, { + key: "hide", + value: function hide() { + if (!this.visible) { + return; + } + + this.visible = false; + this.bar.classList.add("hidden"); + } + }, { + key: "show", + value: function show() { + if (this.visible) { + return; + } + + this.visible = true; + this.bar.classList.remove("hidden"); + } + }]); + + return ProgressBar; +}(); + +exports.ProgressBar = ProgressBar; + +function _updateBar2() { + if (this._indeterminate) { + this.div.classList.add("indeterminate"); + return; + } + + this.div.classList.remove("indeterminate"); + var doc = document.documentElement; + doc.style.setProperty("--progressBar-percent", "".concat(this._percent, "%")); +} + +function getActiveOrFocusedElement() { + var curRoot = document; + var curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus"); + + while ((_curActiveOrFocused = curActiveOrFocused) !== null && _curActiveOrFocused !== void 0 && _curActiveOrFocused.shadowRoot) { + var _curActiveOrFocused; + + curRoot = curActiveOrFocused.shadowRoot; + curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus"); + } + + return curActiveOrFocused; +} + +function apiPageLayoutToViewerModes(layout) { + var scrollMode = ScrollMode.VERTICAL, + spreadMode = SpreadMode.NONE; + + switch (layout) { + case "SinglePage": + scrollMode = ScrollMode.PAGE; + break; + + case "OneColumn": + break; + + case "TwoPageLeft": + scrollMode = ScrollMode.PAGE; + + case "TwoColumnLeft": + spreadMode = SpreadMode.ODD; + break; + + case "TwoPageRight": + scrollMode = ScrollMode.PAGE; + + case "TwoColumnRight": + spreadMode = SpreadMode.EVEN; + break; + } + + return { + scrollMode: scrollMode, + spreadMode: spreadMode + }; +} + +function apiPageModeToSidebarView(mode) { + switch (mode) { + case "UseNone": + return SidebarView.NONE; + + case "UseThumbs": + return SidebarView.THUMBS; + + case "UseOutlines": + return SidebarView.OUTLINE; + + case "UseAttachments": + return SidebarView.ATTACHMENTS; + + case "UseOC": + return SidebarView.LAYERS; + } + + return SidebarView.NONE; +} + +/***/ }), +/* 6 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.WaitOnType = exports.EventBus = exports.AutomationEventBus = void 0; +exports.waitOnEventOrTimeout = waitOnEventOrTimeout; + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +var WaitOnType = { + EVENT: "event", + TIMEOUT: "timeout" +}; +exports.WaitOnType = WaitOnType; + +function waitOnEventOrTimeout(_ref) { + var target = _ref.target, + name = _ref.name, + _ref$delay = _ref.delay, + delay = _ref$delay === void 0 ? 0 : _ref$delay; + return new Promise(function (resolve, reject) { + if (_typeof(target) !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) { + throw new Error("waitOnEventOrTimeout - invalid parameters."); + } + + function handler(type) { + if (target instanceof EventBus) { + target._off(name, eventHandler); + } else { + target.removeEventListener(name, eventHandler); + } + + if (timeout) { + clearTimeout(timeout); + } + + resolve(type); + } + + var eventHandler = handler.bind(null, WaitOnType.EVENT); + + if (target instanceof EventBus) { + target._on(name, eventHandler); + } else { + target.addEventListener(name, eventHandler); + } + + var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT); + var timeout = setTimeout(timeoutHandler, delay); + }); +} + +var EventBus = /*#__PURE__*/function () { + function EventBus() { + _classCallCheck(this, EventBus); + + this._listeners = Object.create(null); + } + + _createClass(EventBus, [{ + key: "on", + value: function on(eventName, listener) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + this._on(eventName, listener, { + external: true, + once: options === null || options === void 0 ? void 0 : options.once + }); + } + }, { + key: "off", + value: function off(eventName, listener) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + this._off(eventName, listener, { + external: true, + once: options === null || options === void 0 ? void 0 : options.once + }); + } + }, { + key: "dispatch", + value: function dispatch(eventName, data) { + var eventListeners = this._listeners[eventName]; + + if (!eventListeners || eventListeners.length === 0) { + return; + } + + var externalListeners; + + var _iterator = _createForOfIteratorHelper(eventListeners.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _step.value, + _listener = _step$value.listener, + external = _step$value.external, + once = _step$value.once; + + if (once) { + this._off(eventName, _listener); + } + + if (external) { + (externalListeners || (externalListeners = [])).push(_listener); + continue; + } + + _listener(data); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + if (externalListeners) { + var _iterator2 = _createForOfIteratorHelper(externalListeners), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var listener = _step2.value; + listener(data); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + externalListeners = null; + } + } + }, { + key: "_on", + value: function _on(eventName, listener) { + var _this$_listeners; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var eventListeners = (_this$_listeners = this._listeners)[eventName] || (_this$_listeners[eventName] = []); + eventListeners.push({ + listener: listener, + external: (options === null || options === void 0 ? void 0 : options.external) === true, + once: (options === null || options === void 0 ? void 0 : options.once) === true + }); + } + }, { + key: "_off", + value: function _off(eventName, listener) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var eventListeners = this._listeners[eventName]; + + if (!eventListeners) { + return; + } + + for (var i = 0, ii = eventListeners.length; i < ii; i++) { + if (eventListeners[i].listener === listener) { + eventListeners.splice(i, 1); + return; + } + } + } + }]); + + return EventBus; +}(); + +exports.EventBus = EventBus; + +var AutomationEventBus = /*#__PURE__*/function (_EventBus) { + _inherits(AutomationEventBus, _EventBus); + + var _super = _createSuper(AutomationEventBus); + + function AutomationEventBus() { + _classCallCheck(this, AutomationEventBus); + + return _super.apply(this, arguments); + } + + _createClass(AutomationEventBus, [{ + key: "dispatch", + value: function dispatch(eventName, data) { + throw new Error("Not implemented: AutomationEventBus.dispatch"); + } + }]); + + return AutomationEventBus; +}(EventBus); + +exports.AutomationEventBus = AutomationEventBus; + +/***/ }), +/* 7 */ +/***/ ((module) => { + + + +var pdfjsLib; + +if (typeof window !== "undefined" && window["pdfjs-dist/build/pdf"]) { + pdfjsLib = window["pdfjs-dist/build/pdf"]; +} else { + pdfjsLib = require("../build/pdf.js"); +} + +module.exports = pdfjsLib; + +/***/ }), +/* 8 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFCursorTools = exports.CursorTool = void 0; + +var _grab_to_pan = __webpack_require__(9); + +var _ui_utils = __webpack_require__(5); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +var CursorTool = { + SELECT: 0, + HAND: 1, + ZOOM: 2 +}; +exports.CursorTool = CursorTool; + +var _dispatchEvent = /*#__PURE__*/new WeakSet(); + +var _addEventListeners = /*#__PURE__*/new WeakSet(); + +var PDFCursorTools = /*#__PURE__*/function () { + function PDFCursorTools(_ref) { + var _this = this; + + var container = _ref.container, + eventBus = _ref.eventBus, + _ref$cursorToolOnLoad = _ref.cursorToolOnLoad, + cursorToolOnLoad = _ref$cursorToolOnLoad === void 0 ? CursorTool.SELECT : _ref$cursorToolOnLoad; + + _classCallCheck(this, PDFCursorTools); + + _classPrivateMethodInitSpec(this, _addEventListeners); + + _classPrivateMethodInitSpec(this, _dispatchEvent); + + this.container = container; + this.eventBus = eventBus; + this.active = CursorTool.SELECT; + this.activeBeforePresentationMode = null; + this.handTool = new _grab_to_pan.GrabToPan({ + element: this.container + }); + + _classPrivateMethodGet(this, _addEventListeners, _addEventListeners2).call(this); + + Promise.resolve().then(function () { + _this.switchTool(cursorToolOnLoad); + }); + } + + _createClass(PDFCursorTools, [{ + key: "activeTool", + get: function get() { + return this.active; + } + }, { + key: "switchTool", + value: function switchTool(tool) { + var _this2 = this; + + if (this.activeBeforePresentationMode !== null) { + return; + } + + if (tool === this.active) { + return; + } + + var disableActiveTool = function disableActiveTool() { + switch (_this2.active) { + case CursorTool.SELECT: + break; + + case CursorTool.HAND: + _this2.handTool.deactivate(); + + break; + + case CursorTool.ZOOM: + } + }; + + switch (tool) { + case CursorTool.SELECT: + disableActiveTool(); + break; + + case CursorTool.HAND: + disableActiveTool(); + this.handTool.activate(); + break; + + case CursorTool.ZOOM: + default: + console.error("switchTool: \"".concat(tool, "\" is an unsupported value.")); + return; + } + + this.active = tool; + + _classPrivateMethodGet(this, _dispatchEvent, _dispatchEvent2).call(this); + } + }]); + + return PDFCursorTools; +}(); + +exports.PDFCursorTools = PDFCursorTools; + +function _dispatchEvent2() { + this.eventBus.dispatch("cursortoolchanged", { + source: this, + tool: this.active + }); +} + +function _addEventListeners2() { + var _this3 = this; + + this.eventBus._on("switchcursortool", function (evt) { + _this3.switchTool(evt.tool); + }); + + this.eventBus._on("presentationmodechanged", function (evt) { + switch (evt.state) { + case _ui_utils.PresentationModeState.FULLSCREEN: + { + var previouslyActive = _this3.active; + + _this3.switchTool(CursorTool.SELECT); + + _this3.activeBeforePresentationMode = previouslyActive; + break; + } + + case _ui_utils.PresentationModeState.NORMAL: + { + var _previouslyActive = _this3.activeBeforePresentationMode; + _this3.activeBeforePresentationMode = null; + + _this3.switchTool(_previouslyActive); + + break; + } + } + }); +} + +/***/ }), +/* 9 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GrabToPan = void 0; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +var CSS_CLASS_GRAB = "grab-to-pan-grab"; + +var _onMouseDown = /*#__PURE__*/new WeakSet(); + +var _onMouseMove = /*#__PURE__*/new WeakSet(); + +var _endPan = /*#__PURE__*/new WeakSet(); + +var GrabToPan = /*#__PURE__*/function () { + function GrabToPan(options) { + _classCallCheck(this, GrabToPan); + + _classPrivateMethodInitSpec(this, _endPan); + + _classPrivateMethodInitSpec(this, _onMouseMove); + + _classPrivateMethodInitSpec(this, _onMouseDown); + + this.element = options.element; + this.document = options.element.ownerDocument; + + if (typeof options.ignoreTarget === "function") { + this.ignoreTarget = options.ignoreTarget; + } + + this.onActiveChanged = options.onActiveChanged; + this.activate = this.activate.bind(this); + this.deactivate = this.deactivate.bind(this); + this.toggle = this.toggle.bind(this); + this._onMouseDown = _classPrivateMethodGet(this, _onMouseDown, _onMouseDown2).bind(this); + this._onMouseMove = _classPrivateMethodGet(this, _onMouseMove, _onMouseMove2).bind(this); + this._endPan = _classPrivateMethodGet(this, _endPan, _endPan2).bind(this); + var overlay = this.overlay = document.createElement("div"); + overlay.className = "grab-to-pan-grabbing"; + } + + _createClass(GrabToPan, [{ + key: "activate", + value: function activate() { + if (!this.active) { + var _this$onActiveChanged; + + this.active = true; + this.element.addEventListener("mousedown", this._onMouseDown, true); + this.element.classList.add(CSS_CLASS_GRAB); + (_this$onActiveChanged = this.onActiveChanged) === null || _this$onActiveChanged === void 0 ? void 0 : _this$onActiveChanged.call(this, true); + } + } + }, { + key: "deactivate", + value: function deactivate() { + if (this.active) { + var _this$onActiveChanged2; + + this.active = false; + this.element.removeEventListener("mousedown", this._onMouseDown, true); + + this._endPan(); + + this.element.classList.remove(CSS_CLASS_GRAB); + (_this$onActiveChanged2 = this.onActiveChanged) === null || _this$onActiveChanged2 === void 0 ? void 0 : _this$onActiveChanged2.call(this, false); + } + } + }, { + key: "toggle", + value: function toggle() { + if (this.active) { + this.deactivate(); + } else { + this.activate(); + } + } + }, { + key: "ignoreTarget", + value: function ignoreTarget(node) { + return node.matches("a[href], a[href] *, input, textarea, button, button *, select, option"); + } + }]); + + return GrabToPan; +}(); + +exports.GrabToPan = GrabToPan; + +function _onMouseDown2(event) { + if (event.button !== 0 || this.ignoreTarget(event.target)) { + return; + } + + if (event.originalTarget) { + try { + event.originalTarget.tagName; + } catch (e) { + return; + } + } + + this.scrollLeftStart = this.element.scrollLeft; + this.scrollTopStart = this.element.scrollTop; + this.clientXStart = event.clientX; + this.clientYStart = event.clientY; + this.document.addEventListener("mousemove", this._onMouseMove, true); + this.document.addEventListener("mouseup", this._endPan, true); + this.element.addEventListener("scroll", this._endPan, true); + event.preventDefault(); + event.stopPropagation(); + var focusedElement = document.activeElement; + + if (focusedElement && !focusedElement.contains(event.target)) { + focusedElement.blur(); + } +} + +function _onMouseMove2(event) { + this.element.removeEventListener("scroll", this._endPan, true); + + if (!(event.buttons & 1)) { + this._endPan(); + + return; + } + + var xDiff = event.clientX - this.clientXStart; + var yDiff = event.clientY - this.clientYStart; + var scrollTop = this.scrollTopStart - yDiff; + var scrollLeft = this.scrollLeftStart - xDiff; + + if (this.element.scrollTo) { + this.element.scrollTo({ + top: scrollTop, + left: scrollLeft, + behavior: "instant" + }); + } else { + this.element.scrollTop = scrollTop; + this.element.scrollLeft = scrollLeft; + } + + if (!this.overlay.parentNode) { + document.body.appendChild(this.overlay); + } +} + +function _endPan2() { + this.element.removeEventListener("scroll", this._endPan, true); + this.document.removeEventListener("mousemove", this._onMouseMove, true); + this.document.removeEventListener("mouseup", this._endPan, true); + this.overlay.remove(); +} + +/***/ }), +/* 10 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SimpleLinkService = exports.PDFLinkService = exports.LinkTarget = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _ui_utils = __webpack_require__(5); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classStaticPrivateMethodGet(receiver, classConstructor, method) { _classCheckPrivateStaticAccess(receiver, classConstructor); return method; } + +function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +var DEFAULT_LINK_REL = "noopener noreferrer nofollow"; +var LinkTarget = { + NONE: 0, + SELF: 1, + BLANK: 2, + PARENT: 3, + TOP: 4 +}; +exports.LinkTarget = LinkTarget; + +function _addLinkAttributes(link) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + url = _ref.url, + target = _ref.target, + rel = _ref.rel, + _ref$enabled = _ref.enabled, + enabled = _ref$enabled === void 0 ? true : _ref$enabled; + + if (!url || typeof url !== "string") { + throw new Error('A valid "url" parameter must provided.'); + } + + var urlNullRemoved = (0, _ui_utils.removeNullCharacters)(url); + + if (enabled) { + link.href = link.title = urlNullRemoved; + } else { + link.href = ""; + link.title = "Disabled: ".concat(urlNullRemoved); + + link.onclick = function () { + return false; + }; + } + + var targetStr = ""; + + switch (target) { + case LinkTarget.NONE: + break; + + case LinkTarget.SELF: + targetStr = "_self"; + break; + + case LinkTarget.BLANK: + targetStr = "_blank"; + break; + + case LinkTarget.PARENT: + targetStr = "_parent"; + break; + + case LinkTarget.TOP: + targetStr = "_top"; + break; + } + + link.target = targetStr; + link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL; +} + +var _pagesRefCache = /*#__PURE__*/new WeakMap(); + +var _goToDestinationHelper = /*#__PURE__*/new WeakSet(); + +var PDFLinkService = /*#__PURE__*/function () { + function PDFLinkService() { + var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + eventBus = _ref2.eventBus, + _ref2$externalLinkTar = _ref2.externalLinkTarget, + externalLinkTarget = _ref2$externalLinkTar === void 0 ? null : _ref2$externalLinkTar, + _ref2$externalLinkRel = _ref2.externalLinkRel, + externalLinkRel = _ref2$externalLinkRel === void 0 ? null : _ref2$externalLinkRel, + _ref2$ignoreDestinati = _ref2.ignoreDestinationZoom, + ignoreDestinationZoom = _ref2$ignoreDestinati === void 0 ? false : _ref2$ignoreDestinati; + + _classCallCheck(this, PDFLinkService); + + _classPrivateMethodInitSpec(this, _goToDestinationHelper); + + _classPrivateFieldInitSpec(this, _pagesRefCache, { + writable: true, + value: new Map() + }); + + this.eventBus = eventBus; + this.externalLinkTarget = externalLinkTarget; + this.externalLinkRel = externalLinkRel; + this.externalLinkEnabled = true; + this._ignoreDestinationZoom = ignoreDestinationZoom; + this.baseUrl = null; + this.pdfDocument = null; + this.pdfViewer = null; + this.pdfHistory = null; + } + + _createClass(PDFLinkService, [{ + key: "setDocument", + value: function setDocument(pdfDocument) { + var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + this.baseUrl = baseUrl; + this.pdfDocument = pdfDocument; + + _classPrivateFieldGet(this, _pagesRefCache).clear(); + } + }, { + key: "setViewer", + value: function setViewer(pdfViewer) { + this.pdfViewer = pdfViewer; + } + }, { + key: "setHistory", + value: function setHistory(pdfHistory) { + this.pdfHistory = pdfHistory; + } + }, { + key: "pagesCount", + get: function get() { + return this.pdfDocument ? this.pdfDocument.numPages : 0; + } + }, { + key: "page", + get: function get() { + return this.pdfViewer.currentPageNumber; + }, + set: function set(value) { + this.pdfViewer.currentPageNumber = value; + } + }, { + key: "rotation", + get: function get() { + return this.pdfViewer.pagesRotation; + }, + set: function set(value) { + this.pdfViewer.pagesRotation = value; + } + }, { + key: "goToDestination", + value: function () { + var _goToDestination = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(dest) { + var namedDest, explicitDest; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (this.pdfDocument) { + _context.next = 2; + break; + } + + return _context.abrupt("return"); + + case 2: + if (!(typeof dest === "string")) { + _context.next = 9; + break; + } + + namedDest = dest; + _context.next = 6; + return this.pdfDocument.getDestination(dest); + + case 6: + explicitDest = _context.sent; + _context.next = 13; + break; + + case 9: + namedDest = null; + _context.next = 12; + return dest; + + case 12: + explicitDest = _context.sent; + + case 13: + if (Array.isArray(explicitDest)) { + _context.next = 16; + break; + } + + console.error("PDFLinkService.goToDestination: \"".concat(explicitDest, "\" is not ") + "a valid destination array, for dest=\"".concat(dest, "\".")); + return _context.abrupt("return"); + + case 16: + _classPrivateMethodGet(this, _goToDestinationHelper, _goToDestinationHelper2).call(this, dest, namedDest, explicitDest); + + case 17: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function goToDestination(_x) { + return _goToDestination.apply(this, arguments); + } + + return goToDestination; + }() + }, { + key: "goToPage", + value: function goToPage(val) { + if (!this.pdfDocument) { + return; + } + + var pageNumber = typeof val === "string" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0; + + if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) { + console.error("PDFLinkService.goToPage: \"".concat(val, "\" is not a valid page.")); + return; + } + + if (this.pdfHistory) { + this.pdfHistory.pushCurrentPosition(); + this.pdfHistory.pushPage(pageNumber); + } + + this.pdfViewer.scrollPageIntoView({ + pageNumber: pageNumber + }); + } + }, { + key: "addLinkAttributes", + value: function addLinkAttributes(link, url) { + var newWindow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + _addLinkAttributes(link, { + url: url, + target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget, + rel: this.externalLinkRel, + enabled: this.externalLinkEnabled + }); + } + }, { + key: "getDestinationHash", + value: function getDestinationHash(dest) { + if (typeof dest === "string") { + if (dest.length > 0) { + return this.getAnchorUrl("#" + escape(dest)); + } + } else if (Array.isArray(dest)) { + var str = JSON.stringify(dest); + + if (str.length > 0) { + return this.getAnchorUrl("#" + escape(str)); + } + } + + return this.getAnchorUrl(""); + } + }, { + key: "getAnchorUrl", + value: function getAnchorUrl(anchor) { + return (this.baseUrl || "") + anchor; + } + }, { + key: "setHash", + value: function setHash(hash) { + if (!this.pdfDocument) { + return; + } + + var pageNumber, dest; + + if (hash.includes("=")) { + var params = (0, _ui_utils.parseQueryString)(hash); + + if (params.has("search")) { + this.eventBus.dispatch("findfromurlhash", { + source: this, + query: params.get("search").replace(/"/g, ""), + phraseSearch: params.get("phrase") === "true" + }); + } + + if (params.has("page")) { + pageNumber = params.get("page") | 0 || 1; + } + + if (params.has("zoom")) { + var zoomArgs = params.get("zoom").split(","); + var zoomArg = zoomArgs[0]; + var zoomArgNumber = parseFloat(zoomArg); + + if (!zoomArg.includes("Fit")) { + dest = [null, { + name: "XYZ" + }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg]; + } else { + if (zoomArg === "Fit" || zoomArg === "FitB") { + dest = [null, { + name: zoomArg + }]; + } else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") { + dest = [null, { + name: zoomArg + }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null]; + } else if (zoomArg === "FitR") { + if (zoomArgs.length !== 5) { + console.error('PDFLinkService.setHash: Not enough parameters for "FitR".'); + } else { + dest = [null, { + name: zoomArg + }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0]; + } + } else { + console.error("PDFLinkService.setHash: \"".concat(zoomArg, "\" is not a valid zoom value.")); + } + } + } + + if (dest) { + this.pdfViewer.scrollPageIntoView({ + pageNumber: pageNumber || this.page, + destArray: dest, + allowNegativeOffset: true + }); + } else if (pageNumber) { + this.page = pageNumber; + } + + if (params.has("pagemode")) { + this.eventBus.dispatch("pagemode", { + source: this, + mode: params.get("pagemode") + }); + } + + if (params.has("nameddest")) { + this.goToDestination(params.get("nameddest")); + } + } else { + dest = unescape(hash); + + try { + dest = JSON.parse(dest); + + if (!Array.isArray(dest)) { + dest = dest.toString(); + } + } catch (ex) {} + + if (typeof dest === "string" || _classStaticPrivateMethodGet(PDFLinkService, PDFLinkService, _isValidExplicitDestination).call(PDFLinkService, dest)) { + this.goToDestination(dest); + return; + } + + console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not a valid destination.")); + } + } + }, { + key: "executeNamedAction", + value: function executeNamedAction(action) { + var _this$pdfHistory, _this$pdfHistory2; + + switch (action) { + case "GoBack": + (_this$pdfHistory = this.pdfHistory) === null || _this$pdfHistory === void 0 ? void 0 : _this$pdfHistory.back(); + break; + + case "GoForward": + (_this$pdfHistory2 = this.pdfHistory) === null || _this$pdfHistory2 === void 0 ? void 0 : _this$pdfHistory2.forward(); + break; + + case "NextPage": + this.pdfViewer.nextPage(); + break; + + case "PrevPage": + this.pdfViewer.previousPage(); + break; + + case "LastPage": + this.page = this.pagesCount; + break; + + case "FirstPage": + this.page = 1; + break; + + default: + break; + } + + this.eventBus.dispatch("namedaction", { + source: this, + action: action + }); + } + }, { + key: "cachePageRef", + value: function cachePageRef(pageNum, pageRef) { + if (!pageRef) { + return; + } + + var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen); + + _classPrivateFieldGet(this, _pagesRefCache).set(refStr, pageNum); + } + }, { + key: "_cachedPageNumber", + value: function _cachedPageNumber(pageRef) { + if (!pageRef) { + return null; + } + + var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen); + return _classPrivateFieldGet(this, _pagesRefCache).get(refStr) || null; + } + }, { + key: "isPageVisible", + value: function isPageVisible(pageNumber) { + return this.pdfViewer.isPageVisible(pageNumber); + } + }, { + key: "isPageCached", + value: function isPageCached(pageNumber) { + return this.pdfViewer.isPageCached(pageNumber); + } + }]); + + return PDFLinkService; +}(); + +exports.PDFLinkService = PDFLinkService; + +function _goToDestinationHelper2(rawDest) { + var _this = this; + + var namedDest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var explicitDest = arguments.length > 2 ? arguments[2] : undefined; + var destRef = explicitDest[0]; + var pageNumber; + + if (_typeof(destRef) === "object" && destRef !== null) { + pageNumber = this._cachedPageNumber(destRef); + + if (!pageNumber) { + this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) { + _this.cachePageRef(pageIndex + 1, destRef); + + _classPrivateMethodGet(_this, _goToDestinationHelper, _goToDestinationHelper2).call(_this, rawDest, namedDest, explicitDest); + })["catch"](function () { + console.error("PDFLinkService.#goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid page reference, for dest=\"".concat(rawDest, "\".")); + }); + return; + } + } else if (Number.isInteger(destRef)) { + pageNumber = destRef + 1; + } else { + console.error("PDFLinkService.#goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid destination reference, for dest=\"".concat(rawDest, "\".")); + return; + } + + if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) { + console.error("PDFLinkService.#goToDestinationHelper: \"".concat(pageNumber, "\" is not ") + "a valid page number, for dest=\"".concat(rawDest, "\".")); + return; + } + + if (this.pdfHistory) { + this.pdfHistory.pushCurrentPosition(); + this.pdfHistory.push({ + namedDest: namedDest, + explicitDest: explicitDest, + pageNumber: pageNumber + }); + } + + this.pdfViewer.scrollPageIntoView({ + pageNumber: pageNumber, + destArray: explicitDest, + ignoreDestinationZoom: this._ignoreDestinationZoom + }); +} + +function _isValidExplicitDestination(dest) { + if (!Array.isArray(dest)) { + return false; + } + + var destLength = dest.length; + + if (destLength < 2) { + return false; + } + + var page = dest[0]; + + if (!(_typeof(page) === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) { + return false; + } + + var zoom = dest[1]; + + if (!(_typeof(zoom) === "object" && typeof zoom.name === "string")) { + return false; + } + + var allowNull = true; + + switch (zoom.name) { + case "XYZ": + if (destLength !== 5) { + return false; + } + + break; + + case "Fit": + case "FitB": + return destLength === 2; + + case "FitH": + case "FitBH": + case "FitV": + case "FitBV": + if (destLength !== 3) { + return false; + } + + break; + + case "FitR": + if (destLength !== 6) { + return false; + } + + allowNull = false; + break; + + default: + return false; + } + + for (var i = 2; i < destLength; i++) { + var param = dest[i]; + + if (!(typeof param === "number" || allowNull && param === null)) { + return false; + } + } + + return true; +} + +var SimpleLinkService = /*#__PURE__*/function () { + function SimpleLinkService() { + _classCallCheck(this, SimpleLinkService); + + this.externalLinkEnabled = true; + } + + _createClass(SimpleLinkService, [{ + key: "pagesCount", + get: function get() { + return 0; + } + }, { + key: "page", + get: function get() { + return 0; + }, + set: function set(value) {} + }, { + key: "rotation", + get: function get() { + return 0; + }, + set: function set(value) {} + }, { + key: "goToDestination", + value: function () { + var _goToDestination2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(dest) { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function goToDestination(_x2) { + return _goToDestination2.apply(this, arguments); + } + + return goToDestination; + }() + }, { + key: "goToPage", + value: function goToPage(val) {} + }, { + key: "addLinkAttributes", + value: function addLinkAttributes(link, url) { + var newWindow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + _addLinkAttributes(link, { + url: url, + enabled: this.externalLinkEnabled + }); + } + }, { + key: "getDestinationHash", + value: function getDestinationHash(dest) { + return "#"; + } + }, { + key: "getAnchorUrl", + value: function getAnchorUrl(hash) { + return "#"; + } + }, { + key: "setHash", + value: function setHash(hash) {} + }, { + key: "executeNamedAction", + value: function executeNamedAction(action) {} + }, { + key: "cachePageRef", + value: function cachePageRef(pageNum, pageRef) {} + }, { + key: "isPageVisible", + value: function isPageVisible(pageNumber) { + return true; + } + }, { + key: "isPageCached", + value: function isPageCached(pageNumber) { + return true; + } + }]); + + return SimpleLinkService; +}(); + +exports.SimpleLinkService = SimpleLinkService; + +/***/ }), +/* 11 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.OverlayManager = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +var _overlays = /*#__PURE__*/new WeakMap(); + +var _active = /*#__PURE__*/new WeakMap(); + +var OverlayManager = /*#__PURE__*/function () { + function OverlayManager() { + _classCallCheck(this, OverlayManager); + + _classPrivateFieldInitSpec(this, _overlays, { + writable: true, + value: new WeakMap() + }); + + _classPrivateFieldInitSpec(this, _active, { + writable: true, + value: null + }); + } + + _createClass(OverlayManager, [{ + key: "active", + get: function get() { + return _classPrivateFieldGet(this, _active); + } + }, { + key: "register", + value: function () { + var _register = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(dialog) { + var _this = this; + + var canForceClose, + dialogPolyfill, + _args = arguments; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + canForceClose = _args.length > 1 && _args[1] !== undefined ? _args[1] : false; + + if (!(_typeof(dialog) !== "object")) { + _context.next = 5; + break; + } + + throw new Error("Not enough parameters."); + + case 5: + if (!_classPrivateFieldGet(this, _overlays).has(dialog)) { + _context.next = 7; + break; + } + + throw new Error("The overlay is already registered."); + + case 7: + _classPrivateFieldGet(this, _overlays).set(dialog, { + canForceClose: canForceClose + }); + + if (!dialog.showModal) { + dialogPolyfill = __webpack_require__(12); + dialogPolyfill.registerDialog(dialog); + } + + dialog.addEventListener("cancel", function (evt) { + _classPrivateFieldSet(_this, _active, null); + }); + + case 10: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function register(_x) { + return _register.apply(this, arguments); + } + + return register; + }() + }, { + key: "unregister", + value: function () { + var _unregister = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(dialog) { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (_classPrivateFieldGet(this, _overlays).has(dialog)) { + _context2.next = 4; + break; + } + + throw new Error("The overlay does not exist."); + + case 4: + if (!(_classPrivateFieldGet(this, _active) === dialog)) { + _context2.next = 6; + break; + } + + throw new Error("The overlay cannot be removed while it is active."); + + case 6: + _classPrivateFieldGet(this, _overlays)["delete"](dialog); + + case 7: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function unregister(_x2) { + return _unregister.apply(this, arguments); + } + + return unregister; + }() + }, { + key: "open", + value: function () { + var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(dialog) { + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (_classPrivateFieldGet(this, _overlays).has(dialog)) { + _context3.next = 4; + break; + } + + throw new Error("The overlay does not exist."); + + case 4: + if (!_classPrivateFieldGet(this, _active)) { + _context3.next = 15; + break; + } + + if (!(_classPrivateFieldGet(this, _active) === dialog)) { + _context3.next = 9; + break; + } + + throw new Error("The overlay is already active."); + + case 9: + if (!_classPrivateFieldGet(this, _overlays).get(dialog).canForceClose) { + _context3.next = 14; + break; + } + + _context3.next = 12; + return this.close(); + + case 12: + _context3.next = 15; + break; + + case 14: + throw new Error("Another overlay is currently active."); + + case 15: + _classPrivateFieldSet(this, _active, dialog); + + dialog.showModal(); + + case 17: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function open(_x3) { + return _open.apply(this, arguments); + } + + return open; + }() + }, { + key: "close", + value: function () { + var _close = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { + var dialog, + _args4 = arguments; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + dialog = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : _classPrivateFieldGet(this, _active); + + if (_classPrivateFieldGet(this, _overlays).has(dialog)) { + _context4.next = 5; + break; + } + + throw new Error("The overlay does not exist."); + + case 5: + if (_classPrivateFieldGet(this, _active)) { + _context4.next = 9; + break; + } + + throw new Error("The overlay is currently not active."); + + case 9: + if (!(_classPrivateFieldGet(this, _active) !== dialog)) { + _context4.next = 11; + break; + } + + throw new Error("Another overlay is currently active."); + + case 11: + dialog.close(); + + _classPrivateFieldSet(this, _active, null); + + case 13: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function close() { + return _close.apply(this, arguments); + } + + return close; + }() + }]); + + return OverlayManager; +}(); + +exports.OverlayManager = OverlayManager; + +/***/ }), +/* 12 */ +/***/ ((module, exports, __webpack_require__) => { + +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__; + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +(function (global, factory) { + ( false ? 0 : _typeof(exports)) === 'object' && "object" !== 'undefined' ? module.exports = factory() : true ? !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : + __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : (0); +})(void 0, function () { + 'use strict'; + + var supportCustomEvent = window.CustomEvent; + + if (!supportCustomEvent || _typeof(supportCustomEvent) === 'object') { + supportCustomEvent = function CustomEvent(event, x) { + x = x || {}; + var ev = document.createEvent('CustomEvent'); + ev.initCustomEvent(event, !!x.bubbles, !!x.cancelable, x.detail || null); + return ev; + }; + + supportCustomEvent.prototype = window.Event.prototype; + } + + function safeDispatchEvent(target, event) { + var check = 'on' + event.type.toLowerCase(); + + if (typeof target[check] === 'function') { + target[check](event); + } + + return target.dispatchEvent(event); + } + + function createsStackingContext(el) { + while (el && el !== document.body) { + var s = window.getComputedStyle(el); + + var invalid = function invalid(k, ok) { + return !(s[k] === undefined || s[k] === ok); + }; + + if (s.opacity < 1 || invalid('zIndex', 'auto') || invalid('transform', 'none') || invalid('mixBlendMode', 'normal') || invalid('filter', 'none') || invalid('perspective', 'none') || s['isolation'] === 'isolate' || s.position === 'fixed' || s.webkitOverflowScrolling === 'touch') { + return true; + } + + el = el.parentElement; + } + + return false; + } + + function findNearestDialog(el) { + while (el) { + if (el.localName === 'dialog') { + return el; + } + + if (el.parentElement) { + el = el.parentElement; + } else if (el.parentNode) { + el = el.parentNode.host; + } else { + el = null; + } + } + + return null; + } + + function safeBlur(el) { + while (el && el.shadowRoot && el.shadowRoot.activeElement) { + el = el.shadowRoot.activeElement; + } + + if (el && el.blur && el !== document.body) { + el.blur(); + } + } + + function inNodeList(nodeList, node) { + for (var i = 0; i < nodeList.length; ++i) { + if (nodeList[i] === node) { + return true; + } + } + + return false; + } + + function isFormMethodDialog(el) { + if (!el || !el.hasAttribute('method')) { + return false; + } + + return el.getAttribute('method').toLowerCase() === 'dialog'; + } + + function findFocusableElementWithin(hostElement) { + var opts = ['button', 'input', 'keygen', 'select', 'textarea']; + var query = opts.map(function (el) { + return el + ':not([disabled])'; + }); + query.push('[tabindex]:not([disabled]):not([tabindex=""])'); + var target = hostElement.querySelector(query.join(', ')); + + if (!target && 'attachShadow' in Element.prototype) { + var elems = hostElement.querySelectorAll('*'); + + for (var i = 0; i < elems.length; i++) { + if (elems[i].tagName && elems[i].shadowRoot) { + target = findFocusableElementWithin(elems[i].shadowRoot); + + if (target) { + break; + } + } + } + } + + return target; + } + + function isConnected(element) { + return element.isConnected || document.body.contains(element); + } + + function findFormSubmitter(event) { + if (event.submitter) { + return event.submitter; + } + + var form = event.target; + + if (!(form instanceof HTMLFormElement)) { + return null; + } + + var submitter = dialogPolyfill.formSubmitter; + + if (!submitter) { + var target = event.target; + var root = 'getRootNode' in target && target.getRootNode() || document; + submitter = root.activeElement; + } + + if (!submitter || submitter.form !== form) { + return null; + } + + return submitter; + } + + function maybeHandleSubmit(event) { + if (event.defaultPrevented) { + return; + } + + var form = event.target; + var value = dialogPolyfill.imagemapUseValue; + var submitter = findFormSubmitter(event); + + if (value === null && submitter) { + value = submitter.value; + } + + var dialog = findNearestDialog(form); + + if (!dialog) { + return; + } + + var formmethod = submitter && submitter.getAttribute('formmethod') || form.getAttribute('method'); + + if (formmethod !== 'dialog') { + return; + } + + event.preventDefault(); + + if (value != null) { + dialog.close(value); + } else { + dialog.close(); + } + } + + function dialogPolyfillInfo(dialog) { + this.dialog_ = dialog; + this.replacedStyleTop_ = false; + this.openAsModal_ = false; + + if (!dialog.hasAttribute('role')) { + dialog.setAttribute('role', 'dialog'); + } + + dialog.show = this.show.bind(this); + dialog.showModal = this.showModal.bind(this); + dialog.close = this.close.bind(this); + dialog.addEventListener('submit', maybeHandleSubmit, false); + + if (!('returnValue' in dialog)) { + dialog.returnValue = ''; + } + + if ('MutationObserver' in window) { + var mo = new MutationObserver(this.maybeHideModal.bind(this)); + mo.observe(dialog, { + attributes: true, + attributeFilter: ['open'] + }); + } else { + var removed = false; + + var cb = function () { + removed ? this.downgradeModal() : this.maybeHideModal(); + removed = false; + }.bind(this); + + var timeout; + + var delayModel = function delayModel(ev) { + if (ev.target !== dialog) { + return; + } + + var cand = 'DOMNodeRemoved'; + removed |= ev.type.substr(0, cand.length) === cand; + window.clearTimeout(timeout); + timeout = window.setTimeout(cb, 0); + }; + + ['DOMAttrModified', 'DOMNodeRemoved', 'DOMNodeRemovedFromDocument'].forEach(function (name) { + dialog.addEventListener(name, delayModel); + }); + } + + Object.defineProperty(dialog, 'open', { + set: this.setOpen.bind(this), + get: dialog.hasAttribute.bind(dialog, 'open') + }); + this.backdrop_ = document.createElement('div'); + this.backdrop_.className = 'backdrop'; + this.backdrop_.addEventListener('mouseup', this.backdropMouseEvent_.bind(this)); + this.backdrop_.addEventListener('mousedown', this.backdropMouseEvent_.bind(this)); + this.backdrop_.addEventListener('click', this.backdropMouseEvent_.bind(this)); + } + + dialogPolyfillInfo.prototype = { + get dialog() { + return this.dialog_; + }, + + maybeHideModal: function maybeHideModal() { + if (this.dialog_.hasAttribute('open') && isConnected(this.dialog_)) { + return; + } + + this.downgradeModal(); + }, + downgradeModal: function downgradeModal() { + if (!this.openAsModal_) { + return; + } + + this.openAsModal_ = false; + this.dialog_.style.zIndex = ''; + + if (this.replacedStyleTop_) { + this.dialog_.style.top = ''; + this.replacedStyleTop_ = false; + } + + this.backdrop_.parentNode && this.backdrop_.parentNode.removeChild(this.backdrop_); + dialogPolyfill.dm.removeDialog(this); + }, + setOpen: function setOpen(value) { + if (value) { + this.dialog_.hasAttribute('open') || this.dialog_.setAttribute('open', ''); + } else { + this.dialog_.removeAttribute('open'); + this.maybeHideModal(); + } + }, + backdropMouseEvent_: function backdropMouseEvent_(e) { + if (!this.dialog_.hasAttribute('tabindex')) { + var fake = document.createElement('div'); + this.dialog_.insertBefore(fake, this.dialog_.firstChild); + fake.tabIndex = -1; + fake.focus(); + this.dialog_.removeChild(fake); + } else { + this.dialog_.focus(); + } + + var redirectedEvent = document.createEvent('MouseEvents'); + redirectedEvent.initMouseEvent(e.type, e.bubbles, e.cancelable, window, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget); + this.dialog_.dispatchEvent(redirectedEvent); + e.stopPropagation(); + }, + focus_: function focus_() { + var target = this.dialog_.querySelector('[autofocus]:not([disabled])'); + + if (!target && this.dialog_.tabIndex >= 0) { + target = this.dialog_; + } + + if (!target) { + target = findFocusableElementWithin(this.dialog_); + } + + safeBlur(document.activeElement); + target && target.focus(); + }, + updateZIndex: function updateZIndex(dialogZ, backdropZ) { + if (dialogZ < backdropZ) { + throw new Error('dialogZ should never be < backdropZ'); + } + + this.dialog_.style.zIndex = dialogZ; + this.backdrop_.style.zIndex = backdropZ; + }, + show: function show() { + if (!this.dialog_.open) { + this.setOpen(true); + this.focus_(); + } + }, + showModal: function showModal() { + if (this.dialog_.hasAttribute('open')) { + throw new Error('Failed to execute \'showModal\' on dialog: The element is already open, and therefore cannot be opened modally.'); + } + + if (!isConnected(this.dialog_)) { + throw new Error('Failed to execute \'showModal\' on dialog: The element is not in a Document.'); + } + + if (!dialogPolyfill.dm.pushDialog(this)) { + throw new Error('Failed to execute \'showModal\' on dialog: There are too many open modal dialogs.'); + } + + if (createsStackingContext(this.dialog_.parentElement)) { + console.warn('A dialog is being shown inside a stacking context. ' + 'This may cause it to be unusable. For more information, see this link: ' + 'https://github.com/GoogleChrome/dialog-polyfill/#stacking-context'); + } + + this.setOpen(true); + this.openAsModal_ = true; + + if (dialogPolyfill.needsCentering(this.dialog_)) { + dialogPolyfill.reposition(this.dialog_); + this.replacedStyleTop_ = true; + } else { + this.replacedStyleTop_ = false; + } + + this.dialog_.parentNode.insertBefore(this.backdrop_, this.dialog_.nextSibling); + this.focus_(); + }, + close: function close(opt_returnValue) { + if (!this.dialog_.hasAttribute('open')) { + throw new Error('Failed to execute \'close\' on dialog: The element does not have an \'open\' attribute, and therefore cannot be closed.'); + } + + this.setOpen(false); + + if (opt_returnValue !== undefined) { + this.dialog_.returnValue = opt_returnValue; + } + + var closeEvent = new supportCustomEvent('close', { + bubbles: false, + cancelable: false + }); + safeDispatchEvent(this.dialog_, closeEvent); + } + }; + var dialogPolyfill = {}; + + dialogPolyfill.reposition = function (element) { + var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; + var topValue = scrollTop + (window.innerHeight - element.offsetHeight) / 2; + element.style.top = Math.max(scrollTop, topValue) + 'px'; + }; + + dialogPolyfill.isInlinePositionSetByStylesheet = function (element) { + for (var i = 0; i < document.styleSheets.length; ++i) { + var styleSheet = document.styleSheets[i]; + var cssRules = null; + + try { + cssRules = styleSheet.cssRules; + } catch (e) {} + + if (!cssRules) { + continue; + } + + for (var j = 0; j < cssRules.length; ++j) { + var rule = cssRules[j]; + var selectedNodes = null; + + try { + selectedNodes = document.querySelectorAll(rule.selectorText); + } catch (e) {} + + if (!selectedNodes || !inNodeList(selectedNodes, element)) { + continue; + } + + var cssTop = rule.style.getPropertyValue('top'); + var cssBottom = rule.style.getPropertyValue('bottom'); + + if (cssTop && cssTop !== 'auto' || cssBottom && cssBottom !== 'auto') { + return true; + } + } + } + + return false; + }; + + dialogPolyfill.needsCentering = function (dialog) { + var computedStyle = window.getComputedStyle(dialog); + + if (computedStyle.position !== 'absolute') { + return false; + } + + if (dialog.style.top !== 'auto' && dialog.style.top !== '' || dialog.style.bottom !== 'auto' && dialog.style.bottom !== '') { + return false; + } + + return !dialogPolyfill.isInlinePositionSetByStylesheet(dialog); + }; + + dialogPolyfill.forceRegisterDialog = function (element) { + if (window.HTMLDialogElement || element.showModal) { + console.warn('This browser already supports , the polyfill ' + 'may not work correctly', element); + } + + if (element.localName !== 'dialog') { + throw new Error('Failed to register dialog: The element is not a dialog.'); + } + + new dialogPolyfillInfo(element); + }; + + dialogPolyfill.registerDialog = function (element) { + if (!element.showModal) { + dialogPolyfill.forceRegisterDialog(element); + } + }; + + dialogPolyfill.DialogManager = function () { + this.pendingDialogStack = []; + var checkDOM = this.checkDOM_.bind(this); + this.overlay = document.createElement('div'); + this.overlay.className = '_dialog_overlay'; + this.overlay.addEventListener('click', function (e) { + this.forwardTab_ = undefined; + e.stopPropagation(); + checkDOM([]); + }.bind(this)); + this.handleKey_ = this.handleKey_.bind(this); + this.handleFocus_ = this.handleFocus_.bind(this); + this.zIndexLow_ = 100000; + this.zIndexHigh_ = 100000 + 150; + this.forwardTab_ = undefined; + + if ('MutationObserver' in window) { + this.mo_ = new MutationObserver(function (records) { + var removed = []; + records.forEach(function (rec) { + for (var i = 0, c; c = rec.removedNodes[i]; ++i) { + if (!(c instanceof Element)) { + continue; + } else if (c.localName === 'dialog') { + removed.push(c); + } + + removed = removed.concat(c.querySelectorAll('dialog')); + } + }); + removed.length && checkDOM(removed); + }); + } + }; + + dialogPolyfill.DialogManager.prototype.blockDocument = function () { + document.documentElement.addEventListener('focus', this.handleFocus_, true); + document.addEventListener('keydown', this.handleKey_); + this.mo_ && this.mo_.observe(document, { + childList: true, + subtree: true + }); + }; + + dialogPolyfill.DialogManager.prototype.unblockDocument = function () { + document.documentElement.removeEventListener('focus', this.handleFocus_, true); + document.removeEventListener('keydown', this.handleKey_); + this.mo_ && this.mo_.disconnect(); + }; + + dialogPolyfill.DialogManager.prototype.updateStacking = function () { + var zIndex = this.zIndexHigh_; + + for (var i = 0, dpi; dpi = this.pendingDialogStack[i]; ++i) { + dpi.updateZIndex(--zIndex, --zIndex); + + if (i === 0) { + this.overlay.style.zIndex = --zIndex; + } + } + + var last = this.pendingDialogStack[0]; + + if (last) { + var p = last.dialog.parentNode || document.body; + p.appendChild(this.overlay); + } else if (this.overlay.parentNode) { + this.overlay.parentNode.removeChild(this.overlay); + } + }; + + dialogPolyfill.DialogManager.prototype.containedByTopDialog_ = function (candidate) { + while (candidate = findNearestDialog(candidate)) { + for (var i = 0, dpi; dpi = this.pendingDialogStack[i]; ++i) { + if (dpi.dialog === candidate) { + return i === 0; + } + } + + candidate = candidate.parentElement; + } + + return false; + }; + + dialogPolyfill.DialogManager.prototype.handleFocus_ = function (event) { + var target = event.composedPath ? event.composedPath()[0] : event.target; + + if (this.containedByTopDialog_(target)) { + return; + } + + if (document.activeElement === document.documentElement) { + return; + } + + event.preventDefault(); + event.stopPropagation(); + safeBlur(target); + + if (this.forwardTab_ === undefined) { + return; + } + + var dpi = this.pendingDialogStack[0]; + var dialog = dpi.dialog; + var position = dialog.compareDocumentPosition(target); + + if (position & Node.DOCUMENT_POSITION_PRECEDING) { + if (this.forwardTab_) { + dpi.focus_(); + } else if (target !== document.documentElement) { + document.documentElement.focus(); + } + } + + return false; + }; + + dialogPolyfill.DialogManager.prototype.handleKey_ = function (event) { + this.forwardTab_ = undefined; + + if (event.keyCode === 27) { + event.preventDefault(); + event.stopPropagation(); + var cancelEvent = new supportCustomEvent('cancel', { + bubbles: false, + cancelable: true + }); + var dpi = this.pendingDialogStack[0]; + + if (dpi && safeDispatchEvent(dpi.dialog, cancelEvent)) { + dpi.dialog.close(); + } + } else if (event.keyCode === 9) { + this.forwardTab_ = !event.shiftKey; + } + }; + + dialogPolyfill.DialogManager.prototype.checkDOM_ = function (removed) { + var clone = this.pendingDialogStack.slice(); + clone.forEach(function (dpi) { + if (removed.indexOf(dpi.dialog) !== -1) { + dpi.downgradeModal(); + } else { + dpi.maybeHideModal(); + } + }); + }; + + dialogPolyfill.DialogManager.prototype.pushDialog = function (dpi) { + var allowed = (this.zIndexHigh_ - this.zIndexLow_) / 2 - 1; + + if (this.pendingDialogStack.length >= allowed) { + return false; + } + + if (this.pendingDialogStack.unshift(dpi) === 1) { + this.blockDocument(); + } + + this.updateStacking(); + return true; + }; + + dialogPolyfill.DialogManager.prototype.removeDialog = function (dpi) { + var index = this.pendingDialogStack.indexOf(dpi); + + if (index === -1) { + return; + } + + this.pendingDialogStack.splice(index, 1); + + if (this.pendingDialogStack.length === 0) { + this.unblockDocument(); + } + + this.updateStacking(); + }; + + dialogPolyfill.dm = new dialogPolyfill.DialogManager(); + dialogPolyfill.formSubmitter = null; + dialogPolyfill.imagemapUseValue = null; + + if (window.HTMLDialogElement === undefined) { + var testForm = document.createElement('form'); + testForm.setAttribute('method', 'dialog'); + + if (testForm.method !== 'dialog') { + var methodDescriptor = Object.getOwnPropertyDescriptor(HTMLFormElement.prototype, 'method'); + + if (methodDescriptor) { + var realGet = methodDescriptor.get; + + methodDescriptor.get = function () { + if (isFormMethodDialog(this)) { + return 'dialog'; + } + + return realGet.call(this); + }; + + var realSet = methodDescriptor.set; + + methodDescriptor.set = function (v) { + if (typeof v === 'string' && v.toLowerCase() === 'dialog') { + return this.setAttribute('method', v); + } + + return realSet.call(this, v); + }; + + Object.defineProperty(HTMLFormElement.prototype, 'method', methodDescriptor); + } + } + + document.addEventListener('click', function (ev) { + dialogPolyfill.formSubmitter = null; + dialogPolyfill.imagemapUseValue = null; + + if (ev.defaultPrevented) { + return; + } + + var target = ev.target; + + if ('composedPath' in ev) { + var path = ev.composedPath(); + target = path.shift() || target; + } + + if (!target || !isFormMethodDialog(target.form)) { + return; + } + + var valid = target.type === 'submit' && ['button', 'input'].indexOf(target.localName) > -1; + + if (!valid) { + if (!(target.localName === 'input' && target.type === 'image')) { + return; + } + + dialogPolyfill.imagemapUseValue = ev.offsetX + ',' + ev.offsetY; + } + + var dialog = findNearestDialog(target); + + if (!dialog) { + return; + } + + dialogPolyfill.formSubmitter = target; + }, false); + document.addEventListener('submit', function (ev) { + var form = ev.target; + var dialog = findNearestDialog(form); + + if (dialog) { + return; + } + + var submitter = findFormSubmitter(ev); + var formmethod = submitter && submitter.getAttribute('formmethod') || form.getAttribute('method'); + + if (formmethod === 'dialog') { + ev.preventDefault(); + } + }); + var nativeFormSubmit = HTMLFormElement.prototype.submit; + + var replacementFormSubmit = function replacementFormSubmit() { + if (!isFormMethodDialog(this)) { + return nativeFormSubmit.call(this); + } + + var dialog = findNearestDialog(this); + dialog && dialog.close(); + }; + + HTMLFormElement.prototype.submit = replacementFormSubmit; + } + + return dialogPolyfill; +}); + +/***/ }), +/* 13 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PasswordPrompt = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _pdfjsLib = __webpack_require__(7); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +var _updateCallback = /*#__PURE__*/new WeakMap(); + +var _reason = /*#__PURE__*/new WeakMap(); + +var _verify = /*#__PURE__*/new WeakSet(); + +var _cancel = /*#__PURE__*/new WeakSet(); + +var _invokeCallback = /*#__PURE__*/new WeakSet(); + +var PasswordPrompt = /*#__PURE__*/function () { + function PasswordPrompt(options, overlayManager, l10n) { + var _this = this; + + var isViewerEmbedded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + + _classCallCheck(this, PasswordPrompt); + + _classPrivateMethodInitSpec(this, _invokeCallback); + + _classPrivateMethodInitSpec(this, _cancel); + + _classPrivateMethodInitSpec(this, _verify); + + _classPrivateFieldInitSpec(this, _updateCallback, { + writable: true, + value: null + }); + + _classPrivateFieldInitSpec(this, _reason, { + writable: true, + value: null + }); + + this.dialog = options.dialog; + this.label = options.label; + this.input = options.input; + this.submitButton = options.submitButton; + this.cancelButton = options.cancelButton; + this.overlayManager = overlayManager; + this.l10n = l10n; + this._isViewerEmbedded = isViewerEmbedded; + this.submitButton.addEventListener("click", _classPrivateMethodGet(this, _verify, _verify2).bind(this)); + this.cancelButton.addEventListener("click", _classPrivateMethodGet(this, _cancel, _cancel2).bind(this)); + this.input.addEventListener("keydown", function (e) { + if (e.keyCode === 13) { + _classPrivateMethodGet(_this, _verify, _verify2).call(_this); + } + }); + this.overlayManager.register(this.dialog, true); + this.dialog.addEventListener("close", _classPrivateMethodGet(this, _cancel, _cancel2).bind(this)); + } + + _createClass(PasswordPrompt, [{ + key: "open", + value: function () { + var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var passwordIncorrect; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this.overlayManager.open(this.dialog); + + case 2: + passwordIncorrect = _classPrivateFieldGet(this, _reason) === _pdfjsLib.PasswordResponses.INCORRECT_PASSWORD; + + if (!this._isViewerEmbedded || passwordIncorrect) { + this.input.focus(); + } + + _context.next = 6; + return this.l10n.get("password_".concat(passwordIncorrect ? "invalid" : "label")); + + case 6: + this.label.textContent = _context.sent; + + case 7: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function open() { + return _open.apply(this, arguments); + } + + return open; + }() + }, { + key: "close", + value: function () { + var _close = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (this.overlayManager.active === this.dialog) { + this.overlayManager.close(this.dialog); + } + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function close() { + return _close.apply(this, arguments); + } + + return close; + }() + }, { + key: "setUpdateCallback", + value: function setUpdateCallback(updateCallback, reason) { + _classPrivateFieldSet(this, _updateCallback, updateCallback); + + _classPrivateFieldSet(this, _reason, reason); + } + }]); + + return PasswordPrompt; +}(); + +exports.PasswordPrompt = PasswordPrompt; + +function _verify2() { + var password = this.input.value; + + if ((password === null || password === void 0 ? void 0 : password.length) > 0) { + _classPrivateMethodGet(this, _invokeCallback, _invokeCallback2).call(this, password); + } +} + +function _cancel2() { + _classPrivateMethodGet(this, _invokeCallback, _invokeCallback2).call(this, new Error("PasswordPrompt cancelled.")); +} + +function _invokeCallback2(password) { + if (!_classPrivateFieldGet(this, _updateCallback)) { + return; + } + + this.close(); + this.input.value = ""; + + _classPrivateFieldGet(this, _updateCallback).call(this, password); + + _classPrivateFieldSet(this, _updateCallback, null); +} + +/***/ }), +/* 14 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFAttachmentViewer = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _pdfjsLib = __webpack_require__(7); + +var _base_tree_viewer = __webpack_require__(15); + +var _event_utils = __webpack_require__(6); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +var _appendAttachment = /*#__PURE__*/new WeakSet(); + +var PDFAttachmentViewer = /*#__PURE__*/function (_BaseTreeViewer) { + _inherits(PDFAttachmentViewer, _BaseTreeViewer); + + var _super = _createSuper(PDFAttachmentViewer); + + function PDFAttachmentViewer(options) { + var _this; + + _classCallCheck(this, PDFAttachmentViewer); + + _this = _super.call(this, options); + + _classPrivateMethodInitSpec(_assertThisInitialized(_this), _appendAttachment); + + _this.downloadManager = options.downloadManager; + + _this.eventBus._on("fileattachmentannotation", _classPrivateMethodGet(_assertThisInitialized(_this), _appendAttachment, _appendAttachment2).bind(_assertThisInitialized(_this))); + + return _this; + } + + _createClass(PDFAttachmentViewer, [{ + key: "reset", + value: function reset() { + var keepRenderedCapability = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + _get(_getPrototypeOf(PDFAttachmentViewer.prototype), "reset", this).call(this); + + this._attachments = null; + + if (!keepRenderedCapability) { + this._renderedCapability = (0, _pdfjsLib.createPromiseCapability)(); + } + + this._pendingDispatchEvent = false; + } + }, { + key: "_dispatchEvent", + value: function () { + var _dispatchEvent2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(attachmentsCount) { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + this._renderedCapability.resolve(); + + if (!(attachmentsCount === 0 && !this._pendingDispatchEvent)) { + _context.next = 7; + break; + } + + this._pendingDispatchEvent = true; + _context.next = 5; + return (0, _event_utils.waitOnEventOrTimeout)({ + target: this.eventBus, + name: "annotationlayerrendered", + delay: 1000 + }); + + case 5: + if (this._pendingDispatchEvent) { + _context.next = 7; + break; + } + + return _context.abrupt("return"); + + case 7: + this._pendingDispatchEvent = false; + this.eventBus.dispatch("attachmentsloaded", { + source: this, + attachmentsCount: attachmentsCount + }); + + case 9: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _dispatchEvent(_x) { + return _dispatchEvent2.apply(this, arguments); + } + + return _dispatchEvent; + }() + }, { + key: "_bindLink", + value: function _bindLink(element, _ref) { + var _this2 = this; + + var content = _ref.content, + filename = _ref.filename; + + element.onclick = function () { + _this2.downloadManager.openOrDownloadData(element, content, filename); + + return false; + }; + } + }, { + key: "render", + value: function render(_ref2) { + var attachments = _ref2.attachments, + _ref2$keepRenderedCap = _ref2.keepRenderedCapability, + keepRenderedCapability = _ref2$keepRenderedCap === void 0 ? false : _ref2$keepRenderedCap; + + if (this._attachments) { + this.reset(keepRenderedCapability); + } + + this._attachments = attachments || null; + + if (!attachments) { + this._dispatchEvent(0); + + return; + } + + var names = Object.keys(attachments).sort(function (a, b) { + return a.toLowerCase().localeCompare(b.toLowerCase()); + }); + var fragment = document.createDocumentFragment(); + var attachmentsCount = 0; + + var _iterator = _createForOfIteratorHelper(names), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var name = _step.value; + var item = attachments[name]; + var content = item.content, + filename = (0, _pdfjsLib.getFilenameFromUrl)(item.filename); + var div = document.createElement("div"); + div.className = "treeItem"; + var element = document.createElement("a"); + + this._bindLink(element, { + content: content, + filename: filename + }); + + element.textContent = this._normalizeTextContent(filename); + div.appendChild(element); + fragment.appendChild(div); + attachmentsCount++; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this._finishRendering(fragment, attachmentsCount); + } + }]); + + return PDFAttachmentViewer; +}(_base_tree_viewer.BaseTreeViewer); + +exports.PDFAttachmentViewer = PDFAttachmentViewer; + +function _appendAttachment2(_ref3) { + var _this3 = this; + + var filename = _ref3.filename, + content = _ref3.content; + var renderedPromise = this._renderedCapability.promise; + renderedPromise.then(function () { + if (renderedPromise !== _this3._renderedCapability.promise) { + return; + } + + var attachments = _this3._attachments || Object.create(null); + + for (var name in attachments) { + if (filename === name) { + return; + } + } + + attachments[filename] = { + filename: filename, + content: content + }; + + _this3.render({ + attachments: attachments, + keepRenderedCapability: true + }); + }); +} + +/***/ }), +/* 15 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BaseTreeViewer = void 0; + +var _ui_utils = __webpack_require__(5); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var TREEITEM_OFFSET_TOP = -100; +var TREEITEM_SELECTED_CLASS = "selected"; + +var BaseTreeViewer = /*#__PURE__*/function () { + function BaseTreeViewer(options) { + _classCallCheck(this, BaseTreeViewer); + + if (this.constructor === BaseTreeViewer) { + throw new Error("Cannot initialize BaseTreeViewer."); + } + + this.container = options.container; + this.eventBus = options.eventBus; + this.reset(); + } + + _createClass(BaseTreeViewer, [{ + key: "reset", + value: function reset() { + this._pdfDocument = null; + this._lastToggleIsShow = true; + this._currentTreeItem = null; + this.container.textContent = ""; + this.container.classList.remove("treeWithDeepNesting"); + } + }, { + key: "_dispatchEvent", + value: function _dispatchEvent(count) { + throw new Error("Not implemented: _dispatchEvent"); + } + }, { + key: "_bindLink", + value: function _bindLink(element, params) { + throw new Error("Not implemented: _bindLink"); + } + }, { + key: "_normalizeTextContent", + value: function _normalizeTextContent(str) { + return (0, _ui_utils.removeNullCharacters)(str, true) || "\u2013"; + } + }, { + key: "_addToggleButton", + value: function _addToggleButton(div) { + var _this = this; + + var hidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var toggler = document.createElement("div"); + toggler.className = "treeItemToggler"; + + if (hidden) { + toggler.classList.add("treeItemsHidden"); + } + + toggler.onclick = function (evt) { + evt.stopPropagation(); + toggler.classList.toggle("treeItemsHidden"); + + if (evt.shiftKey) { + var shouldShowAll = !toggler.classList.contains("treeItemsHidden"); + + _this._toggleTreeItem(div, shouldShowAll); + } + }; + + div.insertBefore(toggler, div.firstChild); + } + }, { + key: "_toggleTreeItem", + value: function _toggleTreeItem(root) { + var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + this._lastToggleIsShow = show; + + var _iterator = _createForOfIteratorHelper(root.querySelectorAll(".treeItemToggler")), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var toggler = _step.value; + toggler.classList.toggle("treeItemsHidden", !show); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "_toggleAllTreeItems", + value: function _toggleAllTreeItems() { + this._toggleTreeItem(this.container, !this._lastToggleIsShow); + } + }, { + key: "_finishRendering", + value: function _finishRendering(fragment, count) { + var hasAnyNesting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + if (hasAnyNesting) { + this.container.classList.add("treeWithDeepNesting"); + this._lastToggleIsShow = !fragment.querySelector(".treeItemsHidden"); + } + + this.container.appendChild(fragment); + + this._dispatchEvent(count); + } + }, { + key: "render", + value: function render(params) { + throw new Error("Not implemented: render"); + } + }, { + key: "_updateCurrentTreeItem", + value: function _updateCurrentTreeItem() { + var treeItem = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + + if (this._currentTreeItem) { + this._currentTreeItem.classList.remove(TREEITEM_SELECTED_CLASS); + + this._currentTreeItem = null; + } + + if (treeItem) { + treeItem.classList.add(TREEITEM_SELECTED_CLASS); + this._currentTreeItem = treeItem; + } + } + }, { + key: "_scrollToCurrentTreeItem", + value: function _scrollToCurrentTreeItem(treeItem) { + if (!treeItem) { + return; + } + + var currentNode = treeItem.parentNode; + + while (currentNode && currentNode !== this.container) { + if (currentNode.classList.contains("treeItem")) { + var toggler = currentNode.firstElementChild; + toggler === null || toggler === void 0 ? void 0 : toggler.classList.remove("treeItemsHidden"); + } + + currentNode = currentNode.parentNode; + } + + this._updateCurrentTreeItem(treeItem); + + this.container.scrollTo(treeItem.offsetLeft, treeItem.offsetTop + TREEITEM_OFFSET_TOP); + } + }]); + + return BaseTreeViewer; +}(); + +exports.BaseTreeViewer = BaseTreeViewer; + +/***/ }), +/* 16 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFDocumentProperties = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _pdfjsLib = __webpack_require__(7); + +var _ui_utils = __webpack_require__(5); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +var DEFAULT_FIELD_CONTENT = "-"; +var NON_METRIC_LOCALES = ["en-us", "en-lr", "my"]; +var US_PAGE_NAMES = { + "8.5x11": "Letter", + "8.5x14": "Legal" +}; +var METRIC_PAGE_NAMES = { + "297x420": "A3", + "210x297": "A4" +}; + +function getPageName(size, isPortrait, pageNames) { + var width = isPortrait ? size.width : size.height; + var height = isPortrait ? size.height : size.width; + return pageNames["".concat(width, "x").concat(height)]; +} + +var _fieldData = /*#__PURE__*/new WeakMap(); + +var _reset = /*#__PURE__*/new WeakSet(); + +var _updateUI = /*#__PURE__*/new WeakSet(); + +var _parseFileSize = /*#__PURE__*/new WeakSet(); + +var _parsePageSize = /*#__PURE__*/new WeakSet(); + +var _parseDate = /*#__PURE__*/new WeakSet(); + +var _parseLinearization = /*#__PURE__*/new WeakSet(); + +var PDFDocumentProperties = /*#__PURE__*/function () { + function PDFDocumentProperties(_ref, overlayManager, eventBus, l10n) { + var _this = this; + + var dialog = _ref.dialog, + fields = _ref.fields, + closeButton = _ref.closeButton; + + _classCallCheck(this, PDFDocumentProperties); + + _classPrivateMethodInitSpec(this, _parseLinearization); + + _classPrivateMethodInitSpec(this, _parseDate); + + _classPrivateMethodInitSpec(this, _parsePageSize); + + _classPrivateMethodInitSpec(this, _parseFileSize); + + _classPrivateMethodInitSpec(this, _updateUI); + + _classPrivateMethodInitSpec(this, _reset); + + _classPrivateFieldInitSpec(this, _fieldData, { + writable: true, + value: null + }); + + this.dialog = dialog; + this.fields = fields; + this.overlayManager = overlayManager; + this.l10n = l10n; + + _classPrivateMethodGet(this, _reset, _reset2).call(this); + + closeButton.addEventListener("click", this.close.bind(this)); + this.overlayManager.register(this.dialog); + + eventBus._on("pagechanging", function (evt) { + _this._currentPageNumber = evt.pageNumber; + }); + + eventBus._on("rotationchanging", function (evt) { + _this._pagesRotation = evt.pagesRotation; + }); + + this._isNonMetricLocale = true; + l10n.getLanguage().then(function (locale) { + _this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale); + }); + } + + _createClass(PDFDocumentProperties, [{ + key: "open", + value: function () { + var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var _this2 = this; + + var currentPageNumber, pagesRotation, _yield$this$pdfDocume, info, contentDispositionFilename, contentLength, _yield$Promise$all, _yield$Promise$all2, fileName, fileSize, creationDate, modificationDate, pageSize, isLinearized, _yield$this$pdfDocume2, length, data; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return Promise.all([this.overlayManager.open(this.dialog), this._dataAvailableCapability.promise]); + + case 2: + currentPageNumber = this._currentPageNumber; + pagesRotation = this._pagesRotation; + + if (!(_classPrivateFieldGet(this, _fieldData) && currentPageNumber === _classPrivateFieldGet(this, _fieldData)._currentPageNumber && pagesRotation === _classPrivateFieldGet(this, _fieldData)._pagesRotation)) { + _context.next = 7; + break; + } + + _classPrivateMethodGet(this, _updateUI, _updateUI2).call(this); + + return _context.abrupt("return"); + + case 7: + _context.next = 9; + return this.pdfDocument.getMetadata(); + + case 9: + _yield$this$pdfDocume = _context.sent; + info = _yield$this$pdfDocume.info; + contentDispositionFilename = _yield$this$pdfDocume.contentDispositionFilename; + contentLength = _yield$this$pdfDocume.contentLength; + _context.next = 15; + return Promise.all([contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url), _classPrivateMethodGet(this, _parseFileSize, _parseFileSize2).call(this, contentLength), _classPrivateMethodGet(this, _parseDate, _parseDate2).call(this, info.CreationDate), _classPrivateMethodGet(this, _parseDate, _parseDate2).call(this, info.ModDate), this.pdfDocument.getPage(currentPageNumber).then(function (pdfPage) { + return _classPrivateMethodGet(_this2, _parsePageSize, _parsePageSize2).call(_this2, (0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation); + }), _classPrivateMethodGet(this, _parseLinearization, _parseLinearization2).call(this, info.IsLinearized)]); + + case 15: + _yield$Promise$all = _context.sent; + _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 6); + fileName = _yield$Promise$all2[0]; + fileSize = _yield$Promise$all2[1]; + creationDate = _yield$Promise$all2[2]; + modificationDate = _yield$Promise$all2[3]; + pageSize = _yield$Promise$all2[4]; + isLinearized = _yield$Promise$all2[5]; + + _classPrivateFieldSet(this, _fieldData, Object.freeze({ + fileName: fileName, + fileSize: fileSize, + title: info.Title, + author: info.Author, + subject: info.Subject, + keywords: info.Keywords, + creationDate: creationDate, + modificationDate: modificationDate, + creator: info.Creator, + producer: info.Producer, + version: info.PDFFormatVersion, + pageCount: this.pdfDocument.numPages, + pageSize: pageSize, + linearized: isLinearized, + _currentPageNumber: currentPageNumber, + _pagesRotation: pagesRotation + })); + + _classPrivateMethodGet(this, _updateUI, _updateUI2).call(this); + + _context.next = 27; + return this.pdfDocument.getDownloadInfo(); + + case 27: + _yield$this$pdfDocume2 = _context.sent; + length = _yield$this$pdfDocume2.length; + + if (!(contentLength === length)) { + _context.next = 31; + break; + } + + return _context.abrupt("return"); + + case 31: + data = Object.assign(Object.create(null), _classPrivateFieldGet(this, _fieldData)); + _context.next = 34; + return _classPrivateMethodGet(this, _parseFileSize, _parseFileSize2).call(this, length); + + case 34: + data.fileSize = _context.sent; + + _classPrivateFieldSet(this, _fieldData, Object.freeze(data)); + + _classPrivateMethodGet(this, _updateUI, _updateUI2).call(this); + + case 37: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function open() { + return _open.apply(this, arguments); + } + + return open; + }() + }, { + key: "close", + value: function () { + var _close = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + this.overlayManager.close(this.dialog); + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function close() { + return _close.apply(this, arguments); + } + + return close; + }() + }, { + key: "setDocument", + value: function setDocument(pdfDocument) { + var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + if (this.pdfDocument) { + _classPrivateMethodGet(this, _reset, _reset2).call(this); + + _classPrivateMethodGet(this, _updateUI, _updateUI2).call(this, true); + } + + if (!pdfDocument) { + return; + } + + this.pdfDocument = pdfDocument; + this.url = url; + + this._dataAvailableCapability.resolve(); + } + }]); + + return PDFDocumentProperties; +}(); + +exports.PDFDocumentProperties = PDFDocumentProperties; + +function _reset2() { + this.pdfDocument = null; + this.url = null; + + _classPrivateFieldSet(this, _fieldData, null); + + this._dataAvailableCapability = (0, _pdfjsLib.createPromiseCapability)(); + this._currentPageNumber = 1; + this._pagesRotation = 0; +} + +function _updateUI2() { + var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (reset || !_classPrivateFieldGet(this, _fieldData)) { + for (var id in this.fields) { + this.fields[id].textContent = DEFAULT_FIELD_CONTENT; + } + + return; + } + + if (this.overlayManager.active !== this.dialog) { + return; + } + + for (var _id in this.fields) { + var content = _classPrivateFieldGet(this, _fieldData)[_id]; + + this.fields[_id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT; + } +} + +function _parseFileSize2() { + return _parseFileSize3.apply(this, arguments); +} + +function _parseFileSize3() { + _parseFileSize3 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + var fileSize, + kb, + mb, + _args3 = arguments; + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + fileSize = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : 0; + kb = fileSize / 1024, mb = kb / 1024; + + if (kb) { + _context3.next = 4; + break; + } + + return _context3.abrupt("return", undefined); + + case 4: + return _context3.abrupt("return", this.l10n.get("document_properties_".concat(mb >= 1 ? "mb" : "kb"), { + size_mb: mb >= 1 && (+mb.toPrecision(3)).toLocaleString(), + size_kb: mb < 1 && (+kb.toPrecision(3)).toLocaleString(), + size_b: fileSize.toLocaleString() + })); + + case 5: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + return _parseFileSize3.apply(this, arguments); +} + +function _parsePageSize2(_x, _x2) { + return _parsePageSize3.apply(this, arguments); +} + +function _parsePageSize3() { + _parsePageSize3 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(pageSizeInches, pagesRotation) { + var isPortrait, sizeInches, sizeMillimeters, rawName, exactMillimeters, intMillimeters, _yield$Promise$all3, _yield$Promise$all4, _yield$Promise$all4$, width, height, unit, name, orientation; + + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + if (pageSizeInches) { + _context4.next = 2; + break; + } + + return _context4.abrupt("return", undefined); + + case 2: + if (pagesRotation % 180 !== 0) { + pageSizeInches = { + width: pageSizeInches.height, + height: pageSizeInches.width + }; + } + + isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches); + sizeInches = { + width: Math.round(pageSizeInches.width * 100) / 100, + height: Math.round(pageSizeInches.height * 100) / 100 + }; + sizeMillimeters = { + width: Math.round(pageSizeInches.width * 25.4 * 10) / 10, + height: Math.round(pageSizeInches.height * 25.4 * 10) / 10 + }; + rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES); + + if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) { + exactMillimeters = { + width: pageSizeInches.width * 25.4, + height: pageSizeInches.height * 25.4 + }; + intMillimeters = { + width: Math.round(sizeMillimeters.width), + height: Math.round(sizeMillimeters.height) + }; + + if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) { + rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES); + + if (rawName) { + sizeInches = { + width: Math.round(intMillimeters.width / 25.4 * 100) / 100, + height: Math.round(intMillimeters.height / 25.4 * 100) / 100 + }; + sizeMillimeters = intMillimeters; + } + } + } + + _context4.next = 10; + return Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get("document_properties_page_size_unit_".concat(this._isNonMetricLocale ? "inches" : "millimeters")), rawName && this.l10n.get("document_properties_page_size_name_".concat(rawName.toLowerCase())), this.l10n.get("document_properties_page_size_orientation_".concat(isPortrait ? "portrait" : "landscape"))]); + + case 10: + _yield$Promise$all3 = _context4.sent; + _yield$Promise$all4 = _slicedToArray(_yield$Promise$all3, 4); + _yield$Promise$all4$ = _yield$Promise$all4[0]; + width = _yield$Promise$all4$.width; + height = _yield$Promise$all4$.height; + unit = _yield$Promise$all4[1]; + name = _yield$Promise$all4[2]; + orientation = _yield$Promise$all4[3]; + return _context4.abrupt("return", this.l10n.get("document_properties_page_size_dimension_".concat(name ? "name_" : "", "string"), { + width: width.toLocaleString(), + height: height.toLocaleString(), + unit: unit, + name: name, + orientation: orientation + })); + + case 19: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + return _parsePageSize3.apply(this, arguments); +} + +function _parseDate2(_x3) { + return _parseDate3.apply(this, arguments); +} + +function _parseDate3() { + _parseDate3 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(inputDate) { + var dateObject; + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + dateObject = _pdfjsLib.PDFDateString.toDateObject(inputDate); + + if (dateObject) { + _context5.next = 3; + break; + } + + return _context5.abrupt("return", undefined); + + case 3: + return _context5.abrupt("return", this.l10n.get("document_properties_date_string", { + date: dateObject.toLocaleDateString(), + time: dateObject.toLocaleTimeString() + })); + + case 4: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + return _parseDate3.apply(this, arguments); +} + +function _parseLinearization2(isLinearized) { + return this.l10n.get("document_properties_linearized_".concat(isLinearized ? "yes" : "no")); +} + +/***/ }), +/* 17 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFindBar = void 0; + +var _pdf_find_controller = __webpack_require__(18); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +var MATCHES_COUNT_LIMIT = 1000; + +var _adjustWidth = /*#__PURE__*/new WeakSet(); + +var PDFFindBar = /*#__PURE__*/function () { + function PDFFindBar(options, eventBus, l10n) { + var _this = this; + + _classCallCheck(this, PDFFindBar); + + _classPrivateMethodInitSpec(this, _adjustWidth); + + this.opened = false; + this.bar = options.bar; + this.toggleButton = options.toggleButton; + this.findField = options.findField; + this.highlightAll = options.highlightAllCheckbox; + this.caseSensitive = options.caseSensitiveCheckbox; + this.matchDiacritics = options.matchDiacriticsCheckbox; + this.entireWord = options.entireWordCheckbox; + this.findMsg = options.findMsg; + this.findResultsCount = options.findResultsCount; + this.findPreviousButton = options.findPreviousButton; + this.findNextButton = options.findNextButton; + this.eventBus = eventBus; + this.l10n = l10n; + this.toggleButton.addEventListener("click", function () { + _this.toggle(); + }); + this.findField.addEventListener("input", function () { + _this.dispatchEvent(""); + }); + this.bar.addEventListener("keydown", function (e) { + switch (e.keyCode) { + case 13: + if (e.target === _this.findField) { + _this.dispatchEvent("again", e.shiftKey); + } + + break; + + case 27: + _this.close(); + + break; + } + }); + this.findPreviousButton.addEventListener("click", function () { + _this.dispatchEvent("again", true); + }); + this.findNextButton.addEventListener("click", function () { + _this.dispatchEvent("again", false); + }); + this.highlightAll.addEventListener("click", function () { + _this.dispatchEvent("highlightallchange"); + }); + this.caseSensitive.addEventListener("click", function () { + _this.dispatchEvent("casesensitivitychange"); + }); + this.entireWord.addEventListener("click", function () { + _this.dispatchEvent("entirewordchange"); + }); + this.matchDiacritics.addEventListener("click", function () { + _this.dispatchEvent("diacriticmatchingchange"); + }); + + this.eventBus._on("resize", _classPrivateMethodGet(this, _adjustWidth, _adjustWidth2).bind(this)); + } + + _createClass(PDFFindBar, [{ + key: "reset", + value: function reset() { + this.updateUIState(); + } + }, { + key: "dispatchEvent", + value: function dispatchEvent(type) { + var findPrev = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + this.eventBus.dispatch("find", { + source: this, + type: type, + query: this.findField.value, + phraseSearch: true, + caseSensitive: this.caseSensitive.checked, + entireWord: this.entireWord.checked, + highlightAll: this.highlightAll.checked, + findPrevious: findPrev, + matchDiacritics: this.matchDiacritics.checked + }); + } + }, { + key: "updateUIState", + value: function updateUIState(state, previous, matchesCount) { + var _this2 = this; + + var findMsg = Promise.resolve(""); + var status = ""; + + switch (state) { + case _pdf_find_controller.FindState.FOUND: + break; + + case _pdf_find_controller.FindState.PENDING: + status = "pending"; + break; + + case _pdf_find_controller.FindState.NOT_FOUND: + findMsg = this.l10n.get("find_not_found"); + status = "notFound"; + break; + + case _pdf_find_controller.FindState.WRAPPED: + findMsg = this.l10n.get("find_reached_".concat(previous ? "top" : "bottom")); + break; + } + + this.findField.setAttribute("data-status", status); + this.findField.setAttribute("aria-invalid", state === _pdf_find_controller.FindState.NOT_FOUND); + findMsg.then(function (msg) { + _this2.findMsg.textContent = msg; + + _classPrivateMethodGet(_this2, _adjustWidth, _adjustWidth2).call(_this2); + }); + this.updateResultsCount(matchesCount); + } + }, { + key: "updateResultsCount", + value: function updateResultsCount() { + var _this3 = this; + + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$current = _ref.current, + current = _ref$current === void 0 ? 0 : _ref$current, + _ref$total = _ref.total, + total = _ref$total === void 0 ? 0 : _ref$total; + + var limit = MATCHES_COUNT_LIMIT; + var matchCountMsg = Promise.resolve(""); + + if (total > 0) { + if (total > limit) { + var key = "find_match_count_limit"; + matchCountMsg = this.l10n.get(key, { + limit: limit + }); + } else { + var _key = "find_match_count"; + matchCountMsg = this.l10n.get(_key, { + current: current, + total: total + }); + } + } + + matchCountMsg.then(function (msg) { + _this3.findResultsCount.textContent = msg; + + _classPrivateMethodGet(_this3, _adjustWidth, _adjustWidth2).call(_this3); + }); + } + }, { + key: "open", + value: function open() { + if (!this.opened) { + this.opened = true; + this.toggleButton.classList.add("toggled"); + this.toggleButton.setAttribute("aria-expanded", "true"); + this.bar.classList.remove("hidden"); + } + + this.findField.select(); + this.findField.focus(); + + _classPrivateMethodGet(this, _adjustWidth, _adjustWidth2).call(this); + } + }, { + key: "close", + value: function close() { + if (!this.opened) { + return; + } + + this.opened = false; + this.toggleButton.classList.remove("toggled"); + this.toggleButton.setAttribute("aria-expanded", "false"); + this.bar.classList.add("hidden"); + this.eventBus.dispatch("findbarclose", { + source: this + }); + } + }, { + key: "toggle", + value: function toggle() { + if (this.opened) { + this.close(); + } else { + this.open(); + } + } + }]); + + return PDFFindBar; +}(); + +exports.PDFFindBar = PDFFindBar; + +function _adjustWidth2() { + if (!this.opened) { + return; + } + + this.bar.classList.remove("wrapContainers"); + var findbarHeight = this.bar.clientHeight; + var inputContainerHeight = this.bar.firstElementChild.clientHeight; + + if (findbarHeight > inputContainerHeight) { + this.bar.classList.add("wrapContainers"); + } +} + +/***/ }), +/* 18 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFindController = exports.FindState = void 0; + +var _ui_utils = __webpack_require__(5); + +var _pdfjsLib = __webpack_require__(7); + +var _pdf_find_utils = __webpack_require__(19); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +var FindState = { + FOUND: 0, + NOT_FOUND: 1, + WRAPPED: 2, + PENDING: 3 +}; +exports.FindState = FindState; +var FIND_TIMEOUT = 250; +var MATCH_SCROLL_OFFSET_TOP = -50; +var MATCH_SCROLL_OFFSET_LEFT = -400; +var CHARACTERS_TO_NORMALIZE = { + "\u2010": "-", + "\u2018": "'", + "\u2019": "'", + "\u201A": "'", + "\u201B": "'", + "\u201C": '"', + "\u201D": '"', + "\u201E": '"', + "\u201F": '"', + "\xBC": "1/4", + "\xBD": "1/2", + "\xBE": "3/4" +}; +var DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed, 0x0c56, 0x0f71, 0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80, 0x0f74]); + +var DIACRITICS_EXCEPTION_STR = _toConsumableArray(DIACRITICS_EXCEPTION.values()).map(function (x) { + return String.fromCharCode(x); +}).join(""); + +var DIACRITICS_REG_EXP = /(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])+/g; +var SPECIAL_CHARS_REG_EXP = /([\$\(-\+\.\?\[-\^\{-\}])|((?:[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]))|([\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+)|((?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF]))|((?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A]))/g; +var NOT_DIACRITIC_FROM_END_REG_EXP = /((?:(?![\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])[\s\S]))(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])*$/; +var NOT_DIACRITIC_FROM_START_REG_EXP = /^(?:[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])*((?:(?![\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDEAB\uDEAC\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uDB40[\uDD00-\uDDEF])[\s\S]))/; +var normalizationRegex = null; + +function normalize(text) { + if (!normalizationRegex) { + var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(""); + normalizationRegex = new RegExp("([".concat(replace, "])|(\\p{M}+(?:-\\n)?)|(\\S-\\n)|(\\n)"), "gum"); + } + + var rawDiacriticsPositions = []; + var m; + + while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) { + rawDiacriticsPositions.push([m[0].length, m.index]); + } + + var normalized = text.normalize("NFD"); + var positions = [[0, 0]]; + var k = 0; + var shift = 0; + var shiftOrigin = 0; + var eol = 0; + var hasDiacritics = false; + normalized = normalized.replace(normalizationRegex, function (match, p1, p2, p3, p4, i) { + i -= shiftOrigin; + + if (p1) { + var replacement = CHARACTERS_TO_NORMALIZE[match]; + var jj = replacement.length; + + for (var j = 1; j < jj; j++) { + positions.push([i - shift + j, shift - j]); + } + + shift -= jj - 1; + return replacement; + } + + if (p2) { + var _rawDiacriticsPositio; + + var hasTrailingDashEOL = p2.endsWith("\n"); + var len = hasTrailingDashEOL ? p2.length - 2 : p2.length; + hasDiacritics = true; + var _jj = len; + + if (i + eol === ((_rawDiacriticsPositio = rawDiacriticsPositions[k]) === null || _rawDiacriticsPositio === void 0 ? void 0 : _rawDiacriticsPositio[1])) { + _jj -= rawDiacriticsPositions[k][0]; + ++k; + } + + for (var _j = 1; _j < _jj + 1; _j++) { + positions.push([i - 1 - shift + _j, shift - _j]); + } + + shift -= _jj; + shiftOrigin += _jj; + + if (hasTrailingDashEOL) { + i += len - 1; + positions.push([i - shift + 1, 1 + shift]); + shift += 1; + shiftOrigin += 1; + eol += 1; + return p2.slice(0, len); + } + + return p2; + } + + if (p3) { + positions.push([i - shift + 1, 1 + shift]); + shift += 1; + shiftOrigin += 1; + eol += 1; + return p3.charAt(0); + } + + positions.push([i - shift + 1, shift - 1]); + shift -= 1; + shiftOrigin += 1; + eol += 1; + return " "; + }); + positions.push([normalized.length, shift]); + return [normalized, positions, hasDiacritics]; +} + +function getOriginalIndex(diffs, pos, len) { + if (!diffs) { + return [pos, len]; + } + + var start = pos; + var end = pos + len; + var i = (0, _ui_utils.binarySearchFirstItem)(diffs, function (x) { + return x[0] >= start; + }); + + if (diffs[i][0] > start) { + --i; + } + + var j = (0, _ui_utils.binarySearchFirstItem)(diffs, function (x) { + return x[0] >= end; + }, i); + + if (diffs[j][0] > end) { + --j; + } + + return [start + diffs[i][1], len + diffs[j][1] - diffs[i][1]]; +} + +var _onFind = /*#__PURE__*/new WeakSet(); + +var _reset = /*#__PURE__*/new WeakSet(); + +var _query = /*#__PURE__*/new WeakMap(); + +var _shouldDirtyMatch = /*#__PURE__*/new WeakSet(); + +var _isEntireWord = /*#__PURE__*/new WeakSet(); + +var _calculateRegExpMatch = /*#__PURE__*/new WeakSet(); + +var _convertToRegExpString = /*#__PURE__*/new WeakSet(); + +var _calculateMatch = /*#__PURE__*/new WeakSet(); + +var _extractText = /*#__PURE__*/new WeakSet(); + +var _updatePage = /*#__PURE__*/new WeakSet(); + +var _updateAllPages = /*#__PURE__*/new WeakSet(); + +var _nextMatch = /*#__PURE__*/new WeakSet(); + +var _matchesReady = /*#__PURE__*/new WeakSet(); + +var _nextPageMatch = /*#__PURE__*/new WeakSet(); + +var _advanceOffsetPage = /*#__PURE__*/new WeakSet(); + +var _updateMatch = /*#__PURE__*/new WeakSet(); + +var _onFindBarClose = /*#__PURE__*/new WeakSet(); + +var _requestMatchesCount = /*#__PURE__*/new WeakSet(); + +var _updateUIResultsCount = /*#__PURE__*/new WeakSet(); + +var _updateUIState = /*#__PURE__*/new WeakSet(); + +var PDFFindController = /*#__PURE__*/function () { + function PDFFindController(_ref) { + var _linkService = _ref.linkService, + eventBus = _ref.eventBus; + + _classCallCheck(this, PDFFindController); + + _classPrivateMethodInitSpec(this, _updateUIState); + + _classPrivateMethodInitSpec(this, _updateUIResultsCount); + + _classPrivateMethodInitSpec(this, _requestMatchesCount); + + _classPrivateMethodInitSpec(this, _onFindBarClose); + + _classPrivateMethodInitSpec(this, _updateMatch); + + _classPrivateMethodInitSpec(this, _advanceOffsetPage); + + _classPrivateMethodInitSpec(this, _nextPageMatch); + + _classPrivateMethodInitSpec(this, _matchesReady); + + _classPrivateMethodInitSpec(this, _nextMatch); + + _classPrivateMethodInitSpec(this, _updateAllPages); + + _classPrivateMethodInitSpec(this, _updatePage); + + _classPrivateMethodInitSpec(this, _extractText); + + _classPrivateMethodInitSpec(this, _calculateMatch); + + _classPrivateMethodInitSpec(this, _convertToRegExpString); + + _classPrivateMethodInitSpec(this, _calculateRegExpMatch); + + _classPrivateMethodInitSpec(this, _isEntireWord); + + _classPrivateMethodInitSpec(this, _shouldDirtyMatch); + + _classPrivateFieldInitSpec(this, _query, { + get: _get_query, + set: void 0 + }); + + _classPrivateMethodInitSpec(this, _reset); + + _classPrivateMethodInitSpec(this, _onFind); + + this._linkService = _linkService; + this._eventBus = eventBus; + + _classPrivateMethodGet(this, _reset, _reset2).call(this); + + eventBus._on("find", _classPrivateMethodGet(this, _onFind, _onFind2).bind(this)); + + eventBus._on("findbarclose", _classPrivateMethodGet(this, _onFindBarClose, _onFindBarClose2).bind(this)); + } + + _createClass(PDFFindController, [{ + key: "highlightMatches", + get: function get() { + return this._highlightMatches; + } + }, { + key: "pageMatches", + get: function get() { + return this._pageMatches; + } + }, { + key: "pageMatchesLength", + get: function get() { + return this._pageMatchesLength; + } + }, { + key: "selected", + get: function get() { + return this._selected; + } + }, { + key: "state", + get: function get() { + return this._state; + } + }, { + key: "setDocument", + value: function setDocument(pdfDocument) { + if (this._pdfDocument) { + _classPrivateMethodGet(this, _reset, _reset2).call(this); + } + + if (!pdfDocument) { + return; + } + + this._pdfDocument = pdfDocument; + + this._firstPageCapability.resolve(); + } + }, { + key: "scrollMatchIntoView", + value: function scrollMatchIntoView(_ref2) { + var _ref2$element = _ref2.element, + element = _ref2$element === void 0 ? null : _ref2$element, + _ref2$selectedLeft = _ref2.selectedLeft, + selectedLeft = _ref2$selectedLeft === void 0 ? 0 : _ref2$selectedLeft, + _ref2$pageIndex = _ref2.pageIndex, + pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex, + _ref2$matchIndex = _ref2.matchIndex, + matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex; + + if (!this._scrollMatches || !element) { + return; + } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) { + return; + } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) { + return; + } + + this._scrollMatches = false; + var spot = { + top: MATCH_SCROLL_OFFSET_TOP, + left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT + }; + (0, _ui_utils.scrollIntoView)(element, spot, true); + } + }]); + + return PDFFindController; +}(); + +exports.PDFFindController = PDFFindController; + +function _onFind2(state) { + var _this = this; + + if (!state) { + return; + } + + var pdfDocument = this._pdfDocument; + var type = state.type; + + if (this._state === null || _classPrivateMethodGet(this, _shouldDirtyMatch, _shouldDirtyMatch2).call(this, state)) { + this._dirtyMatch = true; + } + + this._state = state; + + if (type !== "highlightallchange") { + _classPrivateMethodGet(this, _updateUIState, _updateUIState2).call(this, FindState.PENDING); + } + + this._firstPageCapability.promise.then(function () { + if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) { + return; + } + + _classPrivateMethodGet(_this, _extractText, _extractText2).call(_this); + + var findbarClosed = !_this._highlightMatches; + var pendingTimeout = !!_this._findTimeout; + + if (_this._findTimeout) { + clearTimeout(_this._findTimeout); + _this._findTimeout = null; + } + + if (!type) { + _this._findTimeout = setTimeout(function () { + _classPrivateMethodGet(_this, _nextMatch, _nextMatch2).call(_this); + + _this._findTimeout = null; + }, FIND_TIMEOUT); + } else if (_this._dirtyMatch) { + _classPrivateMethodGet(_this, _nextMatch, _nextMatch2).call(_this); + } else if (type === "again") { + _classPrivateMethodGet(_this, _nextMatch, _nextMatch2).call(_this); + + if (findbarClosed && _this._state.highlightAll) { + _classPrivateMethodGet(_this, _updateAllPages, _updateAllPages2).call(_this); + } + } else if (type === "highlightallchange") { + if (pendingTimeout) { + _classPrivateMethodGet(_this, _nextMatch, _nextMatch2).call(_this); + } else { + _this._highlightMatches = true; + } + + _classPrivateMethodGet(_this, _updateAllPages, _updateAllPages2).call(_this); + } else { + _classPrivateMethodGet(_this, _nextMatch, _nextMatch2).call(_this); + } + }); +} + +function _reset2() { + this._highlightMatches = false; + this._scrollMatches = false; + this._pdfDocument = null; + this._pageMatches = []; + this._pageMatchesLength = []; + this._state = null; + this._selected = { + pageIdx: -1, + matchIdx: -1 + }; + this._offset = { + pageIdx: null, + matchIdx: null, + wrapped: false + }; + this._extractTextPromises = []; + this._pageContents = []; + this._pageDiffs = []; + this._hasDiacritics = []; + this._matchesCountTotal = 0; + this._pagesToSearch = null; + this._pendingFindMatches = new Set(); + this._resumePageIdx = null; + this._dirtyMatch = false; + clearTimeout(this._findTimeout); + this._findTimeout = null; + this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)(); +} + +function _get_query() { + if (this._state.query !== this._rawQuery) { + this._rawQuery = this._state.query; + + var _normalize = normalize(this._state.query); + + var _normalize2 = _slicedToArray(_normalize, 1); + + this._normalizedQuery = _normalize2[0]; + } + + return this._normalizedQuery; +} + +function _shouldDirtyMatch2(state) { + if (state.query !== this._state.query) { + return true; + } + + switch (state.type) { + case "again": + var pageNumber = this._selected.pageIdx + 1; + var linkService = this._linkService; + + if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) { + return true; + } + + return false; + + case "highlightallchange": + return false; + } + + return true; +} + +function _isEntireWord2(content, startIdx, length) { + var match = content.slice(0, startIdx).match(NOT_DIACRITIC_FROM_END_REG_EXP); + + if (match) { + var first = content.charCodeAt(startIdx); + var limit = match[1].charCodeAt(0); + + if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) { + return false; + } + } + + match = content.slice(startIdx + length).match(NOT_DIACRITIC_FROM_START_REG_EXP); + + if (match) { + var last = content.charCodeAt(startIdx + length - 1); + + var _limit = match[1].charCodeAt(0); + + if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) { + return false; + } + } + + return true; +} + +function _calculateRegExpMatch2(query, entireWord, pageIndex, pageContent) { + var matches = [], + matchesLength = []; + var diffs = this._pageDiffs[pageIndex]; + var match; + + while ((match = query.exec(pageContent)) !== null) { + if (entireWord && !_classPrivateMethodGet(this, _isEntireWord, _isEntireWord2).call(this, pageContent, match.index, match[0].length)) { + continue; + } + + var _getOriginalIndex = getOriginalIndex(diffs, match.index, match[0].length), + _getOriginalIndex2 = _slicedToArray(_getOriginalIndex, 2), + matchPos = _getOriginalIndex2[0], + matchLen = _getOriginalIndex2[1]; + + if (matchLen) { + matches.push(matchPos); + matchesLength.push(matchLen); + } + } + + this._pageMatches[pageIndex] = matches; + this._pageMatchesLength[pageIndex] = matchesLength; +} + +function _convertToRegExpString2(query, hasDiacritics) { + var matchDiacritics = this._state.matchDiacritics; + var isUnicode = false; + query = query.replace(SPECIAL_CHARS_REG_EXP, function (match, p1, p2, p3, p4, p5) { + if (p1) { + return "[ ]*\\".concat(p1, "[ ]*"); + } + + if (p2) { + return "[ ]*".concat(p2, "[ ]*"); + } + + if (p3) { + return "[ ]+"; + } + + if (matchDiacritics) { + return p4 || p5; + } + + if (p4) { + return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : ""; + } + + if (hasDiacritics) { + isUnicode = true; + return "".concat(p5, "\\p{M}*"); + } + + return p5; + }); + var trailingSpaces = "[ ]*"; + + if (query.endsWith(trailingSpaces)) { + query = query.slice(0, query.length - trailingSpaces.length); + } + + if (matchDiacritics) { + if (hasDiacritics) { + isUnicode = true; + query = "".concat(query, "(?=[").concat(DIACRITICS_EXCEPTION_STR, "]|[^\\p{M}]|$)"); + } + } + + return [isUnicode, query]; +} + +function _calculateMatch2(pageIndex) { + var _this2 = this; + + var query = _classPrivateFieldGet(this, _query); + + if (query.length === 0) { + return; + } + + var _this$_state = this._state, + caseSensitive = _this$_state.caseSensitive, + entireWord = _this$_state.entireWord, + phraseSearch = _this$_state.phraseSearch; + var pageContent = this._pageContents[pageIndex]; + var hasDiacritics = this._hasDiacritics[pageIndex]; + var isUnicode = false; + + if (phraseSearch) { + var _classPrivateMethodGe = _classPrivateMethodGet(this, _convertToRegExpString, _convertToRegExpString2).call(this, query, hasDiacritics); + + var _classPrivateMethodGe2 = _slicedToArray(_classPrivateMethodGe, 2); + + isUnicode = _classPrivateMethodGe2[0]; + query = _classPrivateMethodGe2[1]; + } else { + var match = query.match(/\S+/g); + + if (match) { + query = match.sort().reverse().map(function (q) { + var _classPrivateMethodGe3 = _classPrivateMethodGet(_this2, _convertToRegExpString, _convertToRegExpString2).call(_this2, q, hasDiacritics), + _classPrivateMethodGe4 = _slicedToArray(_classPrivateMethodGe3, 2), + isUnicodePart = _classPrivateMethodGe4[0], + queryPart = _classPrivateMethodGe4[1]; + + isUnicode || (isUnicode = isUnicodePart); + return "(".concat(queryPart, ")"); + }).join("|"); + } + } + + var flags = "g".concat(isUnicode ? "u" : "").concat(caseSensitive ? "" : "i"); + query = new RegExp(query, flags); + + _classPrivateMethodGet(this, _calculateRegExpMatch, _calculateRegExpMatch2).call(this, query, entireWord, pageIndex, pageContent); + + if (this._state.highlightAll) { + _classPrivateMethodGet(this, _updatePage, _updatePage2).call(this, pageIndex); + } + + if (this._resumePageIdx === pageIndex) { + this._resumePageIdx = null; + + _classPrivateMethodGet(this, _nextPageMatch, _nextPageMatch2).call(this); + } + + var pageMatchesCount = this._pageMatches[pageIndex].length; + + if (pageMatchesCount > 0) { + this._matchesCountTotal += pageMatchesCount; + + _classPrivateMethodGet(this, _updateUIResultsCount, _updateUIResultsCount2).call(this); + } +} + +function _extractText2() { + var _this3 = this; + + if (this._extractTextPromises.length > 0) { + return; + } + + var promise = Promise.resolve(); + + var _loop = function _loop(i, ii) { + var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)(); + _this3._extractTextPromises[i] = extractTextCapability.promise; + promise = promise.then(function () { + return _this3._pdfDocument.getPage(i + 1).then(function (pdfPage) { + return pdfPage.getTextContent(); + }).then(function (textContent) { + var strBuf = []; + + var _iterator = _createForOfIteratorHelper(textContent.items), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var textItem = _step.value; + strBuf.push(textItem.str); + + if (textItem.hasEOL) { + strBuf.push("\n"); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + var _normalize3 = normalize(strBuf.join("")); + + var _normalize4 = _slicedToArray(_normalize3, 3); + + _this3._pageContents[i] = _normalize4[0]; + _this3._pageDiffs[i] = _normalize4[1]; + _this3._hasDiacritics[i] = _normalize4[2]; + extractTextCapability.resolve(); + }, function (reason) { + console.error("Unable to get text content for page ".concat(i + 1), reason); + _this3._pageContents[i] = ""; + _this3._pageDiffs[i] = null; + _this3._hasDiacritics[i] = false; + extractTextCapability.resolve(); + }); + }); + }; + + for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) { + _loop(i, ii); + } +} + +function _updatePage2(index) { + if (this._scrollMatches && this._selected.pageIdx === index) { + this._linkService.page = index + 1; + } + + this._eventBus.dispatch("updatetextlayermatches", { + source: this, + pageIndex: index + }); +} + +function _updateAllPages2() { + this._eventBus.dispatch("updatetextlayermatches", { + source: this, + pageIndex: -1 + }); +} + +function _nextMatch2() { + var _this4 = this; + + var previous = this._state.findPrevious; + var currentPageIndex = this._linkService.page - 1; + var numPages = this._linkService.pagesCount; + this._highlightMatches = true; + + if (this._dirtyMatch) { + this._dirtyMatch = false; + this._selected.pageIdx = this._selected.matchIdx = -1; + this._offset.pageIdx = currentPageIndex; + this._offset.matchIdx = null; + this._offset.wrapped = false; + this._resumePageIdx = null; + this._pageMatches.length = 0; + this._pageMatchesLength.length = 0; + this._matchesCountTotal = 0; + + _classPrivateMethodGet(this, _updateAllPages, _updateAllPages2).call(this); + + var _loop2 = function _loop2(i) { + if (_this4._pendingFindMatches.has(i)) { + return "continue"; + } + + _this4._pendingFindMatches.add(i); + + _this4._extractTextPromises[i].then(function () { + _this4._pendingFindMatches["delete"](i); + + _classPrivateMethodGet(_this4, _calculateMatch, _calculateMatch2).call(_this4, i); + }); + }; + + for (var i = 0; i < numPages; i++) { + var _ret = _loop2(i); + + if (_ret === "continue") continue; + } + } + + if (_classPrivateFieldGet(this, _query) === "") { + _classPrivateMethodGet(this, _updateUIState, _updateUIState2).call(this, FindState.FOUND); + + return; + } + + if (this._resumePageIdx) { + return; + } + + var offset = this._offset; + this._pagesToSearch = numPages; + + if (offset.matchIdx !== null) { + var numPageMatches = this._pageMatches[offset.pageIdx].length; + + if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) { + offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1; + + _classPrivateMethodGet(this, _updateMatch, _updateMatch2).call(this, true); + + return; + } + + _classPrivateMethodGet(this, _advanceOffsetPage, _advanceOffsetPage2).call(this, previous); + } + + _classPrivateMethodGet(this, _nextPageMatch, _nextPageMatch2).call(this); +} + +function _matchesReady2(matches) { + var offset = this._offset; + var numMatches = matches.length; + var previous = this._state.findPrevious; + + if (numMatches) { + offset.matchIdx = previous ? numMatches - 1 : 0; + + _classPrivateMethodGet(this, _updateMatch, _updateMatch2).call(this, true); + + return true; + } + + _classPrivateMethodGet(this, _advanceOffsetPage, _advanceOffsetPage2).call(this, previous); + + if (offset.wrapped) { + offset.matchIdx = null; + + if (this._pagesToSearch < 0) { + _classPrivateMethodGet(this, _updateMatch, _updateMatch2).call(this, false); + + return true; + } + } + + return false; +} + +function _nextPageMatch2() { + if (this._resumePageIdx !== null) { + console.error("There can only be one pending page."); + } + + var matches = null; + + do { + var pageIdx = this._offset.pageIdx; + matches = this._pageMatches[pageIdx]; + + if (!matches) { + this._resumePageIdx = pageIdx; + break; + } + } while (!_classPrivateMethodGet(this, _matchesReady, _matchesReady2).call(this, matches)); +} + +function _advanceOffsetPage2(previous) { + var offset = this._offset; + var numPages = this._linkService.pagesCount; + offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1; + offset.matchIdx = null; + this._pagesToSearch--; + + if (offset.pageIdx >= numPages || offset.pageIdx < 0) { + offset.pageIdx = previous ? numPages - 1 : 0; + offset.wrapped = true; + } +} + +function _updateMatch2() { + var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var state = FindState.NOT_FOUND; + var wrapped = this._offset.wrapped; + this._offset.wrapped = false; + + if (found) { + var previousPage = this._selected.pageIdx; + this._selected.pageIdx = this._offset.pageIdx; + this._selected.matchIdx = this._offset.matchIdx; + state = wrapped ? FindState.WRAPPED : FindState.FOUND; + + if (previousPage !== -1 && previousPage !== this._selected.pageIdx) { + _classPrivateMethodGet(this, _updatePage, _updatePage2).call(this, previousPage); + } + } + + _classPrivateMethodGet(this, _updateUIState, _updateUIState2).call(this, state, this._state.findPrevious); + + if (this._selected.pageIdx !== -1) { + this._scrollMatches = true; + + _classPrivateMethodGet(this, _updatePage, _updatePage2).call(this, this._selected.pageIdx); + } +} + +function _onFindBarClose2(evt) { + var _this5 = this; + + var pdfDocument = this._pdfDocument; + + this._firstPageCapability.promise.then(function () { + if (!_this5._pdfDocument || pdfDocument && _this5._pdfDocument !== pdfDocument) { + return; + } + + if (_this5._findTimeout) { + clearTimeout(_this5._findTimeout); + _this5._findTimeout = null; + } + + if (_this5._resumePageIdx) { + _this5._resumePageIdx = null; + _this5._dirtyMatch = true; + } + + _classPrivateMethodGet(_this5, _updateUIState, _updateUIState2).call(_this5, FindState.FOUND); + + _this5._highlightMatches = false; + + _classPrivateMethodGet(_this5, _updateAllPages, _updateAllPages2).call(_this5); + }); +} + +function _requestMatchesCount2() { + var _this$_selected = this._selected, + pageIdx = _this$_selected.pageIdx, + matchIdx = _this$_selected.matchIdx; + var current = 0, + total = this._matchesCountTotal; + + if (matchIdx !== -1) { + for (var i = 0; i < pageIdx; i++) { + var _this$_pageMatches$i; + + current += ((_this$_pageMatches$i = this._pageMatches[i]) === null || _this$_pageMatches$i === void 0 ? void 0 : _this$_pageMatches$i.length) || 0; + } + + current += matchIdx + 1; + } + + if (current < 1 || current > total) { + current = total = 0; + } + + return { + current: current, + total: total + }; +} + +function _updateUIResultsCount2() { + this._eventBus.dispatch("updatefindmatchescount", { + source: this, + matchesCount: _classPrivateMethodGet(this, _requestMatchesCount, _requestMatchesCount2).call(this) + }); +} + +function _updateUIState2(state) { + var _this$_state$query, _this$_state2; + + var previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + this._eventBus.dispatch("updatefindcontrolstate", { + source: this, + state: state, + previous: previous, + matchesCount: _classPrivateMethodGet(this, _requestMatchesCount, _requestMatchesCount2).call(this), + rawQuery: (_this$_state$query = (_this$_state2 = this._state) === null || _this$_state2 === void 0 ? void 0 : _this$_state2.query) !== null && _this$_state$query !== void 0 ? _this$_state$query : null + }); +} + +/***/ }), +/* 19 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.CharacterType = void 0; +exports.getCharacterType = getCharacterType; +var CharacterType = { + SPACE: 0, + ALPHA_LETTER: 1, + PUNCT: 2, + HAN_LETTER: 3, + KATAKANA_LETTER: 4, + HIRAGANA_LETTER: 5, + HALFWIDTH_KATAKANA_LETTER: 6, + THAI_LETTER: 7 +}; +exports.CharacterType = CharacterType; + +function isAlphabeticalScript(charCode) { + return charCode < 0x2e80; +} + +function isAscii(charCode) { + return (charCode & 0xff80) === 0; +} + +function isAsciiAlpha(charCode) { + return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a; +} + +function isAsciiDigit(charCode) { + return charCode >= 0x30 && charCode <= 0x39; +} + +function isAsciiSpace(charCode) { + return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a; +} + +function isHan(charCode) { + return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff; +} + +function isKatakana(charCode) { + return charCode >= 0x30a0 && charCode <= 0x30ff; +} + +function isHiragana(charCode) { + return charCode >= 0x3040 && charCode <= 0x309f; +} + +function isHalfwidthKatakana(charCode) { + return charCode >= 0xff60 && charCode <= 0xff9f; +} + +function isThai(charCode) { + return (charCode & 0xff80) === 0x0e00; +} + +function getCharacterType(charCode) { + if (isAlphabeticalScript(charCode)) { + if (isAscii(charCode)) { + if (isAsciiSpace(charCode)) { + return CharacterType.SPACE; + } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) { + return CharacterType.ALPHA_LETTER; + } + + return CharacterType.PUNCT; + } else if (isThai(charCode)) { + return CharacterType.THAI_LETTER; + } else if (charCode === 0xa0) { + return CharacterType.SPACE; + } + + return CharacterType.ALPHA_LETTER; + } + + if (isHan(charCode)) { + return CharacterType.HAN_LETTER; + } else if (isKatakana(charCode)) { + return CharacterType.KATAKANA_LETTER; + } else if (isHiragana(charCode)) { + return CharacterType.HIRAGANA_LETTER; + } else if (isHalfwidthKatakana(charCode)) { + return CharacterType.HALFWIDTH_KATAKANA_LETTER; + } + + return CharacterType.ALPHA_LETTER; +} + +/***/ }), +/* 20 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFHistory = void 0; +exports.isDestArraysEqual = isDestArraysEqual; +exports.isDestHashesEqual = isDestHashesEqual; + +var _ui_utils = __webpack_require__(5); + +var _event_utils = __webpack_require__(6); + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var HASH_CHANGE_TIMEOUT = 1000; +var POSITION_UPDATED_THRESHOLD = 50; +var UPDATE_VIEWAREA_TIMEOUT = 1000; + +function getCurrentHash() { + return document.location.hash; +} + +var PDFHistory = /*#__PURE__*/function () { + function PDFHistory(_ref) { + var _this = this; + + var linkService = _ref.linkService, + eventBus = _ref.eventBus; + + _classCallCheck(this, PDFHistory); + + this.linkService = linkService; + this.eventBus = eventBus; + this._initialized = false; + this._fingerprint = ""; + this.reset(); + this._boundEvents = null; + + this.eventBus._on("pagesinit", function () { + _this._isPagesLoaded = false; + + _this.eventBus._on("pagesloaded", function (evt) { + _this._isPagesLoaded = !!evt.pagesCount; + }, { + once: true + }); + }); + } + + _createClass(PDFHistory, [{ + key: "initialize", + value: function initialize(_ref2) { + var fingerprint = _ref2.fingerprint, + _ref2$resetHistory = _ref2.resetHistory, + resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory, + _ref2$updateUrl = _ref2.updateUrl, + updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl; + + if (!fingerprint || typeof fingerprint !== "string") { + console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.'); + return; + } + + if (this._initialized) { + this.reset(); + } + + var reInitialized = this._fingerprint !== "" && this._fingerprint !== fingerprint; + this._fingerprint = fingerprint; + this._updateUrl = updateUrl === true; + this._initialized = true; + + this._bindEvents(); + + var state = window.history.state; + this._popStateInProgress = false; + this._blockHashChange = 0; + this._currentHash = getCurrentHash(); + this._numPositionUpdates = 0; + this._uid = this._maxUid = 0; + this._destination = null; + this._position = null; + + if (!this._isValidState(state, true) || resetHistory) { + var _this$_parseCurrentHa = this._parseCurrentHash(true), + hash = _this$_parseCurrentHa.hash, + page = _this$_parseCurrentHa.page, + rotation = _this$_parseCurrentHa.rotation; + + if (!hash || reInitialized || resetHistory) { + this._pushOrReplaceState(null, true); + + return; + } + + this._pushOrReplaceState({ + hash: hash, + page: page, + rotation: rotation + }, true); + + return; + } + + var destination = state.destination; + + this._updateInternalState(destination, state.uid, true); + + if (destination.rotation !== undefined) { + this._initialRotation = destination.rotation; + } + + if (destination.dest) { + this._initialBookmark = JSON.stringify(destination.dest); + this._destination.page = null; + } else if (destination.hash) { + this._initialBookmark = destination.hash; + } else if (destination.page) { + this._initialBookmark = "page=".concat(destination.page); + } + } + }, { + key: "reset", + value: function reset() { + if (this._initialized) { + this._pageHide(); + + this._initialized = false; + + this._unbindEvents(); + } + + if (this._updateViewareaTimeout) { + clearTimeout(this._updateViewareaTimeout); + this._updateViewareaTimeout = null; + } + + this._initialBookmark = null; + this._initialRotation = null; + } + }, { + key: "push", + value: function push(_ref3) { + var _this2 = this; + + var _ref3$namedDest = _ref3.namedDest, + namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest, + explicitDest = _ref3.explicitDest, + pageNumber = _ref3.pageNumber; + + if (!this._initialized) { + return; + } + + if (namedDest && typeof namedDest !== "string") { + console.error("PDFHistory.push: " + "\"".concat(namedDest, "\" is not a valid namedDest parameter.")); + return; + } else if (!Array.isArray(explicitDest)) { + console.error("PDFHistory.push: " + "\"".concat(explicitDest, "\" is not a valid explicitDest parameter.")); + return; + } else if (!this._isValidPage(pageNumber)) { + if (pageNumber !== null || this._destination) { + console.error("PDFHistory.push: " + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter.")); + return; + } + } + + var hash = namedDest || JSON.stringify(explicitDest); + + if (!hash) { + return; + } + + var forceReplace = false; + + if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) { + if (this._destination.page) { + return; + } + + forceReplace = true; + } + + if (this._popStateInProgress && !forceReplace) { + return; + } + + this._pushOrReplaceState({ + dest: explicitDest, + hash: hash, + page: pageNumber, + rotation: this.linkService.rotation + }, forceReplace); + + if (!this._popStateInProgress) { + this._popStateInProgress = true; + Promise.resolve().then(function () { + _this2._popStateInProgress = false; + }); + } + } + }, { + key: "pushPage", + value: function pushPage(pageNumber) { + var _this$_destination, + _this3 = this; + + if (!this._initialized) { + return; + } + + if (!this._isValidPage(pageNumber)) { + console.error("PDFHistory.pushPage: \"".concat(pageNumber, "\" is not a valid page number.")); + return; + } + + if (((_this$_destination = this._destination) === null || _this$_destination === void 0 ? void 0 : _this$_destination.page) === pageNumber) { + return; + } + + if (this._popStateInProgress) { + return; + } + + this._pushOrReplaceState({ + dest: null, + hash: "page=".concat(pageNumber), + page: pageNumber, + rotation: this.linkService.rotation + }); + + if (!this._popStateInProgress) { + this._popStateInProgress = true; + Promise.resolve().then(function () { + _this3._popStateInProgress = false; + }); + } + } + }, { + key: "pushCurrentPosition", + value: function pushCurrentPosition() { + if (!this._initialized || this._popStateInProgress) { + return; + } + + this._tryPushCurrentPosition(); + } + }, { + key: "back", + value: function back() { + if (!this._initialized || this._popStateInProgress) { + return; + } + + var state = window.history.state; + + if (this._isValidState(state) && state.uid > 0) { + window.history.back(); + } + } + }, { + key: "forward", + value: function forward() { + if (!this._initialized || this._popStateInProgress) { + return; + } + + var state = window.history.state; + + if (this._isValidState(state) && state.uid < this._maxUid) { + window.history.forward(); + } + } + }, { + key: "popStateInProgress", + get: function get() { + return this._initialized && (this._popStateInProgress || this._blockHashChange > 0); + } + }, { + key: "initialBookmark", + get: function get() { + return this._initialized ? this._initialBookmark : null; + } + }, { + key: "initialRotation", + get: function get() { + return this._initialized ? this._initialRotation : null; + } + }, { + key: "_pushOrReplaceState", + value: function _pushOrReplaceState(destination) { + var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var shouldReplace = forceReplace || !this._destination; + var newState = { + fingerprint: this._fingerprint, + uid: shouldReplace ? this._uid : this._uid + 1, + destination: destination + }; + + this._updateInternalState(destination, newState.uid); + + var newUrl; + + if (this._updateUrl && destination !== null && destination !== void 0 && destination.hash) { + var baseUrl = document.location.href.split("#")[0]; + + if (!baseUrl.startsWith("file://")) { + newUrl = "".concat(baseUrl, "#").concat(destination.hash); + } + } + + if (shouldReplace) { + window.history.replaceState(newState, "", newUrl); + } else { + window.history.pushState(newState, "", newUrl); + } + } + }, { + key: "_tryPushCurrentPosition", + value: function _tryPushCurrentPosition() { + var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this._position) { + return; + } + + var position = this._position; + + if (temporary) { + position = Object.assign(Object.create(null), this._position); + position.temporary = true; + } + + if (!this._destination) { + this._pushOrReplaceState(position); + + return; + } + + if (this._destination.temporary) { + this._pushOrReplaceState(position, true); + + return; + } + + if (this._destination.hash === position.hash) { + return; + } + + if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) { + return; + } + + var forceReplace = false; + + if (this._destination.page >= position.first && this._destination.page <= position.page) { + if (this._destination.dest !== undefined || !this._destination.first) { + return; + } + + forceReplace = true; + } + + this._pushOrReplaceState(position, forceReplace); + } + }, { + key: "_isValidPage", + value: function _isValidPage(val) { + return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount; + } + }, { + key: "_isValidState", + value: function _isValidState(state) { + var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (!state) { + return false; + } + + if (state.fingerprint !== this._fingerprint) { + if (checkReload) { + if (typeof state.fingerprint !== "string" || state.fingerprint.length !== this._fingerprint.length) { + return false; + } + + var _performance$getEntri = performance.getEntriesByType("navigation"), + _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1), + perfEntry = _performance$getEntri2[0]; + + if ((perfEntry === null || perfEntry === void 0 ? void 0 : perfEntry.type) !== "reload") { + return false; + } + } else { + return false; + } + } + + if (!Number.isInteger(state.uid) || state.uid < 0) { + return false; + } + + if (state.destination === null || _typeof(state.destination) !== "object") { + return false; + } + + return true; + } + }, { + key: "_updateInternalState", + value: function _updateInternalState(destination, uid) { + var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + if (this._updateViewareaTimeout) { + clearTimeout(this._updateViewareaTimeout); + this._updateViewareaTimeout = null; + } + + if (removeTemporary && destination !== null && destination !== void 0 && destination.temporary) { + delete destination.temporary; + } + + this._destination = destination; + this._uid = uid; + this._maxUid = Math.max(this._maxUid, uid); + this._numPositionUpdates = 0; + } + }, { + key: "_parseCurrentHash", + value: function _parseCurrentHash() { + var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var hash = unescape(getCurrentHash()).substring(1); + var params = (0, _ui_utils.parseQueryString)(hash); + var nameddest = params.get("nameddest") || ""; + var page = params.get("page") | 0; + + if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) { + page = null; + } + + return { + hash: hash, + page: page, + rotation: this.linkService.rotation + }; + } + }, { + key: "_updateViewarea", + value: function _updateViewarea(_ref4) { + var _this4 = this; + + var location = _ref4.location; + + if (this._updateViewareaTimeout) { + clearTimeout(this._updateViewareaTimeout); + this._updateViewareaTimeout = null; + } + + this._position = { + hash: location.pdfOpenParams.substring(1), + page: this.linkService.page, + first: location.pageNumber, + rotation: location.rotation + }; + + if (this._popStateInProgress) { + return; + } + + if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) { + this._numPositionUpdates++; + } + + if (UPDATE_VIEWAREA_TIMEOUT > 0) { + this._updateViewareaTimeout = setTimeout(function () { + if (!_this4._popStateInProgress) { + _this4._tryPushCurrentPosition(true); + } + + _this4._updateViewareaTimeout = null; + }, UPDATE_VIEWAREA_TIMEOUT); + } + } + }, { + key: "_popState", + value: function _popState(_ref5) { + var _this5 = this; + + var state = _ref5.state; + var newHash = getCurrentHash(), + hashChanged = this._currentHash !== newHash; + this._currentHash = newHash; + + if (!state) { + this._uid++; + + var _this$_parseCurrentHa2 = this._parseCurrentHash(), + hash = _this$_parseCurrentHa2.hash, + page = _this$_parseCurrentHa2.page, + rotation = _this$_parseCurrentHa2.rotation; + + this._pushOrReplaceState({ + hash: hash, + page: page, + rotation: rotation + }, true); + + return; + } + + if (!this._isValidState(state)) { + return; + } + + this._popStateInProgress = true; + + if (hashChanged) { + this._blockHashChange++; + (0, _event_utils.waitOnEventOrTimeout)({ + target: window, + name: "hashchange", + delay: HASH_CHANGE_TIMEOUT + }).then(function () { + _this5._blockHashChange--; + }); + } + + var destination = state.destination; + + this._updateInternalState(destination, state.uid, true); + + if ((0, _ui_utils.isValidRotation)(destination.rotation)) { + this.linkService.rotation = destination.rotation; + } + + if (destination.dest) { + this.linkService.goToDestination(destination.dest); + } else if (destination.hash) { + this.linkService.setHash(destination.hash); + } else if (destination.page) { + this.linkService.page = destination.page; + } + + Promise.resolve().then(function () { + _this5._popStateInProgress = false; + }); + } + }, { + key: "_pageHide", + value: function _pageHide() { + if (!this._destination || this._destination.temporary) { + this._tryPushCurrentPosition(); + } + } + }, { + key: "_bindEvents", + value: function _bindEvents() { + if (this._boundEvents) { + return; + } + + this._boundEvents = { + updateViewarea: this._updateViewarea.bind(this), + popState: this._popState.bind(this), + pageHide: this._pageHide.bind(this) + }; + + this.eventBus._on("updateviewarea", this._boundEvents.updateViewarea); + + window.addEventListener("popstate", this._boundEvents.popState); + window.addEventListener("pagehide", this._boundEvents.pageHide); + } + }, { + key: "_unbindEvents", + value: function _unbindEvents() { + if (!this._boundEvents) { + return; + } + + this.eventBus._off("updateviewarea", this._boundEvents.updateViewarea); + + window.removeEventListener("popstate", this._boundEvents.popState); + window.removeEventListener("pagehide", this._boundEvents.pageHide); + this._boundEvents = null; + } + }]); + + return PDFHistory; +}(); + +exports.PDFHistory = PDFHistory; + +function isDestHashesEqual(destHash, pushHash) { + if (typeof destHash !== "string" || typeof pushHash !== "string") { + return false; + } + + if (destHash === pushHash) { + return true; + } + + var nameddest = (0, _ui_utils.parseQueryString)(destHash).get("nameddest"); + + if (nameddest === pushHash) { + return true; + } + + return false; +} + +function isDestArraysEqual(firstDest, secondDest) { + function isEntryEqual(first, second) { + if (_typeof(first) !== _typeof(second)) { + return false; + } + + if (Array.isArray(first) || Array.isArray(second)) { + return false; + } + + if (first !== null && _typeof(first) === "object" && second !== null) { + if (Object.keys(first).length !== Object.keys(second).length) { + return false; + } + + for (var key in first) { + if (!isEntryEqual(first[key], second[key])) { + return false; + } + } + + return true; + } + + return first === second || Number.isNaN(first) && Number.isNaN(second); + } + + if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) { + return false; + } + + if (firstDest.length !== secondDest.length) { + return false; + } + + for (var i = 0, ii = firstDest.length; i < ii; i++) { + if (!isEntryEqual(firstDest[i], secondDest[i])) { + return false; + } + } + + return true; +} + +/***/ }), +/* 21 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFLayerViewer = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _base_tree_viewer = __webpack_require__(15); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var PDFLayerViewer = /*#__PURE__*/function (_BaseTreeViewer) { + _inherits(PDFLayerViewer, _BaseTreeViewer); + + var _super = _createSuper(PDFLayerViewer); + + function PDFLayerViewer(options) { + var _this; + + _classCallCheck(this, PDFLayerViewer); + + _this = _super.call(this, options); + _this.l10n = options.l10n; + + _this.eventBus._on("resetlayers", _this._resetLayers.bind(_assertThisInitialized(_this))); + + _this.eventBus._on("togglelayerstree", _this._toggleAllTreeItems.bind(_assertThisInitialized(_this))); + + return _this; + } + + _createClass(PDFLayerViewer, [{ + key: "reset", + value: function reset() { + _get(_getPrototypeOf(PDFLayerViewer.prototype), "reset", this).call(this); + + this._optionalContentConfig = null; + } + }, { + key: "_dispatchEvent", + value: function _dispatchEvent(layersCount) { + this.eventBus.dispatch("layersloaded", { + source: this, + layersCount: layersCount + }); + } + }, { + key: "_bindLink", + value: function _bindLink(element, _ref) { + var _this2 = this; + + var groupId = _ref.groupId, + input = _ref.input; + + var setVisibility = function setVisibility() { + _this2._optionalContentConfig.setVisibility(groupId, input.checked); + + _this2.eventBus.dispatch("optionalcontentconfig", { + source: _this2, + promise: Promise.resolve(_this2._optionalContentConfig) + }); + }; + + element.onclick = function (evt) { + if (evt.target === input) { + setVisibility(); + return true; + } else if (evt.target !== element) { + return true; + } + + input.checked = !input.checked; + setVisibility(); + return false; + }; + } + }, { + key: "_setNestedName", + value: function () { + var _setNestedName2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(element, _ref2) { + var _ref2$name, name; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _ref2$name = _ref2.name, name = _ref2$name === void 0 ? null : _ref2$name; + + if (!(typeof name === "string")) { + _context.next = 4; + break; + } + + element.textContent = this._normalizeTextContent(name); + return _context.abrupt("return"); + + case 4: + _context.next = 6; + return this.l10n.get("additional_layers"); + + case 6: + element.textContent = _context.sent; + element.style.fontStyle = "italic"; + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _setNestedName(_x, _x2) { + return _setNestedName2.apply(this, arguments); + } + + return _setNestedName; + }() + }, { + key: "_addToggleButton", + value: function _addToggleButton(div, _ref3) { + var _ref3$name = _ref3.name, + name = _ref3$name === void 0 ? null : _ref3$name; + + _get(_getPrototypeOf(PDFLayerViewer.prototype), "_addToggleButton", this).call(this, div, name === null); + } + }, { + key: "_toggleAllTreeItems", + value: function _toggleAllTreeItems() { + if (!this._optionalContentConfig) { + return; + } + + _get(_getPrototypeOf(PDFLayerViewer.prototype), "_toggleAllTreeItems", this).call(this); + } + }, { + key: "render", + value: function render(_ref4) { + var optionalContentConfig = _ref4.optionalContentConfig, + pdfDocument = _ref4.pdfDocument; + + if (this._optionalContentConfig) { + this.reset(); + } + + this._optionalContentConfig = optionalContentConfig || null; + this._pdfDocument = pdfDocument || null; + var groups = optionalContentConfig === null || optionalContentConfig === void 0 ? void 0 : optionalContentConfig.getOrder(); + + if (!groups) { + this._dispatchEvent(0); + + return; + } + + var fragment = document.createDocumentFragment(), + queue = [{ + parent: fragment, + groups: groups + }]; + var layersCount = 0, + hasAnyNesting = false; + + while (queue.length > 0) { + var levelData = queue.shift(); + + var _iterator = _createForOfIteratorHelper(levelData.groups), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var groupId = _step.value; + var div = document.createElement("div"); + div.className = "treeItem"; + var element = document.createElement("a"); + div.appendChild(element); + + if (_typeof(groupId) === "object") { + hasAnyNesting = true; + + this._addToggleButton(div, groupId); + + this._setNestedName(element, groupId); + + var itemsDiv = document.createElement("div"); + itemsDiv.className = "treeItems"; + div.appendChild(itemsDiv); + queue.push({ + parent: itemsDiv, + groups: groupId.order + }); + } else { + var group = optionalContentConfig.getGroup(groupId); + var input = document.createElement("input"); + + this._bindLink(element, { + groupId: groupId, + input: input + }); + + input.type = "checkbox"; + input.id = groupId; + input.checked = group.visible; + var label = document.createElement("label"); + label.setAttribute("for", groupId); + label.textContent = this._normalizeTextContent(group.name); + element.appendChild(input); + element.appendChild(label); + layersCount++; + } + + levelData.parent.appendChild(div); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + this._finishRendering(fragment, layersCount, hasAnyNesting); + } + }, { + key: "_resetLayers", + value: function () { + var _resetLayers2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var optionalContentConfig; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (this._optionalContentConfig) { + _context2.next = 2; + break; + } + + return _context2.abrupt("return"); + + case 2: + _context2.next = 4; + return this._pdfDocument.getOptionalContentConfig(); + + case 4: + optionalContentConfig = _context2.sent; + this.eventBus.dispatch("optionalcontentconfig", { + source: this, + promise: Promise.resolve(optionalContentConfig) + }); + this.render({ + optionalContentConfig: optionalContentConfig, + pdfDocument: this._pdfDocument + }); + + case 7: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function _resetLayers() { + return _resetLayers2.apply(this, arguments); + } + + return _resetLayers; + }() + }]); + + return PDFLayerViewer; +}(_base_tree_viewer.BaseTreeViewer); + +exports.PDFLayerViewer = PDFLayerViewer; + +/***/ }), +/* 22 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFOutlineViewer = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _base_tree_viewer = __webpack_require__(15); + +var _pdfjsLib = __webpack_require__(7); + +var _ui_utils = __webpack_require__(5); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var PDFOutlineViewer = /*#__PURE__*/function (_BaseTreeViewer) { + _inherits(PDFOutlineViewer, _BaseTreeViewer); + + var _super = _createSuper(PDFOutlineViewer); + + function PDFOutlineViewer(options) { + var _this; + + _classCallCheck(this, PDFOutlineViewer); + + _this = _super.call(this, options); + _this.linkService = options.linkService; + + _this.eventBus._on("toggleoutlinetree", _this._toggleAllTreeItems.bind(_assertThisInitialized(_this))); + + _this.eventBus._on("currentoutlineitem", _this._currentOutlineItem.bind(_assertThisInitialized(_this))); + + _this.eventBus._on("pagechanging", function (evt) { + _this._currentPageNumber = evt.pageNumber; + }); + + _this.eventBus._on("pagesloaded", function (evt) { + _this._isPagesLoaded = !!evt.pagesCount; + + if (_this._currentOutlineItemCapability && !_this._currentOutlineItemCapability.settled) { + _this._currentOutlineItemCapability.resolve(_this._isPagesLoaded); + } + }); + + _this.eventBus._on("sidebarviewchanged", function (evt) { + _this._sidebarView = evt.view; + }); + + return _this; + } + + _createClass(PDFOutlineViewer, [{ + key: "reset", + value: function reset() { + _get(_getPrototypeOf(PDFOutlineViewer.prototype), "reset", this).call(this); + + this._outline = null; + this._pageNumberToDestHashCapability = null; + this._currentPageNumber = 1; + this._isPagesLoaded = null; + + if (this._currentOutlineItemCapability && !this._currentOutlineItemCapability.settled) { + this._currentOutlineItemCapability.resolve(false); + } + + this._currentOutlineItemCapability = null; + } + }, { + key: "_dispatchEvent", + value: function _dispatchEvent(outlineCount) { + var _this$_pdfDocument; + + this._currentOutlineItemCapability = (0, _pdfjsLib.createPromiseCapability)(); + + if (outlineCount === 0 || (_this$_pdfDocument = this._pdfDocument) !== null && _this$_pdfDocument !== void 0 && _this$_pdfDocument.loadingParams.disableAutoFetch) { + this._currentOutlineItemCapability.resolve(false); + } else if (this._isPagesLoaded !== null) { + this._currentOutlineItemCapability.resolve(this._isPagesLoaded); + } + + this.eventBus.dispatch("outlineloaded", { + source: this, + outlineCount: outlineCount, + currentOutlineItemPromise: this._currentOutlineItemCapability.promise + }); + } + }, { + key: "_bindLink", + value: function _bindLink(element, _ref) { + var _this2 = this; + + var url = _ref.url, + newWindow = _ref.newWindow, + dest = _ref.dest; + var linkService = this.linkService; + + if (url) { + linkService.addLinkAttributes(element, url, newWindow); + return; + } + + element.href = linkService.getDestinationHash(dest); + + element.onclick = function (evt) { + _this2._updateCurrentTreeItem(evt.target.parentNode); + + if (dest) { + linkService.goToDestination(dest); + } + + return false; + }; + } + }, { + key: "_setStyles", + value: function _setStyles(element, _ref2) { + var bold = _ref2.bold, + italic = _ref2.italic; + + if (bold) { + element.style.fontWeight = "bold"; + } + + if (italic) { + element.style.fontStyle = "italic"; + } + } + }, { + key: "_addToggleButton", + value: function _addToggleButton(div, _ref3) { + var count = _ref3.count, + items = _ref3.items; + var hidden = false; + + if (count < 0) { + var totalCount = items.length; + + if (totalCount > 0) { + var queue = _toConsumableArray(items); + + while (queue.length > 0) { + var _queue$shift = queue.shift(), + nestedCount = _queue$shift.count, + nestedItems = _queue$shift.items; + + if (nestedCount > 0 && nestedItems.length > 0) { + totalCount += nestedItems.length; + queue.push.apply(queue, _toConsumableArray(nestedItems)); + } + } + } + + if (Math.abs(count) === totalCount) { + hidden = true; + } + } + + _get(_getPrototypeOf(PDFOutlineViewer.prototype), "_addToggleButton", this).call(this, div, hidden); + } + }, { + key: "_toggleAllTreeItems", + value: function _toggleAllTreeItems() { + if (!this._outline) { + return; + } + + _get(_getPrototypeOf(PDFOutlineViewer.prototype), "_toggleAllTreeItems", this).call(this); + } + }, { + key: "render", + value: function render(_ref4) { + var outline = _ref4.outline, + pdfDocument = _ref4.pdfDocument; + + if (this._outline) { + this.reset(); + } + + this._outline = outline || null; + this._pdfDocument = pdfDocument || null; + + if (!outline) { + this._dispatchEvent(0); + + return; + } + + var fragment = document.createDocumentFragment(); + var queue = [{ + parent: fragment, + items: outline + }]; + var outlineCount = 0, + hasAnyNesting = false; + + while (queue.length > 0) { + var levelData = queue.shift(); + + var _iterator = _createForOfIteratorHelper(levelData.items), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var item = _step.value; + var div = document.createElement("div"); + div.className = "treeItem"; + var element = document.createElement("a"); + + this._bindLink(element, item); + + this._setStyles(element, item); + + element.textContent = this._normalizeTextContent(item.title); + div.appendChild(element); + + if (item.items.length > 0) { + hasAnyNesting = true; + + this._addToggleButton(div, item); + + var itemsDiv = document.createElement("div"); + itemsDiv.className = "treeItems"; + div.appendChild(itemsDiv); + queue.push({ + parent: itemsDiv, + items: item.items + }); + } + + levelData.parent.appendChild(div); + outlineCount++; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + this._finishRendering(fragment, outlineCount, hasAnyNesting); + } + }, { + key: "_currentOutlineItem", + value: function () { + var _currentOutlineItem2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var pageNumberToDestHash, i, destHash, linkElement; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (this._isPagesLoaded) { + _context.next = 2; + break; + } + + throw new Error("_currentOutlineItem: All pages have not been loaded."); + + case 2: + if (!(!this._outline || !this._pdfDocument)) { + _context.next = 4; + break; + } + + return _context.abrupt("return"); + + case 4: + _context.next = 6; + return this._getPageNumberToDestHash(this._pdfDocument); + + case 6: + pageNumberToDestHash = _context.sent; + + if (pageNumberToDestHash) { + _context.next = 9; + break; + } + + return _context.abrupt("return"); + + case 9: + this._updateCurrentTreeItem(null); + + if (!(this._sidebarView !== _ui_utils.SidebarView.OUTLINE)) { + _context.next = 12; + break; + } + + return _context.abrupt("return"); + + case 12: + i = this._currentPageNumber; + + case 13: + if (!(i > 0)) { + _context.next = 25; + break; + } + + destHash = pageNumberToDestHash.get(i); + + if (destHash) { + _context.next = 17; + break; + } + + return _context.abrupt("continue", 22); + + case 17: + linkElement = this.container.querySelector("a[href=\"".concat(destHash, "\"]")); + + if (linkElement) { + _context.next = 20; + break; + } + + return _context.abrupt("continue", 22); + + case 20: + this._scrollToCurrentTreeItem(linkElement.parentNode); + + return _context.abrupt("break", 25); + + case 22: + i--; + _context.next = 13; + break; + + case 25: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _currentOutlineItem() { + return _currentOutlineItem2.apply(this, arguments); + } + + return _currentOutlineItem; + }() + }, { + key: "_getPageNumberToDestHash", + value: function () { + var _getPageNumberToDestHash2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pdfDocument) { + var pageNumberToDestHash, pageNumberNesting, queue, levelData, currentNesting, _iterator2, _step2, _step2$value, dest, items, explicitDest, pageNumber, _explicitDest, _explicitDest2, destRef, destHash; + + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!this._pageNumberToDestHashCapability) { + _context2.next = 2; + break; + } + + return _context2.abrupt("return", this._pageNumberToDestHashCapability.promise); + + case 2: + this._pageNumberToDestHashCapability = (0, _pdfjsLib.createPromiseCapability)(); + pageNumberToDestHash = new Map(), pageNumberNesting = new Map(); + queue = [{ + nesting: 0, + items: this._outline + }]; + + case 5: + if (!(queue.length > 0)) { + _context2.next = 56; + break; + } + + levelData = queue.shift(), currentNesting = levelData.nesting; + _iterator2 = _createForOfIteratorHelper(levelData.items); + _context2.prev = 8; + + _iterator2.s(); + + case 10: + if ((_step2 = _iterator2.n()).done) { + _context2.next = 46; + break; + } + + _step2$value = _step2.value, dest = _step2$value.dest, items = _step2$value.items; + explicitDest = void 0, pageNumber = void 0; + + if (!(typeof dest === "string")) { + _context2.next = 21; + break; + } + + _context2.next = 16; + return pdfDocument.getDestination(dest); + + case 16: + explicitDest = _context2.sent; + + if (!(pdfDocument !== this._pdfDocument)) { + _context2.next = 19; + break; + } + + return _context2.abrupt("return", null); + + case 19: + _context2.next = 22; + break; + + case 21: + explicitDest = dest; + + case 22: + if (!Array.isArray(explicitDest)) { + _context2.next = 43; + break; + } + + _explicitDest = explicitDest, _explicitDest2 = _slicedToArray(_explicitDest, 1), destRef = _explicitDest2[0]; + + if (!(_typeof(destRef) === "object" && destRef !== null)) { + _context2.next = 41; + break; + } + + pageNumber = this.linkService._cachedPageNumber(destRef); + + if (pageNumber) { + _context2.next = 39; + break; + } + + _context2.prev = 27; + _context2.next = 30; + return pdfDocument.getPageIndex(destRef); + + case 30: + _context2.t0 = _context2.sent; + pageNumber = _context2.t0 + 1; + + if (!(pdfDocument !== this._pdfDocument)) { + _context2.next = 34; + break; + } + + return _context2.abrupt("return", null); + + case 34: + this.linkService.cachePageRef(pageNumber, destRef); + _context2.next = 39; + break; + + case 37: + _context2.prev = 37; + _context2.t1 = _context2["catch"](27); + + case 39: + _context2.next = 42; + break; + + case 41: + if (Number.isInteger(destRef)) { + pageNumber = destRef + 1; + } + + case 42: + if (Number.isInteger(pageNumber) && (!pageNumberToDestHash.has(pageNumber) || currentNesting > pageNumberNesting.get(pageNumber))) { + destHash = this.linkService.getDestinationHash(dest); + pageNumberToDestHash.set(pageNumber, destHash); + pageNumberNesting.set(pageNumber, currentNesting); + } + + case 43: + if (items.length > 0) { + queue.push({ + nesting: currentNesting + 1, + items: items + }); + } + + case 44: + _context2.next = 10; + break; + + case 46: + _context2.next = 51; + break; + + case 48: + _context2.prev = 48; + _context2.t2 = _context2["catch"](8); + + _iterator2.e(_context2.t2); + + case 51: + _context2.prev = 51; + + _iterator2.f(); + + return _context2.finish(51); + + case 54: + _context2.next = 5; + break; + + case 56: + this._pageNumberToDestHashCapability.resolve(pageNumberToDestHash.size > 0 ? pageNumberToDestHash : null); + + return _context2.abrupt("return", this._pageNumberToDestHashCapability.promise); + + case 58: + case "end": + return _context2.stop(); + } + } + }, _callee2, this, [[8, 48, 51, 54], [27, 37]]); + })); + + function _getPageNumberToDestHash(_x) { + return _getPageNumberToDestHash2.apply(this, arguments); + } + + return _getPageNumberToDestHash; + }() + }]); + + return PDFOutlineViewer; +}(_base_tree_viewer.BaseTreeViewer); + +exports.PDFOutlineViewer = PDFOutlineViewer; + +/***/ }), +/* 23 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFPresentationMode = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _ui_utils = __webpack_require__(5); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +var DELAY_BEFORE_HIDING_CONTROLS = 3000; +var ACTIVE_SELECTOR = "pdfPresentationMode"; +var CONTROLS_SELECTOR = "pdfPresentationModeControls"; +var MOUSE_SCROLL_COOLDOWN_TIME = 50; +var PAGE_SWITCH_THRESHOLD = 0.1; +var SWIPE_MIN_DISTANCE_THRESHOLD = 50; +var SWIPE_ANGLE_THRESHOLD = Math.PI / 6; + +var _state = /*#__PURE__*/new WeakMap(); + +var _args = /*#__PURE__*/new WeakMap(); + +var _mouseWheel = /*#__PURE__*/new WeakSet(); + +var _notifyStateChange = /*#__PURE__*/new WeakSet(); + +var _enter = /*#__PURE__*/new WeakSet(); + +var _exit = /*#__PURE__*/new WeakSet(); + +var _mouseDown = /*#__PURE__*/new WeakSet(); + +var _contextMenu = /*#__PURE__*/new WeakSet(); + +var _showControls = /*#__PURE__*/new WeakSet(); + +var _hideControls = /*#__PURE__*/new WeakSet(); + +var _resetMouseScrollState = /*#__PURE__*/new WeakSet(); + +var _touchSwipe = /*#__PURE__*/new WeakSet(); + +var _addWindowListeners = /*#__PURE__*/new WeakSet(); + +var _removeWindowListeners = /*#__PURE__*/new WeakSet(); + +var _fullscreenChange = /*#__PURE__*/new WeakSet(); + +var _addFullscreenChangeListeners = /*#__PURE__*/new WeakSet(); + +var _removeFullscreenChangeListeners = /*#__PURE__*/new WeakSet(); + +var PDFPresentationMode = /*#__PURE__*/function () { + function PDFPresentationMode(_ref) { + var container = _ref.container, + pdfViewer = _ref.pdfViewer, + eventBus = _ref.eventBus; + + _classCallCheck(this, PDFPresentationMode); + + _classPrivateMethodInitSpec(this, _removeFullscreenChangeListeners); + + _classPrivateMethodInitSpec(this, _addFullscreenChangeListeners); + + _classPrivateMethodInitSpec(this, _fullscreenChange); + + _classPrivateMethodInitSpec(this, _removeWindowListeners); + + _classPrivateMethodInitSpec(this, _addWindowListeners); + + _classPrivateMethodInitSpec(this, _touchSwipe); + + _classPrivateMethodInitSpec(this, _resetMouseScrollState); + + _classPrivateMethodInitSpec(this, _hideControls); + + _classPrivateMethodInitSpec(this, _showControls); + + _classPrivateMethodInitSpec(this, _contextMenu); + + _classPrivateMethodInitSpec(this, _mouseDown); + + _classPrivateMethodInitSpec(this, _exit); + + _classPrivateMethodInitSpec(this, _enter); + + _classPrivateMethodInitSpec(this, _notifyStateChange); + + _classPrivateMethodInitSpec(this, _mouseWheel); + + _classPrivateFieldInitSpec(this, _state, { + writable: true, + value: _ui_utils.PresentationModeState.UNKNOWN + }); + + _classPrivateFieldInitSpec(this, _args, { + writable: true, + value: null + }); + + this.container = container; + this.pdfViewer = pdfViewer; + this.eventBus = eventBus; + this.contextMenuOpen = false; + this.mouseScrollTimeStamp = 0; + this.mouseScrollDelta = 0; + this.touchSwipeState = null; + } + + _createClass(PDFPresentationMode, [{ + key: "request", + value: function () { + var _request = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var container, pdfViewer, promise; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + container = this.container, pdfViewer = this.pdfViewer; + + if (!(this.active || !pdfViewer.pagesCount || !container.requestFullscreen)) { + _context.next = 3; + break; + } + + return _context.abrupt("return", false); + + case 3: + _classPrivateMethodGet(this, _addFullscreenChangeListeners, _addFullscreenChangeListeners2).call(this); + + _classPrivateMethodGet(this, _notifyStateChange, _notifyStateChange2).call(this, _ui_utils.PresentationModeState.CHANGING); + + promise = container.requestFullscreen(); + + _classPrivateFieldSet(this, _args, { + pageNumber: pdfViewer.currentPageNumber, + scaleValue: pdfViewer.currentScaleValue, + scrollMode: pdfViewer.scrollMode, + spreadMode: null + }); + + if (pdfViewer.spreadMode !== _ui_utils.SpreadMode.NONE && !(pdfViewer.pageViewsReady && pdfViewer.hasEqualPageSizes)) { + console.warn("Ignoring Spread modes when entering PresentationMode, " + "since the document may contain varying page sizes."); + _classPrivateFieldGet(this, _args).spreadMode = pdfViewer.spreadMode; + } + + _context.prev = 8; + _context.next = 11; + return promise; + + case 11: + return _context.abrupt("return", true); + + case 14: + _context.prev = 14; + _context.t0 = _context["catch"](8); + + _classPrivateMethodGet(this, _removeFullscreenChangeListeners, _removeFullscreenChangeListeners2).call(this); + + _classPrivateMethodGet(this, _notifyStateChange, _notifyStateChange2).call(this, _ui_utils.PresentationModeState.NORMAL); + + case 18: + return _context.abrupt("return", false); + + case 19: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[8, 14]]); + })); + + function request() { + return _request.apply(this, arguments); + } + + return request; + }() + }, { + key: "active", + get: function get() { + return _classPrivateFieldGet(this, _state) === _ui_utils.PresentationModeState.CHANGING || _classPrivateFieldGet(this, _state) === _ui_utils.PresentationModeState.FULLSCREEN; + } + }]); + + return PDFPresentationMode; +}(); + +exports.PDFPresentationMode = PDFPresentationMode; + +function _mouseWheel2(evt) { + if (!this.active) { + return; + } + + evt.preventDefault(); + var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt); + var currentTime = Date.now(); + var storedTime = this.mouseScrollTimeStamp; + + if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) { + return; + } + + if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) { + _classPrivateMethodGet(this, _resetMouseScrollState, _resetMouseScrollState2).call(this); + } + + this.mouseScrollDelta += delta; + + if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) { + var totalDelta = this.mouseScrollDelta; + + _classPrivateMethodGet(this, _resetMouseScrollState, _resetMouseScrollState2).call(this); + + var success = totalDelta > 0 ? this.pdfViewer.previousPage() : this.pdfViewer.nextPage(); + + if (success) { + this.mouseScrollTimeStamp = currentTime; + } + } +} + +function _notifyStateChange2(state) { + _classPrivateFieldSet(this, _state, state); + + this.eventBus.dispatch("presentationmodechanged", { + source: this, + state: state + }); +} + +function _enter2() { + var _this = this; + + _classPrivateMethodGet(this, _notifyStateChange, _notifyStateChange2).call(this, _ui_utils.PresentationModeState.FULLSCREEN); + + this.container.classList.add(ACTIVE_SELECTOR); + setTimeout(function () { + _this.pdfViewer.scrollMode = _ui_utils.ScrollMode.PAGE; + + if (_classPrivateFieldGet(_this, _args).spreadMode !== null) { + _this.pdfViewer.spreadMode = _ui_utils.SpreadMode.NONE; + } + + _this.pdfViewer.currentPageNumber = _classPrivateFieldGet(_this, _args).pageNumber; + _this.pdfViewer.currentScaleValue = "page-fit"; + }, 0); + + _classPrivateMethodGet(this, _addWindowListeners, _addWindowListeners2).call(this); + + _classPrivateMethodGet(this, _showControls, _showControls2).call(this); + + this.contextMenuOpen = false; + window.getSelection().removeAllRanges(); +} + +function _exit2() { + var _this2 = this; + + var pageNumber = this.pdfViewer.currentPageNumber; + this.container.classList.remove(ACTIVE_SELECTOR); + setTimeout(function () { + _classPrivateMethodGet(_this2, _removeFullscreenChangeListeners, _removeFullscreenChangeListeners2).call(_this2); + + _classPrivateMethodGet(_this2, _notifyStateChange, _notifyStateChange2).call(_this2, _ui_utils.PresentationModeState.NORMAL); + + _this2.pdfViewer.scrollMode = _classPrivateFieldGet(_this2, _args).scrollMode; + + if (_classPrivateFieldGet(_this2, _args).spreadMode !== null) { + _this2.pdfViewer.spreadMode = _classPrivateFieldGet(_this2, _args).spreadMode; + } + + _this2.pdfViewer.currentScaleValue = _classPrivateFieldGet(_this2, _args).scaleValue; + _this2.pdfViewer.currentPageNumber = pageNumber; + + _classPrivateFieldSet(_this2, _args, null); + }, 0); + + _classPrivateMethodGet(this, _removeWindowListeners, _removeWindowListeners2).call(this); + + _classPrivateMethodGet(this, _hideControls, _hideControls2).call(this); + + _classPrivateMethodGet(this, _resetMouseScrollState, _resetMouseScrollState2).call(this); + + this.contextMenuOpen = false; +} + +function _mouseDown2(evt) { + if (this.contextMenuOpen) { + this.contextMenuOpen = false; + evt.preventDefault(); + return; + } + + if (evt.button === 0) { + var isInternalLink = evt.target.href && evt.target.classList.contains("internalLink"); + + if (!isInternalLink) { + evt.preventDefault(); + + if (evt.shiftKey) { + this.pdfViewer.previousPage(); + } else { + this.pdfViewer.nextPage(); + } + } + } +} + +function _contextMenu2() { + this.contextMenuOpen = true; +} + +function _showControls2() { + var _this3 = this; + + if (this.controlsTimeout) { + clearTimeout(this.controlsTimeout); + } else { + this.container.classList.add(CONTROLS_SELECTOR); + } + + this.controlsTimeout = setTimeout(function () { + _this3.container.classList.remove(CONTROLS_SELECTOR); + + delete _this3.controlsTimeout; + }, DELAY_BEFORE_HIDING_CONTROLS); +} + +function _hideControls2() { + if (!this.controlsTimeout) { + return; + } + + clearTimeout(this.controlsTimeout); + this.container.classList.remove(CONTROLS_SELECTOR); + delete this.controlsTimeout; +} + +function _resetMouseScrollState2() { + this.mouseScrollTimeStamp = 0; + this.mouseScrollDelta = 0; +} + +function _touchSwipe2(evt) { + if (!this.active) { + return; + } + + if (evt.touches.length > 1) { + this.touchSwipeState = null; + return; + } + + switch (evt.type) { + case "touchstart": + this.touchSwipeState = { + startX: evt.touches[0].pageX, + startY: evt.touches[0].pageY, + endX: evt.touches[0].pageX, + endY: evt.touches[0].pageY + }; + break; + + case "touchmove": + if (this.touchSwipeState === null) { + return; + } + + this.touchSwipeState.endX = evt.touches[0].pageX; + this.touchSwipeState.endY = evt.touches[0].pageY; + evt.preventDefault(); + break; + + case "touchend": + if (this.touchSwipeState === null) { + return; + } + + var delta = 0; + var dx = this.touchSwipeState.endX - this.touchSwipeState.startX; + var dy = this.touchSwipeState.endY - this.touchSwipeState.startY; + var absAngle = Math.abs(Math.atan2(dy, dx)); + + if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) { + delta = dx; + } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) { + delta = dy; + } + + if (delta > 0) { + this.pdfViewer.previousPage(); + } else if (delta < 0) { + this.pdfViewer.nextPage(); + } + + break; + } +} + +function _addWindowListeners2() { + this.showControlsBind = _classPrivateMethodGet(this, _showControls, _showControls2).bind(this); + this.mouseDownBind = _classPrivateMethodGet(this, _mouseDown, _mouseDown2).bind(this); + this.mouseWheelBind = _classPrivateMethodGet(this, _mouseWheel, _mouseWheel2).bind(this); + this.resetMouseScrollStateBind = _classPrivateMethodGet(this, _resetMouseScrollState, _resetMouseScrollState2).bind(this); + this.contextMenuBind = _classPrivateMethodGet(this, _contextMenu, _contextMenu2).bind(this); + this.touchSwipeBind = _classPrivateMethodGet(this, _touchSwipe, _touchSwipe2).bind(this); + window.addEventListener("mousemove", this.showControlsBind); + window.addEventListener("mousedown", this.mouseDownBind); + window.addEventListener("wheel", this.mouseWheelBind, { + passive: false + }); + window.addEventListener("keydown", this.resetMouseScrollStateBind); + window.addEventListener("contextmenu", this.contextMenuBind); + window.addEventListener("touchstart", this.touchSwipeBind); + window.addEventListener("touchmove", this.touchSwipeBind); + window.addEventListener("touchend", this.touchSwipeBind); +} + +function _removeWindowListeners2() { + window.removeEventListener("mousemove", this.showControlsBind); + window.removeEventListener("mousedown", this.mouseDownBind); + window.removeEventListener("wheel", this.mouseWheelBind, { + passive: false + }); + window.removeEventListener("keydown", this.resetMouseScrollStateBind); + window.removeEventListener("contextmenu", this.contextMenuBind); + window.removeEventListener("touchstart", this.touchSwipeBind); + window.removeEventListener("touchmove", this.touchSwipeBind); + window.removeEventListener("touchend", this.touchSwipeBind); + delete this.showControlsBind; + delete this.mouseDownBind; + delete this.mouseWheelBind; + delete this.resetMouseScrollStateBind; + delete this.contextMenuBind; + delete this.touchSwipeBind; +} + +function _fullscreenChange2() { + if (document.fullscreenElement) { + _classPrivateMethodGet(this, _enter, _enter2).call(this); + } else { + _classPrivateMethodGet(this, _exit, _exit2).call(this); + } +} + +function _addFullscreenChangeListeners2() { + this.fullscreenChangeBind = _classPrivateMethodGet(this, _fullscreenChange, _fullscreenChange2).bind(this); + window.addEventListener("fullscreenchange", this.fullscreenChangeBind); +} + +function _removeFullscreenChangeListeners2() { + window.removeEventListener("fullscreenchange", this.fullscreenChangeBind); + delete this.fullscreenChangeBind; +} + +/***/ }), +/* 24 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFRenderingQueue = void 0; + +var _pdfjsLib = __webpack_require__(7); + +var _ui_utils = __webpack_require__(5); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var CLEANUP_TIMEOUT = 30000; + +var PDFRenderingQueue = /*#__PURE__*/function () { + function PDFRenderingQueue() { + _classCallCheck(this, PDFRenderingQueue); + + this.pdfViewer = null; + this.pdfThumbnailViewer = null; + this.onIdle = null; + this.highestPriorityPage = null; + this.idleTimeout = null; + this.printing = false; + this.isThumbnailViewEnabled = false; + } + + _createClass(PDFRenderingQueue, [{ + key: "setViewer", + value: function setViewer(pdfViewer) { + this.pdfViewer = pdfViewer; + } + }, { + key: "setThumbnailViewer", + value: function setThumbnailViewer(pdfThumbnailViewer) { + this.pdfThumbnailViewer = pdfThumbnailViewer; + } + }, { + key: "isHighestPriority", + value: function isHighestPriority(view) { + return this.highestPriorityPage === view.renderingId; + } + }, { + key: "hasViewer", + value: function hasViewer() { + return !!this.pdfViewer; + } + }, { + key: "renderHighestPriority", + value: function renderHighestPriority(currentlyVisiblePages) { + var _this$pdfThumbnailVie; + + if (this.idleTimeout) { + clearTimeout(this.idleTimeout); + this.idleTimeout = null; + } + + if (this.pdfViewer.forceRendering(currentlyVisiblePages)) { + return; + } + + if (this.isThumbnailViewEnabled && (_this$pdfThumbnailVie = this.pdfThumbnailViewer) !== null && _this$pdfThumbnailVie !== void 0 && _this$pdfThumbnailVie.forceRendering()) { + return; + } + + if (this.printing) { + return; + } + + if (this.onIdle) { + this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT); + } + } + }, { + key: "getHighestPriority", + value: function getHighestPriority(visible, views, scrolledDown) { + var preRenderExtra = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + var visibleViews = visible.views, + numVisible = visibleViews.length; + + if (numVisible === 0) { + return null; + } + + for (var i = 0; i < numVisible; i++) { + var view = visibleViews[i].view; + + if (!this.isViewFinished(view)) { + return view; + } + } + + var firstId = visible.first.id, + lastId = visible.last.id; + + if (lastId - firstId + 1 > numVisible) { + var visibleIds = visible.ids; + + for (var _i = 1, ii = lastId - firstId; _i < ii; _i++) { + var holeId = scrolledDown ? firstId + _i : lastId - _i; + + if (visibleIds.has(holeId)) { + continue; + } + + var holeView = views[holeId - 1]; + + if (!this.isViewFinished(holeView)) { + return holeView; + } + } + } + + var preRenderIndex = scrolledDown ? lastId : firstId - 2; + var preRenderView = views[preRenderIndex]; + + if (preRenderView && !this.isViewFinished(preRenderView)) { + return preRenderView; + } + + if (preRenderExtra) { + preRenderIndex += scrolledDown ? 1 : -1; + preRenderView = views[preRenderIndex]; + + if (preRenderView && !this.isViewFinished(preRenderView)) { + return preRenderView; + } + } + + return null; + } + }, { + key: "isViewFinished", + value: function isViewFinished(view) { + return view.renderingState === _ui_utils.RenderingStates.FINISHED; + } + }, { + key: "renderView", + value: function renderView(view) { + var _this = this; + + switch (view.renderingState) { + case _ui_utils.RenderingStates.FINISHED: + return false; + + case _ui_utils.RenderingStates.PAUSED: + this.highestPriorityPage = view.renderingId; + view.resume(); + break; + + case _ui_utils.RenderingStates.RUNNING: + this.highestPriorityPage = view.renderingId; + break; + + case _ui_utils.RenderingStates.INITIAL: + this.highestPriorityPage = view.renderingId; + view.draw()["finally"](function () { + _this.renderHighestPriority(); + })["catch"](function (reason) { + if (reason instanceof _pdfjsLib.RenderingCancelledException) { + return; + } + + console.error("renderView: \"".concat(reason, "\"")); + }); + break; + } + + return true; + } + }]); + + return PDFRenderingQueue; +}(); + +exports.PDFRenderingQueue = PDFRenderingQueue; + +/***/ }), +/* 25 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFScriptingManager = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _ui_utils = __webpack_require__(5); + +var _pdfjsLib = __webpack_require__(7); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var PDFScriptingManager = /*#__PURE__*/function () { + function PDFScriptingManager(_ref) { + var eventBus = _ref.eventBus, + _ref$sandboxBundleSrc = _ref.sandboxBundleSrc, + sandboxBundleSrc = _ref$sandboxBundleSrc === void 0 ? null : _ref$sandboxBundleSrc, + _ref$scriptingFactory = _ref.scriptingFactory, + scriptingFactory = _ref$scriptingFactory === void 0 ? null : _ref$scriptingFactory, + _ref$docPropertiesLoo = _ref.docPropertiesLookup, + docPropertiesLookup = _ref$docPropertiesLoo === void 0 ? null : _ref$docPropertiesLoo; + + _classCallCheck(this, PDFScriptingManager); + + this._pdfDocument = null; + this._pdfViewer = null; + this._closeCapability = null; + this._destroyCapability = null; + this._scripting = null; + this._mouseState = Object.create(null); + this._ready = false; + this._eventBus = eventBus; + this._sandboxBundleSrc = sandboxBundleSrc; + this._scriptingFactory = scriptingFactory; + this._docPropertiesLookup = docPropertiesLookup; + } + + _createClass(PDFScriptingManager, [{ + key: "setViewer", + value: function setViewer(pdfViewer) { + this._pdfViewer = pdfViewer; + } + }, { + key: "setDocument", + value: function () { + var _setDocument = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pdfDocument) { + var _this = this, + _this$_scripting3; + + var _yield$Promise$all, _yield$Promise$all2, objects, calculationOrder, docActions, _iterator, _step, _step$value, name, listener, _iterator2, _step2, _step2$value, _name, _listener, docProperties; + + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!this._pdfDocument) { + _context2.next = 3; + break; + } + + _context2.next = 3; + return this._destroyScripting(); + + case 3: + this._pdfDocument = pdfDocument; + + if (pdfDocument) { + _context2.next = 6; + break; + } + + return _context2.abrupt("return"); + + case 6: + _context2.next = 8; + return Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]); + + case 8: + _yield$Promise$all = _context2.sent; + _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3); + objects = _yield$Promise$all2[0]; + calculationOrder = _yield$Promise$all2[1]; + docActions = _yield$Promise$all2[2]; + + if (!(!objects && !docActions)) { + _context2.next = 17; + break; + } + + _context2.next = 16; + return this._destroyScripting(); + + case 16: + return _context2.abrupt("return"); + + case 17: + if (!(pdfDocument !== this._pdfDocument)) { + _context2.next = 19; + break; + } + + return _context2.abrupt("return"); + + case 19: + _context2.prev = 19; + this._scripting = this._createScripting(); + _context2.next = 29; + break; + + case 23: + _context2.prev = 23; + _context2.t0 = _context2["catch"](19); + console.error("PDFScriptingManager.setDocument: \"".concat(_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message, "\".")); + _context2.next = 28; + return this._destroyScripting(); + + case 28: + return _context2.abrupt("return"); + + case 29: + this._internalEvents.set("updatefromsandbox", function (event) { + if ((event === null || event === void 0 ? void 0 : event.source) !== window) { + return; + } + + _this._updateFromSandbox(event.detail); + }); + + this._internalEvents.set("dispatcheventinsandbox", function (event) { + var _this$_scripting; + + (_this$_scripting = _this._scripting) === null || _this$_scripting === void 0 ? void 0 : _this$_scripting.dispatchEventInSandbox(event.detail); + }); + + this._internalEvents.set("pagechanging", function (_ref2) { + var pageNumber = _ref2.pageNumber, + previous = _ref2.previous; + + if (pageNumber === previous) { + return; + } + + _this._dispatchPageClose(previous); + + _this._dispatchPageOpen(pageNumber); + }); + + this._internalEvents.set("pagerendered", function (_ref3) { + var pageNumber = _ref3.pageNumber; + + if (!_this._pageOpenPending.has(pageNumber)) { + return; + } + + if (pageNumber !== _this._pdfViewer.currentPageNumber) { + return; + } + + _this._dispatchPageOpen(pageNumber); + }); + + this._internalEvents.set("pagesdestroy", /*#__PURE__*/function () { + var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(event) { + var _this$_scripting2, _this$_closeCapabilit; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return _this._dispatchPageClose(_this._pdfViewer.currentPageNumber); + + case 2: + _context.next = 4; + return (_this$_scripting2 = _this._scripting) === null || _this$_scripting2 === void 0 ? void 0 : _this$_scripting2.dispatchEventInSandbox({ + id: "doc", + name: "WillClose" + }); + + case 4: + (_this$_closeCapabilit = _this._closeCapability) === null || _this$_closeCapabilit === void 0 ? void 0 : _this$_closeCapabilit.resolve(); + + case 5: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + return function (_x2) { + return _ref4.apply(this, arguments); + }; + }()); + + this._domEvents.set("mousedown", function (event) { + _this._mouseState.isDown = true; + }); + + this._domEvents.set("mouseup", function (event) { + _this._mouseState.isDown = false; + }); + + _iterator = _createForOfIteratorHelper(this._internalEvents); + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + _step$value = _slicedToArray(_step.value, 2), name = _step$value[0], listener = _step$value[1]; + + this._eventBus._on(name, listener); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + _iterator2 = _createForOfIteratorHelper(this._domEvents); + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + _step2$value = _slicedToArray(_step2.value, 2), _name = _step2$value[0], _listener = _step2$value[1]; + window.addEventListener(_name, _listener, true); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + _context2.prev = 40; + _context2.next = 43; + return this._getDocProperties(); + + case 43: + docProperties = _context2.sent; + + if (!(pdfDocument !== this._pdfDocument)) { + _context2.next = 46; + break; + } + + return _context2.abrupt("return"); + + case 46: + _context2.next = 48; + return this._scripting.createSandbox({ + objects: objects, + calculationOrder: calculationOrder, + appInfo: { + platform: navigator.platform, + language: navigator.language + }, + docInfo: _objectSpread(_objectSpread({}, docProperties), {}, { + actions: docActions + }) + }); + + case 48: + this._eventBus.dispatch("sandboxcreated", { + source: this + }); + + _context2.next = 57; + break; + + case 51: + _context2.prev = 51; + _context2.t1 = _context2["catch"](40); + console.error("PDFScriptingManager.setDocument: \"".concat(_context2.t1 === null || _context2.t1 === void 0 ? void 0 : _context2.t1.message, "\".")); + _context2.next = 56; + return this._destroyScripting(); + + case 56: + return _context2.abrupt("return"); + + case 57: + _context2.next = 59; + return (_this$_scripting3 = this._scripting) === null || _this$_scripting3 === void 0 ? void 0 : _this$_scripting3.dispatchEventInSandbox({ + id: "doc", + name: "Open" + }); + + case 59: + _context2.next = 61; + return this._dispatchPageOpen(this._pdfViewer.currentPageNumber, true); + + case 61: + Promise.resolve().then(function () { + if (pdfDocument === _this._pdfDocument) { + _this._ready = true; + } + }); + + case 62: + case "end": + return _context2.stop(); + } + } + }, _callee2, this, [[19, 23], [40, 51]]); + })); + + function setDocument(_x) { + return _setDocument.apply(this, arguments); + } + + return setDocument; + }() + }, { + key: "dispatchWillSave", + value: function () { + var _dispatchWillSave = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(detail) { + var _this$_scripting4; + + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + return _context3.abrupt("return", (_this$_scripting4 = this._scripting) === null || _this$_scripting4 === void 0 ? void 0 : _this$_scripting4.dispatchEventInSandbox({ + id: "doc", + name: "WillSave" + })); + + case 1: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function dispatchWillSave(_x3) { + return _dispatchWillSave.apply(this, arguments); + } + + return dispatchWillSave; + }() + }, { + key: "dispatchDidSave", + value: function () { + var _dispatchDidSave = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(detail) { + var _this$_scripting5; + + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + return _context4.abrupt("return", (_this$_scripting5 = this._scripting) === null || _this$_scripting5 === void 0 ? void 0 : _this$_scripting5.dispatchEventInSandbox({ + id: "doc", + name: "DidSave" + })); + + case 1: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function dispatchDidSave(_x4) { + return _dispatchDidSave.apply(this, arguments); + } + + return dispatchDidSave; + }() + }, { + key: "dispatchWillPrint", + value: function () { + var _dispatchWillPrint = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(detail) { + var _this$_scripting6; + + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + return _context5.abrupt("return", (_this$_scripting6 = this._scripting) === null || _this$_scripting6 === void 0 ? void 0 : _this$_scripting6.dispatchEventInSandbox({ + id: "doc", + name: "WillPrint" + })); + + case 1: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function dispatchWillPrint(_x5) { + return _dispatchWillPrint.apply(this, arguments); + } + + return dispatchWillPrint; + }() + }, { + key: "dispatchDidPrint", + value: function () { + var _dispatchDidPrint = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6(detail) { + var _this$_scripting7; + + return _regenerator["default"].wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + return _context6.abrupt("return", (_this$_scripting7 = this._scripting) === null || _this$_scripting7 === void 0 ? void 0 : _this$_scripting7.dispatchEventInSandbox({ + id: "doc", + name: "DidPrint" + })); + + case 1: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function dispatchDidPrint(_x6) { + return _dispatchDidPrint.apply(this, arguments); + } + + return dispatchDidPrint; + }() + }, { + key: "mouseState", + get: function get() { + return this._mouseState; + } + }, { + key: "destroyPromise", + get: function get() { + var _this$_destroyCapabil; + + return ((_this$_destroyCapabil = this._destroyCapability) === null || _this$_destroyCapabil === void 0 ? void 0 : _this$_destroyCapabil.promise) || null; + } + }, { + key: "ready", + get: function get() { + return this._ready; + } + }, { + key: "_internalEvents", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "_internalEvents", new Map()); + } + }, { + key: "_domEvents", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "_domEvents", new Map()); + } + }, { + key: "_pageOpenPending", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "_pageOpenPending", new Set()); + } + }, { + key: "_visitedPages", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "_visitedPages", new Map()); + } + }, { + key: "_updateFromSandbox", + value: function () { + var _updateFromSandbox2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7(detail) { + var isInPresentationMode, id, siblings, command, value, modes, ids, _iterator3, _step3, elementId, element, _this$_pdfDocument; + + return _regenerator["default"].wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + isInPresentationMode = this._pdfViewer.isInPresentationMode || this._pdfViewer.isChangingPresentationMode; + id = detail.id, siblings = detail.siblings, command = detail.command, value = detail.value; + + if (id) { + _context7.next = 46; + break; + } + + _context7.t0 = command; + _context7.next = _context7.t0 === "clear" ? 6 : _context7.t0 === "error" ? 8 : _context7.t0 === "layout" ? 10 : _context7.t0 === "page-num" ? 15 : _context7.t0 === "print" ? 17 : _context7.t0 === "println" ? 21 : _context7.t0 === "zoom" ? 23 : _context7.t0 === "SaveAs" ? 27 : _context7.t0 === "FirstPage" ? 29 : _context7.t0 === "LastPage" ? 31 : _context7.t0 === "NextPage" ? 33 : _context7.t0 === "PrevPage" ? 35 : _context7.t0 === "ZoomViewIn" ? 37 : _context7.t0 === "ZoomViewOut" ? 41 : 45; + break; + + case 6: + console.clear(); + return _context7.abrupt("break", 45); + + case 8: + console.error(value); + return _context7.abrupt("break", 45); + + case 10: + if (!isInPresentationMode) { + _context7.next = 12; + break; + } + + return _context7.abrupt("return"); + + case 12: + modes = (0, _ui_utils.apiPageLayoutToViewerModes)(value); + this._pdfViewer.spreadMode = modes.spreadMode; + return _context7.abrupt("break", 45); + + case 15: + this._pdfViewer.currentPageNumber = value + 1; + return _context7.abrupt("break", 45); + + case 17: + _context7.next = 19; + return this._pdfViewer.pagesPromise; + + case 19: + this._eventBus.dispatch("print", { + source: this + }); + + return _context7.abrupt("break", 45); + + case 21: + console.log(value); + return _context7.abrupt("break", 45); + + case 23: + if (!isInPresentationMode) { + _context7.next = 25; + break; + } + + return _context7.abrupt("return"); + + case 25: + this._pdfViewer.currentScaleValue = value; + return _context7.abrupt("break", 45); + + case 27: + this._eventBus.dispatch("save", { + source: this + }); + + return _context7.abrupt("break", 45); + + case 29: + this._pdfViewer.currentPageNumber = 1; + return _context7.abrupt("break", 45); + + case 31: + this._pdfViewer.currentPageNumber = this._pdfViewer.pagesCount; + return _context7.abrupt("break", 45); + + case 33: + this._pdfViewer.nextPage(); + + return _context7.abrupt("break", 45); + + case 35: + this._pdfViewer.previousPage(); + + return _context7.abrupt("break", 45); + + case 37: + if (!isInPresentationMode) { + _context7.next = 39; + break; + } + + return _context7.abrupt("return"); + + case 39: + this._pdfViewer.increaseScale(); + + return _context7.abrupt("break", 45); + + case 41: + if (!isInPresentationMode) { + _context7.next = 43; + break; + } + + return _context7.abrupt("return"); + + case 43: + this._pdfViewer.decreaseScale(); + + return _context7.abrupt("break", 45); + + case 45: + return _context7.abrupt("return"); + + case 46: + if (!isInPresentationMode) { + _context7.next = 49; + break; + } + + if (!detail.focus) { + _context7.next = 49; + break; + } + + return _context7.abrupt("return"); + + case 49: + delete detail.id; + delete detail.siblings; + ids = siblings ? [id].concat(_toConsumableArray(siblings)) : [id]; + _iterator3 = _createForOfIteratorHelper(ids); + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + elementId = _step3.value; + element = document.getElementById(elementId); + + if (element) { + element.dispatchEvent(new CustomEvent("updatefromsandbox", { + detail: detail + })); + } else { + (_this$_pdfDocument = this._pdfDocument) === null || _this$_pdfDocument === void 0 ? void 0 : _this$_pdfDocument.annotationStorage.setValue(elementId, detail); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + case 54: + case "end": + return _context7.stop(); + } + } + }, _callee7, this); + })); + + function _updateFromSandbox(_x7) { + return _updateFromSandbox2.apply(this, arguments); + } + + return _updateFromSandbox; + }() + }, { + key: "_dispatchPageOpen", + value: function () { + var _dispatchPageOpen2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee9(pageNumber) { + var _this2 = this; + + var initialize, + pdfDocument, + visitedPages, + pageView, + actionsPromise, + _args9 = arguments; + return _regenerator["default"].wrap(function _callee9$(_context9) { + while (1) { + switch (_context9.prev = _context9.next) { + case 0: + initialize = _args9.length > 1 && _args9[1] !== undefined ? _args9[1] : false; + pdfDocument = this._pdfDocument, visitedPages = this._visitedPages; + + if (initialize) { + this._closeCapability = (0, _pdfjsLib.createPromiseCapability)(); + } + + if (this._closeCapability) { + _context9.next = 5; + break; + } + + return _context9.abrupt("return"); + + case 5: + pageView = this._pdfViewer.getPageView(pageNumber - 1); + + if (!((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) !== _ui_utils.RenderingStates.FINISHED)) { + _context9.next = 9; + break; + } + + this._pageOpenPending.add(pageNumber); + + return _context9.abrupt("return"); + + case 9: + this._pageOpenPending["delete"](pageNumber); + + actionsPromise = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee8() { + var _pageView$pdfPage, _this2$_scripting; + + var actions; + return _regenerator["default"].wrap(function _callee8$(_context8) { + while (1) { + switch (_context8.prev = _context8.next) { + case 0: + _context8.next = 2; + return !visitedPages.has(pageNumber) ? (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.getJSActions() : null; + + case 2: + actions = _context8.sent; + + if (!(pdfDocument !== _this2._pdfDocument)) { + _context8.next = 5; + break; + } + + return _context8.abrupt("return"); + + case 5: + _context8.next = 7; + return (_this2$_scripting = _this2._scripting) === null || _this2$_scripting === void 0 ? void 0 : _this2$_scripting.dispatchEventInSandbox({ + id: "page", + name: "PageOpen", + pageNumber: pageNumber, + actions: actions + }); + + case 7: + case "end": + return _context8.stop(); + } + } + }, _callee8); + }))(); + visitedPages.set(pageNumber, actionsPromise); + + case 12: + case "end": + return _context9.stop(); + } + } + }, _callee9, this); + })); + + function _dispatchPageOpen(_x8) { + return _dispatchPageOpen2.apply(this, arguments); + } + + return _dispatchPageOpen; + }() + }, { + key: "_dispatchPageClose", + value: function () { + var _dispatchPageClose2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee10(pageNumber) { + var _this$_scripting8; + + var pdfDocument, visitedPages, actionsPromise; + return _regenerator["default"].wrap(function _callee10$(_context10) { + while (1) { + switch (_context10.prev = _context10.next) { + case 0: + pdfDocument = this._pdfDocument, visitedPages = this._visitedPages; + + if (this._closeCapability) { + _context10.next = 3; + break; + } + + return _context10.abrupt("return"); + + case 3: + if (!this._pageOpenPending.has(pageNumber)) { + _context10.next = 5; + break; + } + + return _context10.abrupt("return"); + + case 5: + actionsPromise = visitedPages.get(pageNumber); + + if (actionsPromise) { + _context10.next = 8; + break; + } + + return _context10.abrupt("return"); + + case 8: + visitedPages.set(pageNumber, null); + _context10.next = 11; + return actionsPromise; + + case 11: + if (!(pdfDocument !== this._pdfDocument)) { + _context10.next = 13; + break; + } + + return _context10.abrupt("return"); + + case 13: + _context10.next = 15; + return (_this$_scripting8 = this._scripting) === null || _this$_scripting8 === void 0 ? void 0 : _this$_scripting8.dispatchEventInSandbox({ + id: "page", + name: "PageClose", + pageNumber: pageNumber + }); + + case 15: + case "end": + return _context10.stop(); + } + } + }, _callee10, this); + })); + + function _dispatchPageClose(_x9) { + return _dispatchPageClose2.apply(this, arguments); + } + + return _dispatchPageClose; + }() + }, { + key: "_getDocProperties", + value: function () { + var _getDocProperties2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee11() { + return _regenerator["default"].wrap(function _callee11$(_context11) { + while (1) { + switch (_context11.prev = _context11.next) { + case 0: + if (!this._docPropertiesLookup) { + _context11.next = 2; + break; + } + + return _context11.abrupt("return", this._docPropertiesLookup(this._pdfDocument)); + + case 2: + throw new Error("_getDocProperties: Unable to lookup properties."); + + case 3: + case "end": + return _context11.stop(); + } + } + }, _callee11, this); + })); + + function _getDocProperties() { + return _getDocProperties2.apply(this, arguments); + } + + return _getDocProperties; + }() + }, { + key: "_createScripting", + value: function _createScripting() { + this._destroyCapability = (0, _pdfjsLib.createPromiseCapability)(); + + if (this._scripting) { + throw new Error("_createScripting: Scripting already exists."); + } + + if (this._scriptingFactory) { + return this._scriptingFactory.createScripting({ + sandboxBundleSrc: this._sandboxBundleSrc + }); + } + + throw new Error("_createScripting: Cannot create scripting."); + } + }, { + key: "_destroyScripting", + value: function () { + var _destroyScripting2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee12() { + var _this$_destroyCapabil3; + + var _this$_destroyCapabil2, _iterator4, _step4, _step4$value, name, listener, _iterator5, _step5, _step5$value, _name2, _listener2; + + return _regenerator["default"].wrap(function _callee12$(_context12) { + while (1) { + switch (_context12.prev = _context12.next) { + case 0: + if (this._scripting) { + _context12.next = 4; + break; + } + + this._pdfDocument = null; + (_this$_destroyCapabil2 = this._destroyCapability) === null || _this$_destroyCapabil2 === void 0 ? void 0 : _this$_destroyCapabil2.resolve(); + return _context12.abrupt("return"); + + case 4: + if (!this._closeCapability) { + _context12.next = 8; + break; + } + + _context12.next = 7; + return Promise.race([this._closeCapability.promise, new Promise(function (resolve) { + setTimeout(resolve, 1000); + })])["catch"](function (reason) {}); + + case 7: + this._closeCapability = null; + + case 8: + this._pdfDocument = null; + _context12.prev = 9; + _context12.next = 12; + return this._scripting.destroySandbox(); + + case 12: + _context12.next = 16; + break; + + case 14: + _context12.prev = 14; + _context12.t0 = _context12["catch"](9); + + case 16: + _iterator4 = _createForOfIteratorHelper(this._internalEvents); + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + _step4$value = _slicedToArray(_step4.value, 2), name = _step4$value[0], listener = _step4$value[1]; + + this._eventBus._off(name, listener); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._internalEvents.clear(); + + _iterator5 = _createForOfIteratorHelper(this._domEvents); + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + _step5$value = _slicedToArray(_step5.value, 2), _name2 = _step5$value[0], _listener2 = _step5$value[1]; + window.removeEventListener(_name2, _listener2, true); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this._domEvents.clear(); + + this._pageOpenPending.clear(); + + this._visitedPages.clear(); + + this._scripting = null; + delete this._mouseState.isDown; + this._ready = false; + (_this$_destroyCapabil3 = this._destroyCapability) === null || _this$_destroyCapabil3 === void 0 ? void 0 : _this$_destroyCapabil3.resolve(); + + case 28: + case "end": + return _context12.stop(); + } + } + }, _callee12, this, [[9, 14]]); + })); + + function _destroyScripting() { + return _destroyScripting2.apply(this, arguments); + } + + return _destroyScripting; + }() + }]); + + return PDFScriptingManager; +}(); + +exports.PDFScriptingManager = PDFScriptingManager; + +/***/ }), +/* 26 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFSidebar = void 0; + +var _ui_utils = __webpack_require__(5); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var UI_NOTIFICATION_CLASS = "pdfSidebarNotification"; + +var PDFSidebar = /*#__PURE__*/function () { + function PDFSidebar(_ref) { + var elements = _ref.elements, + pdfViewer = _ref.pdfViewer, + pdfThumbnailViewer = _ref.pdfThumbnailViewer, + eventBus = _ref.eventBus, + l10n = _ref.l10n; + + _classCallCheck(this, PDFSidebar); + + this.isOpen = false; + this.active = _ui_utils.SidebarView.THUMBS; + this.isInitialViewSet = false; + this.onToggled = null; + this.pdfViewer = pdfViewer; + this.pdfThumbnailViewer = pdfThumbnailViewer; + this.outerContainer = elements.outerContainer; + this.sidebarContainer = elements.sidebarContainer; + this.toggleButton = elements.toggleButton; + this.thumbnailButton = elements.thumbnailButton; + this.outlineButton = elements.outlineButton; + this.attachmentsButton = elements.attachmentsButton; + this.layersButton = elements.layersButton; + this.thumbnailView = elements.thumbnailView; + this.outlineView = elements.outlineView; + this.attachmentsView = elements.attachmentsView; + this.layersView = elements.layersView; + this._outlineOptionsContainer = elements.outlineOptionsContainer; + this._currentOutlineItemButton = elements.currentOutlineItemButton; + this.eventBus = eventBus; + this.l10n = l10n; + + this._addEventListeners(); + } + + _createClass(PDFSidebar, [{ + key: "reset", + value: function reset() { + this.isInitialViewSet = false; + + this._hideUINotification(true); + + this.switchView(_ui_utils.SidebarView.THUMBS); + this.outlineButton.disabled = false; + this.attachmentsButton.disabled = false; + this.layersButton.disabled = false; + this._currentOutlineItemButton.disabled = true; + } + }, { + key: "visibleView", + get: function get() { + return this.isOpen ? this.active : _ui_utils.SidebarView.NONE; + } + }, { + key: "isThumbnailViewVisible", + get: function get() { + return this.isOpen && this.active === _ui_utils.SidebarView.THUMBS; + } + }, { + key: "isOutlineViewVisible", + get: function get() { + return this.isOpen && this.active === _ui_utils.SidebarView.OUTLINE; + } + }, { + key: "isAttachmentsViewVisible", + get: function get() { + return this.isOpen && this.active === _ui_utils.SidebarView.ATTACHMENTS; + } + }, { + key: "isLayersViewVisible", + get: function get() { + return this.isOpen && this.active === _ui_utils.SidebarView.LAYERS; + } + }, { + key: "setInitialView", + value: function setInitialView() { + var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _ui_utils.SidebarView.NONE; + + if (this.isInitialViewSet) { + return; + } + + this.isInitialViewSet = true; + + if (view === _ui_utils.SidebarView.NONE || view === _ui_utils.SidebarView.UNKNOWN) { + this._dispatchEvent(); + + return; + } + + if (!this._switchView(view, true)) { + this._dispatchEvent(); + } + } + }, { + key: "switchView", + value: function switchView(view) { + var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + this._switchView(view, forceOpen); + } + }, { + key: "_switchView", + value: function _switchView(view) { + var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var isViewChanged = view !== this.active; + var shouldForceRendering = false; + + switch (view) { + case _ui_utils.SidebarView.NONE: + if (this.isOpen) { + this.close(); + return true; + } + + return false; + + case _ui_utils.SidebarView.THUMBS: + if (this.isOpen && isViewChanged) { + shouldForceRendering = true; + } + + break; + + case _ui_utils.SidebarView.OUTLINE: + if (this.outlineButton.disabled) { + return false; + } + + break; + + case _ui_utils.SidebarView.ATTACHMENTS: + if (this.attachmentsButton.disabled) { + return false; + } + + break; + + case _ui_utils.SidebarView.LAYERS: + if (this.layersButton.disabled) { + return false; + } + + break; + + default: + console.error("PDFSidebar._switchView: \"".concat(view, "\" is not a valid view.")); + return false; + } + + this.active = view; + var isThumbs = view === _ui_utils.SidebarView.THUMBS, + isOutline = view === _ui_utils.SidebarView.OUTLINE, + isAttachments = view === _ui_utils.SidebarView.ATTACHMENTS, + isLayers = view === _ui_utils.SidebarView.LAYERS; + this.thumbnailButton.classList.toggle("toggled", isThumbs); + this.outlineButton.classList.toggle("toggled", isOutline); + this.attachmentsButton.classList.toggle("toggled", isAttachments); + this.layersButton.classList.toggle("toggled", isLayers); + this.thumbnailButton.setAttribute("aria-checked", isThumbs); + this.outlineButton.setAttribute("aria-checked", isOutline); + this.attachmentsButton.setAttribute("aria-checked", isAttachments); + this.layersButton.setAttribute("aria-checked", isLayers); + this.thumbnailView.classList.toggle("hidden", !isThumbs); + this.outlineView.classList.toggle("hidden", !isOutline); + this.attachmentsView.classList.toggle("hidden", !isAttachments); + this.layersView.classList.toggle("hidden", !isLayers); + + this._outlineOptionsContainer.classList.toggle("hidden", !isOutline); + + if (forceOpen && !this.isOpen) { + this.open(); + return true; + } + + if (shouldForceRendering) { + this._updateThumbnailViewer(); + + this._forceRendering(); + } + + if (isViewChanged) { + this._dispatchEvent(); + } + + return isViewChanged; + } + }, { + key: "open", + value: function open() { + if (this.isOpen) { + return; + } + + this.isOpen = true; + this.toggleButton.classList.add("toggled"); + this.toggleButton.setAttribute("aria-expanded", "true"); + this.outerContainer.classList.add("sidebarMoving", "sidebarOpen"); + + if (this.active === _ui_utils.SidebarView.THUMBS) { + this._updateThumbnailViewer(); + } + + this._forceRendering(); + + this._dispatchEvent(); + + this._hideUINotification(); + } + }, { + key: "close", + value: function close() { + if (!this.isOpen) { + return; + } + + this.isOpen = false; + this.toggleButton.classList.remove("toggled"); + this.toggleButton.setAttribute("aria-expanded", "false"); + this.outerContainer.classList.add("sidebarMoving"); + this.outerContainer.classList.remove("sidebarOpen"); + + this._forceRendering(); + + this._dispatchEvent(); + } + }, { + key: "toggle", + value: function toggle() { + if (this.isOpen) { + this.close(); + } else { + this.open(); + } + } + }, { + key: "_dispatchEvent", + value: function _dispatchEvent() { + this.eventBus.dispatch("sidebarviewchanged", { + source: this, + view: this.visibleView + }); + } + }, { + key: "_forceRendering", + value: function _forceRendering() { + if (this.onToggled) { + this.onToggled(); + } else { + this.pdfViewer.forceRendering(); + this.pdfThumbnailViewer.forceRendering(); + } + } + }, { + key: "_updateThumbnailViewer", + value: function _updateThumbnailViewer() { + var pdfViewer = this.pdfViewer, + pdfThumbnailViewer = this.pdfThumbnailViewer; + var pagesCount = pdfViewer.pagesCount; + + for (var pageIndex = 0; pageIndex < pagesCount; pageIndex++) { + var pageView = pdfViewer.getPageView(pageIndex); + + if ((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) === _ui_utils.RenderingStates.FINISHED) { + var thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex); + thumbnailView.setImage(pageView); + } + } + + pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber); + } + }, { + key: "_showUINotification", + value: function _showUINotification() { + var _this = this; + + this.l10n.get("toggle_sidebar_notification2.title").then(function (msg) { + _this.toggleButton.title = msg; + }); + + if (!this.isOpen) { + this.toggleButton.classList.add(UI_NOTIFICATION_CLASS); + } + } + }, { + key: "_hideUINotification", + value: function _hideUINotification() { + var _this2 = this; + + var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (this.isOpen || reset) { + this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS); + } + + if (reset) { + this.l10n.get("toggle_sidebar.title").then(function (msg) { + _this2.toggleButton.title = msg; + }); + } + } + }, { + key: "_addEventListeners", + value: function _addEventListeners() { + var _this3 = this; + + this.sidebarContainer.addEventListener("transitionend", function (evt) { + if (evt.target === _this3.sidebarContainer) { + _this3.outerContainer.classList.remove("sidebarMoving"); + } + }); + this.toggleButton.addEventListener("click", function () { + _this3.toggle(); + }); + this.thumbnailButton.addEventListener("click", function () { + _this3.switchView(_ui_utils.SidebarView.THUMBS); + }); + this.outlineButton.addEventListener("click", function () { + _this3.switchView(_ui_utils.SidebarView.OUTLINE); + }); + this.outlineButton.addEventListener("dblclick", function () { + _this3.eventBus.dispatch("toggleoutlinetree", { + source: _this3 + }); + }); + this.attachmentsButton.addEventListener("click", function () { + _this3.switchView(_ui_utils.SidebarView.ATTACHMENTS); + }); + this.layersButton.addEventListener("click", function () { + _this3.switchView(_ui_utils.SidebarView.LAYERS); + }); + this.layersButton.addEventListener("dblclick", function () { + _this3.eventBus.dispatch("resetlayers", { + source: _this3 + }); + }); + + this._currentOutlineItemButton.addEventListener("click", function () { + _this3.eventBus.dispatch("currentoutlineitem", { + source: _this3 + }); + }); + + var onTreeLoaded = function onTreeLoaded(count, button, view) { + button.disabled = !count; + + if (count) { + _this3._showUINotification(); + } else if (_this3.active === view) { + _this3.switchView(_ui_utils.SidebarView.THUMBS); + } + }; + + this.eventBus._on("outlineloaded", function (evt) { + onTreeLoaded(evt.outlineCount, _this3.outlineButton, _ui_utils.SidebarView.OUTLINE); + evt.currentOutlineItemPromise.then(function (enabled) { + if (!_this3.isInitialViewSet) { + return; + } + + _this3._currentOutlineItemButton.disabled = !enabled; + }); + }); + + this.eventBus._on("attachmentsloaded", function (evt) { + onTreeLoaded(evt.attachmentsCount, _this3.attachmentsButton, _ui_utils.SidebarView.ATTACHMENTS); + }); + + this.eventBus._on("layersloaded", function (evt) { + onTreeLoaded(evt.layersCount, _this3.layersButton, _ui_utils.SidebarView.LAYERS); + }); + + this.eventBus._on("presentationmodechanged", function (evt) { + if (evt.state === _ui_utils.PresentationModeState.NORMAL && _this3.isThumbnailViewVisible) { + _this3._updateThumbnailViewer(); + } + }); + } + }]); + + return PDFSidebar; +}(); + +exports.PDFSidebar = PDFSidebar; + +/***/ }), +/* 27 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFSidebarResizer = void 0; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var SIDEBAR_WIDTH_VAR = "--sidebar-width"; +var SIDEBAR_MIN_WIDTH = 200; +var SIDEBAR_RESIZING_CLASS = "sidebarResizing"; + +var PDFSidebarResizer = /*#__PURE__*/function () { + function PDFSidebarResizer(options, eventBus, l10n) { + var _this = this; + + _classCallCheck(this, PDFSidebarResizer); + + this.isRTL = false; + this.sidebarOpen = false; + this.doc = document.documentElement; + this._width = null; + this._outerContainerWidth = null; + this._boundEvents = Object.create(null); + this.outerContainer = options.outerContainer; + this.resizer = options.resizer; + this.eventBus = eventBus; + l10n.getDirection().then(function (dir) { + _this.isRTL = dir === "rtl"; + }); + + this._addEventListeners(); + } + + _createClass(PDFSidebarResizer, [{ + key: "outerContainerWidth", + get: function get() { + return this._outerContainerWidth || (this._outerContainerWidth = this.outerContainer.clientWidth); + } + }, { + key: "_updateWidth", + value: function _updateWidth() { + var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var maxWidth = Math.floor(this.outerContainerWidth / 2); + + if (width > maxWidth) { + width = maxWidth; + } + + if (width < SIDEBAR_MIN_WIDTH) { + width = SIDEBAR_MIN_WIDTH; + } + + if (width === this._width) { + return false; + } + + this._width = width; + this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, "".concat(width, "px")); + return true; + } + }, { + key: "_mouseMove", + value: function _mouseMove(evt) { + var width = evt.clientX; + + if (this.isRTL) { + width = this.outerContainerWidth - width; + } + + this._updateWidth(width); + } + }, { + key: "_mouseUp", + value: function _mouseUp(evt) { + this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS); + this.eventBus.dispatch("resize", { + source: this + }); + var _boundEvents = this._boundEvents; + window.removeEventListener("mousemove", _boundEvents.mouseMove); + window.removeEventListener("mouseup", _boundEvents.mouseUp); + } + }, { + key: "_addEventListeners", + value: function _addEventListeners() { + var _this2 = this; + + var _boundEvents = this._boundEvents; + _boundEvents.mouseMove = this._mouseMove.bind(this); + _boundEvents.mouseUp = this._mouseUp.bind(this); + this.resizer.addEventListener("mousedown", function (evt) { + if (evt.button !== 0) { + return; + } + + _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS); + + window.addEventListener("mousemove", _boundEvents.mouseMove); + window.addEventListener("mouseup", _boundEvents.mouseUp); + }); + + this.eventBus._on("sidebarviewchanged", function (evt) { + _this2.sidebarOpen = !!(evt !== null && evt !== void 0 && evt.view); + }); + + this.eventBus._on("resize", function (evt) { + if ((evt === null || evt === void 0 ? void 0 : evt.source) !== window) { + return; + } + + _this2._outerContainerWidth = null; + + if (!_this2._width) { + return; + } + + if (!_this2.sidebarOpen) { + _this2._updateWidth(_this2._width); + + return; + } + + _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS); + + var updated = _this2._updateWidth(_this2._width); + + Promise.resolve().then(function () { + _this2.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS); + + if (updated) { + _this2.eventBus.dispatch("resize", { + source: _this2 + }); + } + }); + }); + } + }]); + + return PDFSidebarResizer; +}(); + +exports.PDFSidebarResizer = PDFSidebarResizer; + +/***/ }), +/* 28 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFThumbnailViewer = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _ui_utils = __webpack_require__(5); + +var _pdf_thumbnail_view = __webpack_require__(29); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +var THUMBNAIL_SCROLL_MARGIN = -19; +var THUMBNAIL_SELECTED_CLASS = "selected"; + +var _ensurePdfPageLoaded = /*#__PURE__*/new WeakSet(); + +var _getScrollAhead = /*#__PURE__*/new WeakSet(); + +var PDFThumbnailViewer = /*#__PURE__*/function () { + function PDFThumbnailViewer(_ref) { + var _this = this; + + var container = _ref.container, + eventBus = _ref.eventBus, + linkService = _ref.linkService, + renderingQueue = _ref.renderingQueue, + l10n = _ref.l10n; + + _classCallCheck(this, PDFThumbnailViewer); + + _classPrivateMethodInitSpec(this, _getScrollAhead); + + _classPrivateMethodInitSpec(this, _ensurePdfPageLoaded); + + this.container = container; + this.linkService = linkService; + this.renderingQueue = renderingQueue; + this.l10n = l10n; + this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this)); + + this._resetView(); + + eventBus._on("optionalcontentconfigchanged", function () { + _this._setImageDisabled = true; + }); + } + + _createClass(PDFThumbnailViewer, [{ + key: "_scrollUpdated", + value: function _scrollUpdated() { + this.renderingQueue.renderHighestPriority(); + } + }, { + key: "getThumbnail", + value: function getThumbnail(index) { + return this._thumbnails[index]; + } + }, { + key: "_getVisibleThumbs", + value: function _getVisibleThumbs() { + return (0, _ui_utils.getVisibleElements)({ + scrollEl: this.container, + views: this._thumbnails + }); + } + }, { + key: "scrollThumbnailIntoView", + value: function scrollThumbnailIntoView(pageNumber) { + if (!this.pdfDocument) { + return; + } + + var thumbnailView = this._thumbnails[pageNumber - 1]; + + if (!thumbnailView) { + console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.'); + return; + } + + if (pageNumber !== this._currentPageNumber) { + var prevThumbnailView = this._thumbnails[this._currentPageNumber - 1]; + prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS); + thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS); + } + + var _this$_getVisibleThum = this._getVisibleThumbs(), + first = _this$_getVisibleThum.first, + last = _this$_getVisibleThum.last, + views = _this$_getVisibleThum.views; + + if (views.length > 0) { + var shouldScroll = false; + + if (pageNumber <= first.id || pageNumber >= last.id) { + shouldScroll = true; + } else { + var _iterator = _createForOfIteratorHelper(views), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _step.value, + id = _step$value.id, + percent = _step$value.percent; + + if (id !== pageNumber) { + continue; + } + + shouldScroll = percent < 100; + break; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + if (shouldScroll) { + (0, _ui_utils.scrollIntoView)(thumbnailView.div, { + top: THUMBNAIL_SCROLL_MARGIN + }); + } + } + + this._currentPageNumber = pageNumber; + } + }, { + key: "pagesRotation", + get: function get() { + return this._pagesRotation; + }, + set: function set(rotation) { + if (!(0, _ui_utils.isValidRotation)(rotation)) { + throw new Error("Invalid thumbnails rotation angle."); + } + + if (!this.pdfDocument) { + return; + } + + if (this._pagesRotation === rotation) { + return; + } + + this._pagesRotation = rotation; + var updateArgs = { + rotation: rotation + }; + + var _iterator2 = _createForOfIteratorHelper(this._thumbnails), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var thumbnail = _step2.value; + thumbnail.update(updateArgs); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + }, { + key: "cleanup", + value: function cleanup() { + var _iterator3 = _createForOfIteratorHelper(this._thumbnails), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var thumbnail = _step3.value; + + if (thumbnail.renderingState !== _ui_utils.RenderingStates.FINISHED) { + thumbnail.reset(); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + _pdf_thumbnail_view.TempImageFactory.destroyCanvas(); + } + }, { + key: "_resetView", + value: function _resetView() { + this._thumbnails = []; + this._currentPageNumber = 1; + this._pageLabels = null; + this._pagesRotation = 0; + this._optionalContentConfigPromise = null; + this._setImageDisabled = false; + this.container.textContent = ""; + } + }, { + key: "setDocument", + value: function setDocument(pdfDocument) { + var _this2 = this; + + if (this.pdfDocument) { + this._cancelRendering(); + + this._resetView(); + } + + this.pdfDocument = pdfDocument; + + if (!pdfDocument) { + return; + } + + var firstPagePromise = pdfDocument.getPage(1); + var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig(); + firstPagePromise.then(function (firstPdfPage) { + _this2._optionalContentConfigPromise = optionalContentConfigPromise; + var pagesCount = pdfDocument.numPages; + var viewport = firstPdfPage.getViewport({ + scale: 1 + }); + + var checkSetImageDisabled = function checkSetImageDisabled() { + return _this2._setImageDisabled; + }; + + for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) { + var thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({ + container: _this2.container, + id: pageNum, + defaultViewport: viewport.clone(), + optionalContentConfigPromise: optionalContentConfigPromise, + linkService: _this2.linkService, + renderingQueue: _this2.renderingQueue, + checkSetImageDisabled: checkSetImageDisabled, + l10n: _this2.l10n + }); + + _this2._thumbnails.push(thumbnail); + } + + var firstThumbnailView = _this2._thumbnails[0]; + + if (firstThumbnailView) { + firstThumbnailView.setPdfPage(firstPdfPage); + } + + var thumbnailView = _this2._thumbnails[_this2._currentPageNumber - 1]; + thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS); + })["catch"](function (reason) { + console.error("Unable to initialize thumbnail viewer", reason); + }); + } + }, { + key: "_cancelRendering", + value: function _cancelRendering() { + var _iterator4 = _createForOfIteratorHelper(this._thumbnails), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var thumbnail = _step4.value; + thumbnail.cancelRendering(); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + }, { + key: "setPageLabels", + value: function setPageLabels(labels) { + if (!this.pdfDocument) { + return; + } + + if (!labels) { + this._pageLabels = null; + } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) { + this._pageLabels = null; + console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels."); + } else { + this._pageLabels = labels; + } + + for (var i = 0, ii = this._thumbnails.length; i < ii; i++) { + var _this$_pageLabels$i, _this$_pageLabels; + + this._thumbnails[i].setPageLabel((_this$_pageLabels$i = (_this$_pageLabels = this._pageLabels) === null || _this$_pageLabels === void 0 ? void 0 : _this$_pageLabels[i]) !== null && _this$_pageLabels$i !== void 0 ? _this$_pageLabels$i : null); + } + } + }, { + key: "forceRendering", + value: function forceRendering() { + var _this3 = this; + + var visibleThumbs = this._getVisibleThumbs(); + + var scrollAhead = _classPrivateMethodGet(this, _getScrollAhead, _getScrollAhead2).call(this, visibleThumbs); + + var thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, scrollAhead); + + if (thumbView) { + _classPrivateMethodGet(this, _ensurePdfPageLoaded, _ensurePdfPageLoaded2).call(this, thumbView).then(function () { + _this3.renderingQueue.renderView(thumbView); + }); + + return true; + } + + return false; + } + }]); + + return PDFThumbnailViewer; +}(); + +exports.PDFThumbnailViewer = PDFThumbnailViewer; + +function _ensurePdfPageLoaded2(_x) { + return _ensurePdfPageLoaded3.apply(this, arguments); +} + +function _ensurePdfPageLoaded3() { + _ensurePdfPageLoaded3 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(thumbView) { + var pdfPage; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!thumbView.pdfPage) { + _context.next = 2; + break; + } + + return _context.abrupt("return", thumbView.pdfPage); + + case 2: + _context.prev = 2; + _context.next = 5; + return this.pdfDocument.getPage(thumbView.id); + + case 5: + pdfPage = _context.sent; + + if (!thumbView.pdfPage) { + thumbView.setPdfPage(pdfPage); + } + + return _context.abrupt("return", pdfPage); + + case 10: + _context.prev = 10; + _context.t0 = _context["catch"](2); + console.error("Unable to get page for thumb view", _context.t0); + return _context.abrupt("return", null); + + case 14: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[2, 10]]); + })); + return _ensurePdfPageLoaded3.apply(this, arguments); +} + +function _getScrollAhead2(visible) { + var _visible$first, _visible$last; + + if (((_visible$first = visible.first) === null || _visible$first === void 0 ? void 0 : _visible$first.id) === 1) { + return true; + } else if (((_visible$last = visible.last) === null || _visible$last === void 0 ? void 0 : _visible$last.id) === this._thumbnails.length) { + return false; + } + + return this.scroll.down; +} + +/***/ }), +/* 29 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TempImageFactory = exports.PDFThumbnailView = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _ui_utils = __webpack_require__(5); + +var _pdfjsLib = __webpack_require__(7); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classCheckPrivateStaticFieldDescriptor(descriptor, action) { if (descriptor === undefined) { throw new TypeError("attempted to " + action + " private static field before its declaration"); } } + +function _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError("Private static access of wrong provenance"); } } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +var DRAW_UPSCALE_FACTOR = 2; +var MAX_NUM_SCALING_STEPS = 3; +var THUMBNAIL_CANVAS_BORDER_WIDTH = 1; +var THUMBNAIL_WIDTH = 98; + +var TempImageFactory = /*#__PURE__*/function () { + function TempImageFactory() { + _classCallCheck(this, TempImageFactory); + } + + _createClass(TempImageFactory, null, [{ + key: "getCanvas", + value: function getCanvas(width, height) { + var tempCanvas = _classStaticPrivateFieldSpecGet(this, TempImageFactory, _tempCanvas) || _classStaticPrivateFieldSpecSet(this, TempImageFactory, _tempCanvas, document.createElement("canvas")); + + tempCanvas.width = width; + tempCanvas.height = height; + var ctx = tempCanvas.getContext("2d", { + alpha: false + }); + ctx.save(); + ctx.fillStyle = "rgb(255, 255, 255)"; + ctx.fillRect(0, 0, width, height); + ctx.restore(); + return [tempCanvas, tempCanvas.getContext("2d")]; + } + }, { + key: "destroyCanvas", + value: function destroyCanvas() { + var tempCanvas = _classStaticPrivateFieldSpecGet(this, TempImageFactory, _tempCanvas); + + if (tempCanvas) { + tempCanvas.width = 0; + tempCanvas.height = 0; + } + + _classStaticPrivateFieldSpecSet(this, TempImageFactory, _tempCanvas, null); + } + }]); + + return TempImageFactory; +}(); + +exports.TempImageFactory = TempImageFactory; +var _tempCanvas = { + writable: true, + value: null +}; + +var PDFThumbnailView = /*#__PURE__*/function () { + function PDFThumbnailView(_ref) { + var container = _ref.container, + id = _ref.id, + defaultViewport = _ref.defaultViewport, + optionalContentConfigPromise = _ref.optionalContentConfigPromise, + linkService = _ref.linkService, + renderingQueue = _ref.renderingQueue, + checkSetImageDisabled = _ref.checkSetImageDisabled, + l10n = _ref.l10n; + + _classCallCheck(this, PDFThumbnailView); + + this.id = id; + this.renderingId = "thumbnail" + id; + this.pageLabel = null; + this.pdfPage = null; + this.rotation = 0; + this.viewport = defaultViewport; + this.pdfPageRotate = defaultViewport.rotation; + this._optionalContentConfigPromise = optionalContentConfigPromise || null; + this.linkService = linkService; + this.renderingQueue = renderingQueue; + this.renderTask = null; + this.renderingState = _ui_utils.RenderingStates.INITIAL; + this.resume = null; + + this._checkSetImageDisabled = checkSetImageDisabled || function () { + return false; + }; + + var pageWidth = this.viewport.width, + pageHeight = this.viewport.height, + pageRatio = pageWidth / pageHeight; + this.canvasWidth = THUMBNAIL_WIDTH; + this.canvasHeight = this.canvasWidth / pageRatio | 0; + this.scale = this.canvasWidth / pageWidth; + this.l10n = l10n; + var anchor = document.createElement("a"); + anchor.href = linkService.getAnchorUrl("#page=" + id); + + this._thumbPageTitle.then(function (msg) { + anchor.title = msg; + }); + + anchor.onclick = function () { + linkService.goToPage(id); + return false; + }; + + this.anchor = anchor; + var div = document.createElement("div"); + div.className = "thumbnail"; + div.setAttribute("data-page-number", this.id); + this.div = div; + var ring = document.createElement("div"); + ring.className = "thumbnailSelectionRing"; + var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH; + ring.style.width = this.canvasWidth + borderAdjustment + "px"; + ring.style.height = this.canvasHeight + borderAdjustment + "px"; + this.ring = ring; + div.appendChild(ring); + anchor.appendChild(div); + container.appendChild(anchor); + } + + _createClass(PDFThumbnailView, [{ + key: "setPdfPage", + value: function setPdfPage(pdfPage) { + this.pdfPage = pdfPage; + this.pdfPageRotate = pdfPage.rotate; + var totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = pdfPage.getViewport({ + scale: 1, + rotation: totalRotation + }); + this.reset(); + } + }, { + key: "reset", + value: function reset() { + this.cancelRendering(); + this.renderingState = _ui_utils.RenderingStates.INITIAL; + var pageWidth = this.viewport.width, + pageHeight = this.viewport.height, + pageRatio = pageWidth / pageHeight; + this.canvasHeight = this.canvasWidth / pageRatio | 0; + this.scale = this.canvasWidth / pageWidth; + this.div.removeAttribute("data-loaded"); + var ring = this.ring; + ring.textContent = ""; + var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH; + ring.style.width = this.canvasWidth + borderAdjustment + "px"; + ring.style.height = this.canvasHeight + borderAdjustment + "px"; + + if (this.canvas) { + this.canvas.width = 0; + this.canvas.height = 0; + delete this.canvas; + } + + if (this.image) { + this.image.removeAttribute("src"); + delete this.image; + } + } + }, { + key: "update", + value: function update(_ref2) { + var _ref2$rotation = _ref2.rotation, + rotation = _ref2$rotation === void 0 ? null : _ref2$rotation; + + if (typeof rotation === "number") { + this.rotation = rotation; + } + + var totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = this.viewport.clone({ + scale: 1, + rotation: totalRotation + }); + this.reset(); + } + }, { + key: "cancelRendering", + value: function cancelRendering() { + if (this.renderTask) { + this.renderTask.cancel(); + this.renderTask = null; + } + + this.resume = null; + } + }, { + key: "_getPageDrawContext", + value: function _getPageDrawContext() { + var upscaleFactor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; + var canvas = document.createElement("canvas"); + var ctx = canvas.getContext("2d", { + alpha: false + }); + var outputScale = new _ui_utils.OutputScale(); + canvas.width = upscaleFactor * this.canvasWidth * outputScale.sx | 0; + canvas.height = upscaleFactor * this.canvasHeight * outputScale.sy | 0; + var transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null; + return { + ctx: ctx, + canvas: canvas, + transform: transform + }; + } + }, { + key: "_convertCanvasToImage", + value: function _convertCanvasToImage(canvas) { + if (this.renderingState !== _ui_utils.RenderingStates.FINISHED) { + throw new Error("_convertCanvasToImage: Rendering has not finished."); + } + + var reducedCanvas = this._reduceImage(canvas); + + var image = document.createElement("img"); + image.className = "thumbnailImage"; + + this._thumbPageCanvas.then(function (msg) { + image.setAttribute("aria-label", msg); + }); + + image.style.width = this.canvasWidth + "px"; + image.style.height = this.canvasHeight + "px"; + image.src = reducedCanvas.toDataURL(); + this.image = image; + this.div.setAttribute("data-loaded", true); + this.ring.appendChild(image); + reducedCanvas.width = 0; + reducedCanvas.height = 0; + } + }, { + key: "draw", + value: function draw() { + var _this = this; + + if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) { + console.error("Must be in new state before drawing"); + return Promise.resolve(); + } + + var pdfPage = this.pdfPage; + + if (!pdfPage) { + this.renderingState = _ui_utils.RenderingStates.FINISHED; + return Promise.reject(new Error("pdfPage is not loaded")); + } + + this.renderingState = _ui_utils.RenderingStates.RUNNING; + + var finishRenderTask = /*#__PURE__*/function () { + var _ref3 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var error, + _args = arguments; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + error = _args.length > 0 && _args[0] !== undefined ? _args[0] : null; + + if (renderTask === _this.renderTask) { + _this.renderTask = null; + } + + if (!(error instanceof _pdfjsLib.RenderingCancelledException)) { + _context.next = 4; + break; + } + + return _context.abrupt("return"); + + case 4: + _this.renderingState = _ui_utils.RenderingStates.FINISHED; + + _this._convertCanvasToImage(canvas); + + if (!error) { + _context.next = 8; + break; + } + + throw error; + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + return function finishRenderTask() { + return _ref3.apply(this, arguments); + }; + }(); + + var _this$_getPageDrawCon = this._getPageDrawContext(DRAW_UPSCALE_FACTOR), + ctx = _this$_getPageDrawCon.ctx, + canvas = _this$_getPageDrawCon.canvas, + transform = _this$_getPageDrawCon.transform; + + var drawViewport = this.viewport.clone({ + scale: DRAW_UPSCALE_FACTOR * this.scale + }); + + var renderContinueCallback = function renderContinueCallback(cont) { + if (!_this.renderingQueue.isHighestPriority(_this)) { + _this.renderingState = _ui_utils.RenderingStates.PAUSED; + + _this.resume = function () { + _this.renderingState = _ui_utils.RenderingStates.RUNNING; + cont(); + }; + + return; + } + + cont(); + }; + + var renderContext = { + canvasContext: ctx, + transform: transform, + viewport: drawViewport, + optionalContentConfigPromise: this._optionalContentConfigPromise + }; + var renderTask = this.renderTask = pdfPage.render(renderContext); + renderTask.onContinue = renderContinueCallback; + var resultPromise = renderTask.promise.then(function () { + return finishRenderTask(null); + }, function (error) { + return finishRenderTask(error); + }); + resultPromise["finally"](function () { + canvas.width = 0; + canvas.height = 0; + + var pageCached = _this.linkService.isPageCached(_this.id); + + if (!pageCached) { + var _this$pdfPage; + + (_this$pdfPage = _this.pdfPage) === null || _this$pdfPage === void 0 ? void 0 : _this$pdfPage.cleanup(); + } + }); + return resultPromise; + } + }, { + key: "setImage", + value: function setImage(pageView) { + if (this._checkSetImageDisabled()) { + return; + } + + if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) { + return; + } + + var canvas = pageView.canvas, + pdfPage = pageView.pdfPage; + + if (!canvas) { + return; + } + + if (!this.pdfPage) { + this.setPdfPage(pdfPage); + } + + this.renderingState = _ui_utils.RenderingStates.FINISHED; + + this._convertCanvasToImage(canvas); + } + }, { + key: "_reduceImage", + value: function _reduceImage(img) { + var _this$_getPageDrawCon2 = this._getPageDrawContext(), + ctx = _this$_getPageDrawCon2.ctx, + canvas = _this$_getPageDrawCon2.canvas; + + if (img.width <= 2 * canvas.width) { + ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height); + return canvas; + } + + var reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS; + var reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS; + + var _TempImageFactory$get = TempImageFactory.getCanvas(reducedWidth, reducedHeight), + _TempImageFactory$get2 = _slicedToArray(_TempImageFactory$get, 2), + reducedImage = _TempImageFactory$get2[0], + reducedImageCtx = _TempImageFactory$get2[1]; + + while (reducedWidth > img.width || reducedHeight > img.height) { + reducedWidth >>= 1; + reducedHeight >>= 1; + } + + reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight); + + while (reducedWidth > 2 * canvas.width) { + reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, reducedHeight >> 1); + reducedWidth >>= 1; + reducedHeight >>= 1; + } + + ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height); + return canvas; + } + }, { + key: "_thumbPageTitle", + get: function get() { + var _this$pageLabel; + + return this.l10n.get("thumb_page_title", { + page: (_this$pageLabel = this.pageLabel) !== null && _this$pageLabel !== void 0 ? _this$pageLabel : this.id + }); + } + }, { + key: "_thumbPageCanvas", + get: function get() { + var _this$pageLabel2; + + return this.l10n.get("thumb_page_canvas", { + page: (_this$pageLabel2 = this.pageLabel) !== null && _this$pageLabel2 !== void 0 ? _this$pageLabel2 : this.id + }); + } + }, { + key: "setPageLabel", + value: function setPageLabel(label) { + var _this2 = this; + + this.pageLabel = typeof label === "string" ? label : null; + + this._thumbPageTitle.then(function (msg) { + _this2.anchor.title = msg; + }); + + if (this.renderingState !== _ui_utils.RenderingStates.FINISHED) { + return; + } + + this._thumbPageCanvas.then(function (msg) { + var _this2$image; + + (_this2$image = _this2.image) === null || _this2$image === void 0 ? void 0 : _this2$image.setAttribute("aria-label", msg); + }); + } + }]); + + return PDFThumbnailView; +}(); + +exports.PDFThumbnailView = PDFThumbnailView; + +/***/ }), +/* 30 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFViewer = exports.PDFSinglePageViewer = void 0; + +var _ui_utils = __webpack_require__(5); + +var _base_viewer = __webpack_require__(31); + +function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var PDFViewer = /*#__PURE__*/function (_BaseViewer) { + _inherits(PDFViewer, _BaseViewer); + + var _super = _createSuper(PDFViewer); + + function PDFViewer() { + _classCallCheck(this, PDFViewer); + + return _super.apply(this, arguments); + } + + return _createClass(PDFViewer); +}(_base_viewer.BaseViewer); + +exports.PDFViewer = PDFViewer; + +var PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer2) { + _inherits(PDFSinglePageViewer, _BaseViewer2); + + var _super2 = _createSuper(PDFSinglePageViewer); + + function PDFSinglePageViewer() { + _classCallCheck(this, PDFSinglePageViewer); + + return _super2.apply(this, arguments); + } + + _createClass(PDFSinglePageViewer, [{ + key: "_resetView", + value: function _resetView() { + _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_resetView", this).call(this); + + this._scrollMode = _ui_utils.ScrollMode.PAGE; + this._spreadMode = _ui_utils.SpreadMode.NONE; + } + }, { + key: "scrollMode", + set: function set(mode) {} + }, { + key: "_updateScrollMode", + value: function _updateScrollMode() {} + }, { + key: "spreadMode", + set: function set(mode) {} + }, { + key: "_updateSpreadMode", + value: function _updateSpreadMode() {} + }]); + + return PDFSinglePageViewer; +}(_base_viewer.BaseViewer); + +exports.PDFSinglePageViewer = PDFSinglePageViewer; + +/***/ }), +/* 31 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PagesCountLimit = exports.PDFPageViewBuffer = exports.BaseViewer = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _pdfjsLib = __webpack_require__(7); + +var _ui_utils = __webpack_require__(5); + +var _annotation_layer_builder = __webpack_require__(32); + +var _l10n_utils = __webpack_require__(33); + +var _pdf_page_view = __webpack_require__(34); + +var _pdf_rendering_queue = __webpack_require__(24); + +var _pdf_link_service = __webpack_require__(10); + +var _struct_tree_layer_builder = __webpack_require__(35); + +var _text_highlighter = __webpack_require__(36); + +var _text_layer_builder = __webpack_require__(37); + +var _xfa_layer_builder = __webpack_require__(38); + +var _Symbol$iterator; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +var DEFAULT_CACHE_SIZE = 10; +var ENABLE_PERMISSIONS_CLASS = "enablePermissions"; +var PagesCountLimit = { + FORCE_SCROLL_MODE_PAGE: 15000, + FORCE_LAZY_PAGE_INIT: 7500, + PAUSE_EAGER_PAGE_INIT: 250 +}; +exports.PagesCountLimit = PagesCountLimit; + +var _buf = /*#__PURE__*/new WeakMap(); + +var _size = /*#__PURE__*/new WeakMap(); + +var _destroyFirstView = /*#__PURE__*/new WeakSet(); + +_Symbol$iterator = Symbol.iterator; + +var PDFPageViewBuffer = /*#__PURE__*/function () { + function PDFPageViewBuffer(size) { + _classCallCheck(this, PDFPageViewBuffer); + + _classPrivateMethodInitSpec(this, _destroyFirstView); + + _classPrivateFieldInitSpec(this, _buf, { + writable: true, + value: new Set() + }); + + _classPrivateFieldInitSpec(this, _size, { + writable: true, + value: 0 + }); + + _classPrivateFieldSet(this, _size, size); + } + + _createClass(PDFPageViewBuffer, [{ + key: "push", + value: function push(view) { + var buf = _classPrivateFieldGet(this, _buf); + + if (buf.has(view)) { + buf["delete"](view); + } + + buf.add(view); + + if (buf.size > _classPrivateFieldGet(this, _size)) { + _classPrivateMethodGet(this, _destroyFirstView, _destroyFirstView2).call(this); + } + } + }, { + key: "resize", + value: function resize(newSize) { + var idsToKeep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + _classPrivateFieldSet(this, _size, newSize); + + var buf = _classPrivateFieldGet(this, _buf); + + if (idsToKeep) { + var ii = buf.size; + var i = 1; + + var _iterator = _createForOfIteratorHelper(buf), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var view = _step.value; + + if (idsToKeep.has(view.id)) { + buf["delete"](view); + buf.add(view); + } + + if (++i > ii) { + break; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + while (buf.size > _classPrivateFieldGet(this, _size)) { + _classPrivateMethodGet(this, _destroyFirstView, _destroyFirstView2).call(this); + } + } + }, { + key: "has", + value: function has(view) { + return _classPrivateFieldGet(this, _buf).has(view); + } + }, { + key: _Symbol$iterator, + value: function value() { + return _classPrivateFieldGet(this, _buf).keys(); + } + }]); + + return PDFPageViewBuffer; +}(); + +exports.PDFPageViewBuffer = PDFPageViewBuffer; + +function _destroyFirstView2() { + var firstView = _classPrivateFieldGet(this, _buf).keys().next().value; + + firstView === null || firstView === void 0 ? void 0 : firstView.destroy(); + + _classPrivateFieldGet(this, _buf)["delete"](firstView); +} + +var _buffer = /*#__PURE__*/new WeakMap(); + +var _annotationMode = /*#__PURE__*/new WeakMap(); + +var _previousAnnotationMode = /*#__PURE__*/new WeakMap(); + +var _enablePermissions = /*#__PURE__*/new WeakMap(); + +var _previousContainerHeight = /*#__PURE__*/new WeakMap(); + +var _scrollModePageState = /*#__PURE__*/new WeakMap(); + +var _onVisibilityChange = /*#__PURE__*/new WeakMap(); + +var _initializePermissions = /*#__PURE__*/new WeakSet(); + +var _onePageRenderedOrForceFetch = /*#__PURE__*/new WeakSet(); + +var _ensurePageViewVisible = /*#__PURE__*/new WeakSet(); + +var _scrollIntoView = /*#__PURE__*/new WeakSet(); + +var _isSameScale = /*#__PURE__*/new WeakSet(); + +var _resetCurrentPageView = /*#__PURE__*/new WeakSet(); + +var _ensurePdfPageLoaded = /*#__PURE__*/new WeakSet(); + +var _getScrollAhead = /*#__PURE__*/new WeakSet(); + +var _toggleLoadingIconSpinner = /*#__PURE__*/new WeakSet(); + +var BaseViewer = /*#__PURE__*/function () { + function BaseViewer(options) { + var _this$container, + _this$viewer, + _options$textLayerMod, + _options$annotationMo, + _this = this; + + _classCallCheck(this, BaseViewer); + + _classPrivateMethodInitSpec(this, _toggleLoadingIconSpinner); + + _classPrivateMethodInitSpec(this, _getScrollAhead); + + _classPrivateMethodInitSpec(this, _ensurePdfPageLoaded); + + _classPrivateMethodInitSpec(this, _resetCurrentPageView); + + _classPrivateMethodInitSpec(this, _isSameScale); + + _classPrivateMethodInitSpec(this, _scrollIntoView); + + _classPrivateMethodInitSpec(this, _ensurePageViewVisible); + + _classPrivateMethodInitSpec(this, _onePageRenderedOrForceFetch); + + _classPrivateMethodInitSpec(this, _initializePermissions); + + _classPrivateFieldInitSpec(this, _buffer, { + writable: true, + value: null + }); + + _classPrivateFieldInitSpec(this, _annotationMode, { + writable: true, + value: _pdfjsLib.AnnotationMode.ENABLE_FORMS + }); + + _classPrivateFieldInitSpec(this, _previousAnnotationMode, { + writable: true, + value: null + }); + + _classPrivateFieldInitSpec(this, _enablePermissions, { + writable: true, + value: false + }); + + _classPrivateFieldInitSpec(this, _previousContainerHeight, { + writable: true, + value: 0 + }); + + _classPrivateFieldInitSpec(this, _scrollModePageState, { + writable: true, + value: null + }); + + _classPrivateFieldInitSpec(this, _onVisibilityChange, { + writable: true, + value: null + }); + + if (this.constructor === BaseViewer) { + throw new Error("Cannot initialize BaseViewer."); + } + + var viewerVersion = '2.14.305'; + + if (_pdfjsLib.version !== viewerVersion) { + throw new Error("The API version \"".concat(_pdfjsLib.version, "\" does not match the Viewer version \"").concat(viewerVersion, "\".")); + } + + this.container = options.container; + this.viewer = options.viewer || options.container.firstElementChild; + + if (!(((_this$container = this.container) === null || _this$container === void 0 ? void 0 : _this$container.tagName.toUpperCase()) === "DIV" && ((_this$viewer = this.viewer) === null || _this$viewer === void 0 ? void 0 : _this$viewer.tagName.toUpperCase()) === "DIV")) { + throw new Error("Invalid `container` and/or `viewer` option."); + } + + if (this.container.offsetParent && getComputedStyle(this.container).position !== "absolute") { + throw new Error("The `container` must be absolutely positioned."); + } + + this.eventBus = options.eventBus; + this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService(); + this.downloadManager = options.downloadManager || null; + this.findController = options.findController || null; + this._scriptingManager = options.scriptingManager || null; + this.removePageBorders = options.removePageBorders || false; + this.textLayerMode = (_options$textLayerMod = options.textLayerMode) !== null && _options$textLayerMod !== void 0 ? _options$textLayerMod : _ui_utils.TextLayerMode.ENABLE; + + _classPrivateFieldSet(this, _annotationMode, (_options$annotationMo = options.annotationMode) !== null && _options$annotationMo !== void 0 ? _options$annotationMo : _pdfjsLib.AnnotationMode.ENABLE_FORMS); + + this.imageResourcesPath = options.imageResourcesPath || ""; + this.enablePrintAutoRotate = options.enablePrintAutoRotate || false; + this.renderer = options.renderer || _ui_utils.RendererType.CANVAS; + this.useOnlyCssZoom = options.useOnlyCssZoom || false; + this.maxCanvasPixels = options.maxCanvasPixels; + this.l10n = options.l10n || _l10n_utils.NullL10n; + + _classPrivateFieldSet(this, _enablePermissions, options.enablePermissions || false); + + this.pageColors = options.pageColors || null; + + if (options.pageColors && (!CSS.supports("color", options.pageColors.background) || !CSS.supports("color", options.pageColors.foreground))) { + if (options.pageColors.background || options.pageColors.foreground) { + console.warn("Ignoring `pageColors`-option, since the browser doesn't support the values used."); + } + + this.pageColors = null; + } + + this.defaultRenderingQueue = !options.renderingQueue; + + if (this.defaultRenderingQueue) { + this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue(); + this.renderingQueue.setViewer(this); + } else { + this.renderingQueue = options.renderingQueue; + } + + this._doc = document.documentElement; + this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this)); + this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN; + this._onBeforeDraw = this._onAfterDraw = null; + + this._resetView(); + + if (this.removePageBorders) { + this.viewer.classList.add("removePageBorders"); + } + + this.updateContainerHeightCss(); + Promise.resolve().then(function () { + _this.eventBus.dispatch("baseviewerinit", { + source: _this + }); + }); + } + + _createClass(BaseViewer, [{ + key: "pagesCount", + get: function get() { + return this._pages.length; + } + }, { + key: "getPageView", + value: function getPageView(index) { + return this._pages[index]; + } + }, { + key: "pageViewsReady", + get: function get() { + if (!this._pagesCapability.settled) { + return false; + } + + return this._pages.every(function (pageView) { + return pageView === null || pageView === void 0 ? void 0 : pageView.pdfPage; + }); + } + }, { + key: "renderForms", + get: function get() { + return _classPrivateFieldGet(this, _annotationMode) === _pdfjsLib.AnnotationMode.ENABLE_FORMS; + } + }, { + key: "enableScripting", + get: function get() { + return !!this._scriptingManager; + } + }, { + key: "currentPageNumber", + get: function get() { + return this._currentPageNumber; + }, + set: function set(val) { + if (!Number.isInteger(val)) { + throw new Error("Invalid page number."); + } + + if (!this.pdfDocument) { + return; + } + + if (!this._setCurrentPageNumber(val, true)) { + console.error("currentPageNumber: \"".concat(val, "\" is not a valid page.")); + } + } + }, { + key: "_setCurrentPageNumber", + value: function _setCurrentPageNumber(val) { + var _this$_pageLabels, _this$_pageLabels2; + + var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (this._currentPageNumber === val) { + if (resetCurrentPageView) { + _classPrivateMethodGet(this, _resetCurrentPageView, _resetCurrentPageView2).call(this); + } + + return true; + } + + if (!(0 < val && val <= this.pagesCount)) { + return false; + } + + var previous = this._currentPageNumber; + this._currentPageNumber = val; + this.eventBus.dispatch("pagechanging", { + source: this, + pageNumber: val, + pageLabel: (_this$_pageLabels = (_this$_pageLabels2 = this._pageLabels) === null || _this$_pageLabels2 === void 0 ? void 0 : _this$_pageLabels2[val - 1]) !== null && _this$_pageLabels !== void 0 ? _this$_pageLabels : null, + previous: previous + }); + + if (resetCurrentPageView) { + _classPrivateMethodGet(this, _resetCurrentPageView, _resetCurrentPageView2).call(this); + } + + return true; + } + }, { + key: "currentPageLabel", + get: function get() { + var _this$_pageLabels3, _this$_pageLabels4; + + return (_this$_pageLabels3 = (_this$_pageLabels4 = this._pageLabels) === null || _this$_pageLabels4 === void 0 ? void 0 : _this$_pageLabels4[this._currentPageNumber - 1]) !== null && _this$_pageLabels3 !== void 0 ? _this$_pageLabels3 : null; + }, + set: function set(val) { + if (!this.pdfDocument) { + return; + } + + var page = val | 0; + + if (this._pageLabels) { + var i = this._pageLabels.indexOf(val); + + if (i >= 0) { + page = i + 1; + } + } + + if (!this._setCurrentPageNumber(page, true)) { + console.error("currentPageLabel: \"".concat(val, "\" is not a valid page.")); + } + } + }, { + key: "currentScale", + get: function get() { + return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE; + }, + set: function set(val) { + if (isNaN(val)) { + throw new Error("Invalid numeric scale."); + } + + if (!this.pdfDocument) { + return; + } + + this._setScale(val, false); + } + }, { + key: "currentScaleValue", + get: function get() { + return this._currentScaleValue; + }, + set: function set(val) { + if (!this.pdfDocument) { + return; + } + + this._setScale(val, false); + } + }, { + key: "pagesRotation", + get: function get() { + return this._pagesRotation; + }, + set: function set(rotation) { + if (!(0, _ui_utils.isValidRotation)(rotation)) { + throw new Error("Invalid pages rotation angle."); + } + + if (!this.pdfDocument) { + return; + } + + rotation %= 360; + + if (rotation < 0) { + rotation += 360; + } + + if (this._pagesRotation === rotation) { + return; + } + + this._pagesRotation = rotation; + var pageNumber = this._currentPageNumber; + var updateArgs = { + rotation: rotation + }; + + var _iterator2 = _createForOfIteratorHelper(this._pages), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var pageView = _step2.value; + pageView.update(updateArgs); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + if (this._currentScaleValue) { + this._setScale(this._currentScaleValue, true); + } + + this.eventBus.dispatch("rotationchanging", { + source: this, + pagesRotation: rotation, + pageNumber: pageNumber + }); + + if (this.defaultRenderingQueue) { + this.update(); + } + } + }, { + key: "firstPagePromise", + get: function get() { + return this.pdfDocument ? this._firstPageCapability.promise : null; + } + }, { + key: "onePageRendered", + get: function get() { + return this.pdfDocument ? this._onePageRenderedCapability.promise : null; + } + }, { + key: "pagesPromise", + get: function get() { + return this.pdfDocument ? this._pagesCapability.promise : null; + } + }, { + key: "setDocument", + value: function setDocument(pdfDocument) { + var _this2 = this; + + if (this.pdfDocument) { + this.eventBus.dispatch("pagesdestroy", { + source: this + }); + + this._cancelRendering(); + + this._resetView(); + + if (this.findController) { + this.findController.setDocument(null); + } + + if (this._scriptingManager) { + this._scriptingManager.setDocument(null); + } + } + + this.pdfDocument = pdfDocument; + + if (!pdfDocument) { + return; + } + + var isPureXfa = pdfDocument.isPureXfa; + var pagesCount = pdfDocument.numPages; + var firstPagePromise = pdfDocument.getPage(1); + var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig(); + var permissionsPromise = _classPrivateFieldGet(this, _enablePermissions) ? pdfDocument.getPermissions() : Promise.resolve(); + + if (pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) { + console.warn("Forcing PAGE-scrolling for performance reasons, given the length of the document."); + var mode = this._scrollMode = _ui_utils.ScrollMode.PAGE; + this.eventBus.dispatch("scrollmodechanged", { + source: this, + mode: mode + }); + } + + this._pagesCapability.promise.then(function () { + _this2.eventBus.dispatch("pagesloaded", { + source: _this2, + pagesCount: pagesCount + }); + }, function () {}); + + this._onBeforeDraw = function (evt) { + var pageView = _this2._pages[evt.pageNumber - 1]; + + if (!pageView) { + return; + } + + _classPrivateFieldGet(_this2, _buffer).push(pageView); + }; + + this.eventBus._on("pagerender", this._onBeforeDraw); + + this._onAfterDraw = function (evt) { + if (evt.cssTransform || _this2._onePageRenderedCapability.settled) { + return; + } + + _this2._onePageRenderedCapability.resolve({ + timestamp: evt.timestamp + }); + + _this2.eventBus._off("pagerendered", _this2._onAfterDraw); + + _this2._onAfterDraw = null; + + if (_classPrivateFieldGet(_this2, _onVisibilityChange)) { + document.removeEventListener("visibilitychange", _classPrivateFieldGet(_this2, _onVisibilityChange)); + + _classPrivateFieldSet(_this2, _onVisibilityChange, null); + } + }; + + this.eventBus._on("pagerendered", this._onAfterDraw); + + Promise.all([firstPagePromise, permissionsPromise]).then(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + firstPdfPage = _ref2[0], + permissions = _ref2[1]; + + if (pdfDocument !== _this2.pdfDocument) { + return; + } + + _this2._firstPageCapability.resolve(firstPdfPage); + + _this2._optionalContentConfigPromise = optionalContentConfigPromise; + + _classPrivateMethodGet(_this2, _initializePermissions, _initializePermissions2).call(_this2, permissions); + + var viewerElement = _this2._scrollMode === _ui_utils.ScrollMode.PAGE ? null : _this2.viewer; + var scale = _this2.currentScale; + var viewport = firstPdfPage.getViewport({ + scale: scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS + }); + var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && !isPureXfa ? _this2 : null; + var annotationLayerFactory = _classPrivateFieldGet(_this2, _annotationMode) !== _pdfjsLib.AnnotationMode.DISABLE ? _this2 : null; + var xfaLayerFactory = isPureXfa ? _this2 : null; + + for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) { + var pageView = new _pdf_page_view.PDFPageView({ + container: viewerElement, + eventBus: _this2.eventBus, + id: pageNum, + scale: scale, + defaultViewport: viewport.clone(), + optionalContentConfigPromise: optionalContentConfigPromise, + renderingQueue: _this2.renderingQueue, + textLayerFactory: textLayerFactory, + textLayerMode: _this2.textLayerMode, + annotationLayerFactory: annotationLayerFactory, + annotationMode: _classPrivateFieldGet(_this2, _annotationMode), + xfaLayerFactory: xfaLayerFactory, + textHighlighterFactory: _this2, + structTreeLayerFactory: _this2, + imageResourcesPath: _this2.imageResourcesPath, + renderer: _this2.renderer, + useOnlyCssZoom: _this2.useOnlyCssZoom, + maxCanvasPixels: _this2.maxCanvasPixels, + pageColors: _this2.pageColors, + l10n: _this2.l10n + }); + + _this2._pages.push(pageView); + } + + var firstPageView = _this2._pages[0]; + + if (firstPageView) { + firstPageView.setPdfPage(firstPdfPage); + + _this2.linkService.cachePageRef(1, firstPdfPage.ref); + } + + if (_this2._scrollMode === _ui_utils.ScrollMode.PAGE) { + _classPrivateMethodGet(_this2, _ensurePageViewVisible, _ensurePageViewVisible2).call(_this2); + } else if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) { + _this2._updateSpreadMode(); + } + + _classPrivateMethodGet(_this2, _onePageRenderedOrForceFetch, _onePageRenderedOrForceFetch2).call(_this2).then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var getPagesLeft, _loop, _pageNum; + + return _regenerator["default"].wrap(function _callee$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (_this2.findController) { + _this2.findController.setDocument(pdfDocument); + } + + if (_this2._scriptingManager) { + _this2._scriptingManager.setDocument(pdfDocument); + } + + if (!(pdfDocument.loadingParams.disableAutoFetch || pagesCount > PagesCountLimit.FORCE_LAZY_PAGE_INIT)) { + _context2.next = 5; + break; + } + + _this2._pagesCapability.resolve(); + + return _context2.abrupt("return"); + + case 5: + getPagesLeft = pagesCount - 1; + + if (!(getPagesLeft <= 0)) { + _context2.next = 9; + break; + } + + _this2._pagesCapability.resolve(); + + return _context2.abrupt("return"); + + case 9: + _loop = /*#__PURE__*/_regenerator["default"].mark(function _loop(_pageNum) { + var promise; + return _regenerator["default"].wrap(function _loop$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + promise = pdfDocument.getPage(_pageNum).then(function (pdfPage) { + var pageView = _this2._pages[_pageNum - 1]; + + if (!pageView.pdfPage) { + pageView.setPdfPage(pdfPage); + } + + _this2.linkService.cachePageRef(_pageNum, pdfPage.ref); + + if (--getPagesLeft === 0) { + _this2._pagesCapability.resolve(); + } + }, function (reason) { + console.error("Unable to get page ".concat(_pageNum, " to initialize viewer"), reason); + + if (--getPagesLeft === 0) { + _this2._pagesCapability.resolve(); + } + }); + + if (!(_pageNum % PagesCountLimit.PAUSE_EAGER_PAGE_INIT === 0)) { + _context.next = 4; + break; + } + + _context.next = 4; + return promise; + + case 4: + case "end": + return _context.stop(); + } + } + }, _loop); + }); + _pageNum = 2; + + case 11: + if (!(_pageNum <= pagesCount)) { + _context2.next = 16; + break; + } + + return _context2.delegateYield(_loop(_pageNum), "t0", 13); + + case 13: + ++_pageNum; + _context2.next = 11; + break; + + case 16: + case "end": + return _context2.stop(); + } + } + }, _callee); + }))); + + _this2.eventBus.dispatch("pagesinit", { + source: _this2 + }); + + pdfDocument.getMetadata().then(function (_ref4) { + var info = _ref4.info; + + if (pdfDocument !== _this2.pdfDocument) { + return; + } + + if (info.Language) { + _this2.viewer.lang = info.Language; + } + }); + + if (_this2.defaultRenderingQueue) { + _this2.update(); + } + })["catch"](function (reason) { + console.error("Unable to initialize viewer", reason); + + _this2._pagesCapability.reject(reason); + }); + } + }, { + key: "setPageLabels", + value: function setPageLabels(labels) { + if (!this.pdfDocument) { + return; + } + + if (!labels) { + this._pageLabels = null; + } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) { + this._pageLabels = null; + console.error("setPageLabels: Invalid page labels."); + } else { + this._pageLabels = labels; + } + + for (var i = 0, ii = this._pages.length; i < ii; i++) { + var _this$_pageLabels$i, _this$_pageLabels5; + + this._pages[i].setPageLabel((_this$_pageLabels$i = (_this$_pageLabels5 = this._pageLabels) === null || _this$_pageLabels5 === void 0 ? void 0 : _this$_pageLabels5[i]) !== null && _this$_pageLabels$i !== void 0 ? _this$_pageLabels$i : null); + } + } + }, { + key: "_resetView", + value: function _resetView() { + this._pages = []; + this._currentPageNumber = 1; + this._currentScale = _ui_utils.UNKNOWN_SCALE; + this._currentScaleValue = null; + this._pageLabels = null; + + _classPrivateFieldSet(this, _buffer, new PDFPageViewBuffer(DEFAULT_CACHE_SIZE)); + + this._location = null; + this._pagesRotation = 0; + this._optionalContentConfigPromise = null; + this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)(); + this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)(); + this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)(); + this._scrollMode = _ui_utils.ScrollMode.VERTICAL; + this._previousScrollMode = _ui_utils.ScrollMode.UNKNOWN; + this._spreadMode = _ui_utils.SpreadMode.NONE; + + _classPrivateFieldSet(this, _scrollModePageState, { + previousPageNumber: 1, + scrollDown: true, + pages: [] + }); + + if (this._onBeforeDraw) { + this.eventBus._off("pagerender", this._onBeforeDraw); + + this._onBeforeDraw = null; + } + + if (this._onAfterDraw) { + this.eventBus._off("pagerendered", this._onAfterDraw); + + this._onAfterDraw = null; + } + + if (_classPrivateFieldGet(this, _onVisibilityChange)) { + document.removeEventListener("visibilitychange", _classPrivateFieldGet(this, _onVisibilityChange)); + + _classPrivateFieldSet(this, _onVisibilityChange, null); + } + + this.viewer.textContent = ""; + + this._updateScrollMode(); + + this.viewer.removeAttribute("lang"); + this.viewer.classList.remove(ENABLE_PERMISSIONS_CLASS); + + if (_classPrivateFieldGet(this, _previousAnnotationMode) !== null) { + _classPrivateFieldSet(this, _annotationMode, _classPrivateFieldGet(this, _previousAnnotationMode)); + + _classPrivateFieldSet(this, _previousAnnotationMode, null); + } + } + }, { + key: "_scrollUpdate", + value: function _scrollUpdate() { + if (this.pagesCount === 0) { + return; + } + + this.update(); + } + }, { + key: "_setScaleUpdatePages", + value: function _setScaleUpdatePages(newScale, newValue) { + var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + this._currentScaleValue = newValue.toString(); + + if (_classPrivateMethodGet(this, _isSameScale, _isSameScale2).call(this, newScale)) { + if (preset) { + this.eventBus.dispatch("scalechanging", { + source: this, + scale: newScale, + presetValue: newValue + }); + } + + return; + } + + this._doc.style.setProperty("--zoom-factor", newScale); + + var updateArgs = { + scale: newScale + }; + + var _iterator3 = _createForOfIteratorHelper(this._pages), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var pageView = _step3.value; + pageView.update(updateArgs); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + this._currentScale = newScale; + + if (!noScroll) { + var page = this._currentPageNumber, + dest; + + if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) { + page = this._location.pageNumber; + dest = [null, { + name: "XYZ" + }, this._location.left, this._location.top, null]; + } + + this.scrollPageIntoView({ + pageNumber: page, + destArray: dest, + allowNegativeOffset: true + }); + } + + this.eventBus.dispatch("scalechanging", { + source: this, + scale: newScale, + presetValue: preset ? newValue : undefined + }); + + if (this.defaultRenderingQueue) { + this.update(); + } + + this.updateContainerHeightCss(); + } + }, { + key: "_pageWidthScaleFactor", + get: function get() { + if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL) { + return 2; + } + + return 1; + } + }, { + key: "_setScale", + value: function _setScale(value) { + var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var scale = parseFloat(value); + + if (scale > 0) { + this._setScaleUpdatePages(scale, value, noScroll, false); + } else { + var currentPage = this._pages[this._currentPageNumber - 1]; + + if (!currentPage) { + return; + } + + var hPadding = _ui_utils.SCROLLBAR_PADDING, + vPadding = _ui_utils.VERTICAL_PADDING; + + if (this.isInPresentationMode) { + hPadding = vPadding = 4; + } else if (this.removePageBorders) { + hPadding = vPadding = 0; + } else if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL) { + var _ref5 = [vPadding, hPadding]; + hPadding = _ref5[0]; + vPadding = _ref5[1]; + } + + var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this._pageWidthScaleFactor; + var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale; + + switch (value) { + case "page-actual": + scale = 1; + break; + + case "page-width": + scale = pageWidthScale; + break; + + case "page-height": + scale = pageHeightScale; + break; + + case "page-fit": + scale = Math.min(pageWidthScale, pageHeightScale); + break; + + case "auto": + var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale); + scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale); + break; + + default: + console.error("_setScale: \"".concat(value, "\" is an unknown zoom value.")); + return; + } + + this._setScaleUpdatePages(scale, value, noScroll, true); + } + } + }, { + key: "pageLabelToPageNumber", + value: function pageLabelToPageNumber(label) { + if (!this._pageLabels) { + return null; + } + + var i = this._pageLabels.indexOf(label); + + if (i < 0) { + return null; + } + + return i + 1; + } + }, { + key: "scrollPageIntoView", + value: function scrollPageIntoView(_ref6) { + var pageNumber = _ref6.pageNumber, + _ref6$destArray = _ref6.destArray, + destArray = _ref6$destArray === void 0 ? null : _ref6$destArray, + _ref6$allowNegativeOf = _ref6.allowNegativeOffset, + allowNegativeOffset = _ref6$allowNegativeOf === void 0 ? false : _ref6$allowNegativeOf, + _ref6$ignoreDestinati = _ref6.ignoreDestinationZoom, + ignoreDestinationZoom = _ref6$ignoreDestinati === void 0 ? false : _ref6$ignoreDestinati; + + if (!this.pdfDocument) { + return; + } + + var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1]; + + if (!pageView) { + console.error("scrollPageIntoView: \"".concat(pageNumber, "\" is not a valid pageNumber parameter.")); + return; + } + + if (this.isInPresentationMode || !destArray) { + this._setCurrentPageNumber(pageNumber, true); + + return; + } + + var x = 0, + y = 0; + var width = 0, + height = 0, + widthScale, + heightScale; + var changeOrientation = pageView.rotation % 180 !== 0; + var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS; + var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS; + var scale = 0; + + switch (destArray[1].name) { + case "XYZ": + x = destArray[2]; + y = destArray[3]; + scale = destArray[4]; + x = x !== null ? x : 0; + y = y !== null ? y : pageHeight; + break; + + case "Fit": + case "FitB": + scale = "page-fit"; + break; + + case "FitH": + case "FitBH": + y = destArray[2]; + scale = "page-width"; + + if (y === null && this._location) { + x = this._location.left; + y = this._location.top; + } else if (typeof y !== "number" || y < 0) { + y = pageHeight; + } + + break; + + case "FitV": + case "FitBV": + x = destArray[2]; + width = pageWidth; + height = pageHeight; + scale = "page-height"; + break; + + case "FitR": + x = destArray[2]; + y = destArray[3]; + width = destArray[4] - x; + height = destArray[5] - y; + var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING; + var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING; + widthScale = (this.container.clientWidth - hPadding) / width / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS; + heightScale = (this.container.clientHeight - vPadding) / height / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS; + scale = Math.min(Math.abs(widthScale), Math.abs(heightScale)); + break; + + default: + console.error("scrollPageIntoView: \"".concat(destArray[1].name, "\" is not a valid destination type.")); + return; + } + + if (!ignoreDestinationZoom) { + if (scale && scale !== this._currentScale) { + this.currentScaleValue = scale; + } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) { + this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + } + } + + if (scale === "page-fit" && !destArray[4]) { + _classPrivateMethodGet(this, _scrollIntoView, _scrollIntoView2).call(this, pageView); + + return; + } + + var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)]; + var left = Math.min(boundingRect[0][0], boundingRect[1][0]); + var top = Math.min(boundingRect[0][1], boundingRect[1][1]); + + if (!allowNegativeOffset) { + left = Math.max(left, 0); + top = Math.max(top, 0); + } + + _classPrivateMethodGet(this, _scrollIntoView, _scrollIntoView2).call(this, pageView, { + left: left, + top: top + }); + } + }, { + key: "_updateLocation", + value: function _updateLocation(firstPage) { + var currentScale = this._currentScale; + var currentScaleValue = this._currentScaleValue; + var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue; + var pageNumber = firstPage.id; + var currentPageView = this._pages[pageNumber - 1]; + var container = this.container; + var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y); + var intLeft = Math.round(topLeft[0]); + var intTop = Math.round(topLeft[1]); + var pdfOpenParams = "#page=".concat(pageNumber); + + if (!this.isInPresentationMode) { + pdfOpenParams += "&zoom=".concat(normalizedScaleValue, ",").concat(intLeft, ",").concat(intTop); + } + + this._location = { + pageNumber: pageNumber, + scale: normalizedScaleValue, + top: intTop, + left: intLeft, + rotation: this._pagesRotation, + pdfOpenParams: pdfOpenParams + }; + } + }, { + key: "update", + value: function update() { + var visible = this._getVisiblePages(); + + var visiblePages = visible.views, + numVisiblePages = visiblePages.length; + + if (numVisiblePages === 0) { + return; + } + + var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1); + + _classPrivateFieldGet(this, _buffer).resize(newCacheSize, visible.ids); + + this.renderingQueue.renderHighestPriority(visible); + var isSimpleLayout = this._spreadMode === _ui_utils.SpreadMode.NONE && (this._scrollMode === _ui_utils.ScrollMode.PAGE || this._scrollMode === _ui_utils.ScrollMode.VERTICAL); + var currentId = this._currentPageNumber; + var stillFullyVisible = false; + + var _iterator4 = _createForOfIteratorHelper(visiblePages), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var page = _step4.value; + + if (page.percent < 100) { + break; + } + + if (page.id === currentId && isSimpleLayout) { + stillFullyVisible = true; + break; + } + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._setCurrentPageNumber(stillFullyVisible ? currentId : visiblePages[0].id); + + this._updateLocation(visible.first); + + this.eventBus.dispatch("updateviewarea", { + source: this, + location: this._location + }); + } + }, { + key: "containsElement", + value: function containsElement(element) { + return this.container.contains(element); + } + }, { + key: "focus", + value: function focus() { + this.container.focus(); + } + }, { + key: "_isContainerRtl", + get: function get() { + return getComputedStyle(this.container).direction === "rtl"; + } + }, { + key: "isInPresentationMode", + get: function get() { + return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN; + } + }, { + key: "isChangingPresentationMode", + get: function get() { + return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING; + } + }, { + key: "isHorizontalScrollbarEnabled", + get: function get() { + return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth; + } + }, { + key: "isVerticalScrollbarEnabled", + get: function get() { + return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight; + } + }, { + key: "_getVisiblePages", + value: function _getVisiblePages() { + var views = this._scrollMode === _ui_utils.ScrollMode.PAGE ? _classPrivateFieldGet(this, _scrollModePageState).pages : this._pages, + horizontal = this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL, + rtl = horizontal && this._isContainerRtl; + return (0, _ui_utils.getVisibleElements)({ + scrollEl: this.container, + views: views, + sortByVisibility: true, + horizontal: horizontal, + rtl: rtl + }); + } + }, { + key: "isPageVisible", + value: function isPageVisible(pageNumber) { + if (!this.pdfDocument) { + return false; + } + + if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) { + console.error("isPageVisible: \"".concat(pageNumber, "\" is not a valid page.")); + return false; + } + + return this._getVisiblePages().ids.has(pageNumber); + } + }, { + key: "isPageCached", + value: function isPageCached(pageNumber) { + if (!this.pdfDocument) { + return false; + } + + if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) { + console.error("isPageCached: \"".concat(pageNumber, "\" is not a valid page.")); + return false; + } + + var pageView = this._pages[pageNumber - 1]; + return _classPrivateFieldGet(this, _buffer).has(pageView); + } + }, { + key: "cleanup", + value: function cleanup() { + var _iterator5 = _createForOfIteratorHelper(this._pages), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var pageView = _step5.value; + + if (pageView.renderingState !== _ui_utils.RenderingStates.FINISHED) { + pageView.reset(); + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + } + }, { + key: "_cancelRendering", + value: function _cancelRendering() { + var _iterator6 = _createForOfIteratorHelper(this._pages), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var pageView = _step6.value; + pageView.cancelRendering(); + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + } + }, { + key: "forceRendering", + value: function forceRendering(currentlyVisiblePages) { + var _this3 = this; + + var visiblePages = currentlyVisiblePages || this._getVisiblePages(); + + var scrollAhead = _classPrivateMethodGet(this, _getScrollAhead, _getScrollAhead2).call(this, visiblePages); + + var preRenderExtra = this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL; + var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra); + + _classPrivateMethodGet(this, _toggleLoadingIconSpinner, _toggleLoadingIconSpinner2).call(this, visiblePages.ids); + + if (pageView) { + _classPrivateMethodGet(this, _ensurePdfPageLoaded, _ensurePdfPageLoaded2).call(this, pageView).then(function () { + _this3.renderingQueue.renderView(pageView); + }); + + return true; + } + + return false; + } + }, { + key: "createTextLayerBuilder", + value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) { + var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + var eventBus = arguments.length > 4 ? arguments[4] : undefined; + var highlighter = arguments.length > 5 ? arguments[5] : undefined; + return new _text_layer_builder.TextLayerBuilder({ + textLayerDiv: textLayerDiv, + eventBus: eventBus, + pageIndex: pageIndex, + viewport: viewport, + enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection, + highlighter: highlighter + }); + } + }, { + key: "createTextHighlighter", + value: function createTextHighlighter(pageIndex, eventBus) { + return new _text_highlighter.TextHighlighter({ + eventBus: eventBus, + pageIndex: pageIndex, + findController: this.isInPresentationMode ? null : this.findController + }); + } + }, { + key: "createAnnotationLayerBuilder", + value: function createAnnotationLayerBuilder(pageDiv, pdfPage) { + var _this$pdfDocument, _this$pdfDocument2, _this$pdfDocument3, _this$_scriptingManag; + + var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ""; + var renderForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; + var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _l10n_utils.NullL10n; + var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null; + var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null; + var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null; + var fieldObjectsPromise = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : null; + var annotationCanvasMap = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : null; + return new _annotation_layer_builder.AnnotationLayerBuilder({ + pageDiv: pageDiv, + pdfPage: pdfPage, + annotationStorage: annotationStorage || ((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage), + imageResourcesPath: imageResourcesPath, + renderForms: renderForms, + linkService: this.linkService, + downloadManager: this.downloadManager, + l10n: l10n, + enableScripting: enableScripting !== null && enableScripting !== void 0 ? enableScripting : this.enableScripting, + hasJSActionsPromise: hasJSActionsPromise || ((_this$pdfDocument2 = this.pdfDocument) === null || _this$pdfDocument2 === void 0 ? void 0 : _this$pdfDocument2.hasJSActions()), + fieldObjectsPromise: fieldObjectsPromise || ((_this$pdfDocument3 = this.pdfDocument) === null || _this$pdfDocument3 === void 0 ? void 0 : _this$pdfDocument3.getFieldObjects()), + mouseState: mouseState || ((_this$_scriptingManag = this._scriptingManager) === null || _this$_scriptingManag === void 0 ? void 0 : _this$_scriptingManag.mouseState), + annotationCanvasMap: annotationCanvasMap + }); + } + }, { + key: "createXfaLayerBuilder", + value: function createXfaLayerBuilder(pageDiv, pdfPage) { + var _this$pdfDocument4; + + var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + return new _xfa_layer_builder.XfaLayerBuilder({ + pageDiv: pageDiv, + pdfPage: pdfPage, + annotationStorage: annotationStorage || ((_this$pdfDocument4 = this.pdfDocument) === null || _this$pdfDocument4 === void 0 ? void 0 : _this$pdfDocument4.annotationStorage), + linkService: this.linkService + }); + } + }, { + key: "createStructTreeLayerBuilder", + value: function createStructTreeLayerBuilder(pdfPage) { + return new _struct_tree_layer_builder.StructTreeLayerBuilder({ + pdfPage: pdfPage + }); + } + }, { + key: "hasEqualPageSizes", + get: function get() { + var firstPageView = this._pages[0]; + + for (var i = 1, ii = this._pages.length; i < ii; ++i) { + var pageView = this._pages[i]; + + if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) { + return false; + } + } + + return true; + } + }, { + key: "getPagesOverview", + value: function getPagesOverview() { + var _this4 = this; + + return this._pages.map(function (pageView) { + var viewport = pageView.pdfPage.getViewport({ + scale: 1 + }); + + if (!_this4.enablePrintAutoRotate || (0, _ui_utils.isPortraitOrientation)(viewport)) { + return { + width: viewport.width, + height: viewport.height, + rotation: viewport.rotation + }; + } + + return { + width: viewport.height, + height: viewport.width, + rotation: (viewport.rotation - 90) % 360 + }; + }); + } + }, { + key: "optionalContentConfigPromise", + get: function get() { + if (!this.pdfDocument) { + return Promise.resolve(null); + } + + if (!this._optionalContentConfigPromise) { + return this.pdfDocument.getOptionalContentConfig(); + } + + return this._optionalContentConfigPromise; + }, + set: function set(promise) { + if (!(promise instanceof Promise)) { + throw new Error("Invalid optionalContentConfigPromise: ".concat(promise)); + } + + if (!this.pdfDocument) { + return; + } + + if (!this._optionalContentConfigPromise) { + return; + } + + this._optionalContentConfigPromise = promise; + var updateArgs = { + optionalContentConfigPromise: promise + }; + + var _iterator7 = _createForOfIteratorHelper(this._pages), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var pageView = _step7.value; + pageView.update(updateArgs); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + this.update(); + this.eventBus.dispatch("optionalcontentconfigchanged", { + source: this, + promise: promise + }); + } + }, { + key: "scrollMode", + get: function get() { + return this._scrollMode; + }, + set: function set(mode) { + if (this._scrollMode === mode) { + return; + } + + if (!(0, _ui_utils.isValidScrollMode)(mode)) { + throw new Error("Invalid scroll mode: ".concat(mode)); + } + + if (this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) { + return; + } + + this._previousScrollMode = this._scrollMode; + this._scrollMode = mode; + this.eventBus.dispatch("scrollmodechanged", { + source: this, + mode: mode + }); + + this._updateScrollMode(this._currentPageNumber); + } + }, { + key: "_updateScrollMode", + value: function _updateScrollMode() { + var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + var scrollMode = this._scrollMode, + viewer = this.viewer; + viewer.classList.toggle("scrollHorizontal", scrollMode === _ui_utils.ScrollMode.HORIZONTAL); + viewer.classList.toggle("scrollWrapped", scrollMode === _ui_utils.ScrollMode.WRAPPED); + + if (!this.pdfDocument || !pageNumber) { + return; + } + + if (scrollMode === _ui_utils.ScrollMode.PAGE) { + _classPrivateMethodGet(this, _ensurePageViewVisible, _ensurePageViewVisible2).call(this); + } else if (this._previousScrollMode === _ui_utils.ScrollMode.PAGE) { + this._updateSpreadMode(); + } + + if (this._currentScaleValue && isNaN(this._currentScaleValue)) { + this._setScale(this._currentScaleValue, true); + } + + this._setCurrentPageNumber(pageNumber, true); + + this.update(); + } + }, { + key: "spreadMode", + get: function get() { + return this._spreadMode; + }, + set: function set(mode) { + if (this._spreadMode === mode) { + return; + } + + if (!(0, _ui_utils.isValidSpreadMode)(mode)) { + throw new Error("Invalid spread mode: ".concat(mode)); + } + + this._spreadMode = mode; + this.eventBus.dispatch("spreadmodechanged", { + source: this, + mode: mode + }); + + this._updateSpreadMode(this._currentPageNumber); + } + }, { + key: "_updateSpreadMode", + value: function _updateSpreadMode() { + var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + + if (!this.pdfDocument) { + return; + } + + var viewer = this.viewer, + pages = this._pages; + + if (this._scrollMode === _ui_utils.ScrollMode.PAGE) { + _classPrivateMethodGet(this, _ensurePageViewVisible, _ensurePageViewVisible2).call(this); + } else { + viewer.textContent = ""; + + if (this._spreadMode === _ui_utils.SpreadMode.NONE) { + var _iterator8 = _createForOfIteratorHelper(this._pages), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var pageView = _step8.value; + viewer.appendChild(pageView.div); + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + } else { + var parity = this._spreadMode - 1; + var spread = null; + + for (var i = 0, ii = pages.length; i < ii; ++i) { + if (spread === null) { + spread = document.createElement("div"); + spread.className = "spread"; + viewer.appendChild(spread); + } else if (i % 2 === parity) { + spread = spread.cloneNode(false); + viewer.appendChild(spread); + } + + spread.appendChild(pages[i].div); + } + } + } + + if (!pageNumber) { + return; + } + + if (this._currentScaleValue && isNaN(this._currentScaleValue)) { + this._setScale(this._currentScaleValue, true); + } + + this._setCurrentPageNumber(pageNumber, true); + + this.update(); + } + }, { + key: "_getPageAdvance", + value: function _getPageAdvance(currentPageNumber) { + var previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + switch (this._scrollMode) { + case _ui_utils.ScrollMode.WRAPPED: + { + var _this$_getVisiblePage = this._getVisiblePages(), + views = _this$_getVisiblePage.views, + pageLayout = new Map(); + + var _iterator9 = _createForOfIteratorHelper(views), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var _step9$value = _step9.value, + id = _step9$value.id, + y = _step9$value.y, + percent = _step9$value.percent, + widthPercent = _step9$value.widthPercent; + + if (percent === 0 || widthPercent < 100) { + continue; + } + + var yArray = pageLayout.get(y); + + if (!yArray) { + pageLayout.set(y, yArray || (yArray = [])); + } + + yArray.push(id); + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + + var _iterator10 = _createForOfIteratorHelper(pageLayout.values()), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var _yArray = _step10.value; + + var currentIndex = _yArray.indexOf(currentPageNumber); + + if (currentIndex === -1) { + continue; + } + + var numPages = _yArray.length; + + if (numPages === 1) { + break; + } + + if (previous) { + for (var i = currentIndex - 1, ii = 0; i >= ii; i--) { + var currentId = _yArray[i], + expectedId = _yArray[i + 1] - 1; + + if (currentId < expectedId) { + return currentPageNumber - expectedId; + } + } + } else { + for (var _i2 = currentIndex + 1, _ii = numPages; _i2 < _ii; _i2++) { + var _currentId = _yArray[_i2], + _expectedId = _yArray[_i2 - 1] + 1; + + if (_currentId > _expectedId) { + return _expectedId - currentPageNumber; + } + } + } + + if (previous) { + var firstId = _yArray[0]; + + if (firstId < currentPageNumber) { + return currentPageNumber - firstId + 1; + } + } else { + var lastId = _yArray[numPages - 1]; + + if (lastId > currentPageNumber) { + return lastId - currentPageNumber + 1; + } + } + + break; + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + break; + } + + case _ui_utils.ScrollMode.HORIZONTAL: + { + break; + } + + case _ui_utils.ScrollMode.PAGE: + case _ui_utils.ScrollMode.VERTICAL: + { + if (this._spreadMode === _ui_utils.SpreadMode.NONE) { + break; + } + + var parity = this._spreadMode - 1; + + if (previous && currentPageNumber % 2 !== parity) { + break; + } else if (!previous && currentPageNumber % 2 === parity) { + break; + } + + var _this$_getVisiblePage2 = this._getVisiblePages(), + _views = _this$_getVisiblePage2.views, + _expectedId2 = previous ? currentPageNumber - 1 : currentPageNumber + 1; + + var _iterator11 = _createForOfIteratorHelper(_views), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var _step11$value = _step11.value, + _id = _step11$value.id, + _percent = _step11$value.percent, + _widthPercent = _step11$value.widthPercent; + + if (_id !== _expectedId2) { + continue; + } + + if (_percent > 0 && _widthPercent === 100) { + return 2; + } + + break; + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + + break; + } + } + + return 1; + } + }, { + key: "nextPage", + value: function nextPage() { + var currentPageNumber = this._currentPageNumber, + pagesCount = this.pagesCount; + + if (currentPageNumber >= pagesCount) { + return false; + } + + var advance = this._getPageAdvance(currentPageNumber, false) || 1; + this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount); + return true; + } + }, { + key: "previousPage", + value: function previousPage() { + var currentPageNumber = this._currentPageNumber; + + if (currentPageNumber <= 1) { + return false; + } + + var advance = this._getPageAdvance(currentPageNumber, true) || 1; + this.currentPageNumber = Math.max(currentPageNumber - advance, 1); + return true; + } + }, { + key: "increaseScale", + value: function increaseScale() { + var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; + var newScale = this._currentScale; + + do { + newScale = (newScale * _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2); + newScale = Math.ceil(newScale * 10) / 10; + newScale = Math.min(_ui_utils.MAX_SCALE, newScale); + } while (--steps > 0 && newScale < _ui_utils.MAX_SCALE); + + this.currentScaleValue = newScale; + } + }, { + key: "decreaseScale", + value: function decreaseScale() { + var steps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; + var newScale = this._currentScale; + + do { + newScale = (newScale / _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2); + newScale = Math.floor(newScale * 10) / 10; + newScale = Math.max(_ui_utils.MIN_SCALE, newScale); + } while (--steps > 0 && newScale > _ui_utils.MIN_SCALE); + + this.currentScaleValue = newScale; + } + }, { + key: "updateContainerHeightCss", + value: function updateContainerHeightCss() { + var height = this.container.clientHeight; + + if (height !== _classPrivateFieldGet(this, _previousContainerHeight)) { + _classPrivateFieldSet(this, _previousContainerHeight, height); + + this._doc.style.setProperty("--viewer-container-height", "".concat(height, "px")); + } + } + }]); + + return BaseViewer; +}(); + +exports.BaseViewer = BaseViewer; + +function _initializePermissions2(permissions) { + if (!permissions) { + return; + } + + if (!permissions.includes(_pdfjsLib.PermissionFlag.COPY)) { + this.viewer.classList.add(ENABLE_PERMISSIONS_CLASS); + } + + if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(_pdfjsLib.PermissionFlag.FILL_INTERACTIVE_FORMS)) { + if (_classPrivateFieldGet(this, _annotationMode) === _pdfjsLib.AnnotationMode.ENABLE_FORMS) { + _classPrivateFieldSet(this, _previousAnnotationMode, _classPrivateFieldGet(this, _annotationMode)); + + _classPrivateFieldSet(this, _annotationMode, _pdfjsLib.AnnotationMode.ENABLE); + } + } +} + +function _onePageRenderedOrForceFetch2() { + var _this5 = this; + + if (document.visibilityState === "hidden" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) { + return Promise.resolve(); + } + + var visibilityChangePromise = new Promise(function (resolve) { + _classPrivateFieldSet(_this5, _onVisibilityChange, function () { + if (document.visibilityState !== "hidden") { + return; + } + + resolve(); + document.removeEventListener("visibilitychange", _classPrivateFieldGet(_this5, _onVisibilityChange)); + + _classPrivateFieldSet(_this5, _onVisibilityChange, null); + }); + + document.addEventListener("visibilitychange", _classPrivateFieldGet(_this5, _onVisibilityChange)); + }); + return Promise.race([this._onePageRenderedCapability.promise, visibilityChangePromise]); +} + +function _ensurePageViewVisible2() { + if (this._scrollMode !== _ui_utils.ScrollMode.PAGE) { + throw new Error("#ensurePageViewVisible: Invalid scrollMode value."); + } + + var pageNumber = this._currentPageNumber, + state = _classPrivateFieldGet(this, _scrollModePageState), + viewer = this.viewer; + + viewer.textContent = ""; + state.pages.length = 0; + + if (this._spreadMode === _ui_utils.SpreadMode.NONE && !this.isInPresentationMode) { + var pageView = this._pages[pageNumber - 1]; + viewer.appendChild(pageView.div); + state.pages.push(pageView); + } else { + var pageIndexSet = new Set(), + parity = this._spreadMode - 1; + + if (parity === -1) { + pageIndexSet.add(pageNumber - 1); + } else if (pageNumber % 2 !== parity) { + pageIndexSet.add(pageNumber - 1); + pageIndexSet.add(pageNumber); + } else { + pageIndexSet.add(pageNumber - 2); + pageIndexSet.add(pageNumber - 1); + } + + var spread = document.createElement("div"); + spread.className = "spread"; + + if (this.isInPresentationMode) { + var dummyPage = document.createElement("div"); + dummyPage.className = "dummyPage"; + spread.appendChild(dummyPage); + } + + var _iterator12 = _createForOfIteratorHelper(pageIndexSet), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var i = _step12.value; + var _pageView = this._pages[i]; + + if (!_pageView) { + continue; + } + + spread.appendChild(_pageView.div); + state.pages.push(_pageView); + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + + viewer.appendChild(spread); + } + + state.scrollDown = pageNumber >= state.previousPageNumber; + state.previousPageNumber = pageNumber; +} + +function _scrollIntoView2(pageView) { + var pageSpot = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var div = pageView.div, + id = pageView.id; + + if (this._scrollMode === _ui_utils.ScrollMode.PAGE) { + this._setCurrentPageNumber(id); + + _classPrivateMethodGet(this, _ensurePageViewVisible, _ensurePageViewVisible2).call(this); + + this.update(); + } + + if (!pageSpot && !this.isInPresentationMode) { + var left = div.offsetLeft + div.clientLeft, + right = left + div.clientWidth; + var _this$container2 = this.container, + scrollLeft = _this$container2.scrollLeft, + clientWidth = _this$container2.clientWidth; + + if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) { + pageSpot = { + left: 0, + top: 0 + }; + } + } + + (0, _ui_utils.scrollIntoView)(div, pageSpot); +} + +function _isSameScale2(newScale) { + return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15; +} + +function _resetCurrentPageView2() { + var pageView = this._pages[this._currentPageNumber - 1]; + + if (this.isInPresentationMode) { + this._setScale(this._currentScaleValue, true); + } + + _classPrivateMethodGet(this, _scrollIntoView, _scrollIntoView2).call(this, pageView); +} + +function _ensurePdfPageLoaded2(_x) { + return _ensurePdfPageLoaded3.apply(this, arguments); +} + +function _ensurePdfPageLoaded3() { + _ensurePdfPageLoaded3 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pageView) { + var _this$linkService$_ca, _this$linkService, pdfPage; + + return _regenerator["default"].wrap(function _callee2$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (!pageView.pdfPage) { + _context3.next = 2; + break; + } + + return _context3.abrupt("return", pageView.pdfPage); + + case 2: + _context3.prev = 2; + _context3.next = 5; + return this.pdfDocument.getPage(pageView.id); + + case 5: + pdfPage = _context3.sent; + + if (!pageView.pdfPage) { + pageView.setPdfPage(pdfPage); + } + + if (!((_this$linkService$_ca = (_this$linkService = this.linkService)._cachedPageNumber) !== null && _this$linkService$_ca !== void 0 && _this$linkService$_ca.call(_this$linkService, pdfPage.ref))) { + this.linkService.cachePageRef(pageView.id, pdfPage.ref); + } + + return _context3.abrupt("return", pdfPage); + + case 11: + _context3.prev = 11; + _context3.t0 = _context3["catch"](2); + console.error("Unable to get page for page view", _context3.t0); + return _context3.abrupt("return", null); + + case 15: + case "end": + return _context3.stop(); + } + } + }, _callee2, this, [[2, 11]]); + })); + return _ensurePdfPageLoaded3.apply(this, arguments); +} + +function _getScrollAhead2(visible) { + var _visible$first, _visible$last; + + if (((_visible$first = visible.first) === null || _visible$first === void 0 ? void 0 : _visible$first.id) === 1) { + return true; + } else if (((_visible$last = visible.last) === null || _visible$last === void 0 ? void 0 : _visible$last.id) === this.pagesCount) { + return false; + } + + switch (this._scrollMode) { + case _ui_utils.ScrollMode.PAGE: + return _classPrivateFieldGet(this, _scrollModePageState).scrollDown; + + case _ui_utils.ScrollMode.HORIZONTAL: + return this.scroll.right; + } + + return this.scroll.down; +} + +function _toggleLoadingIconSpinner2(visibleIds) { + var _iterator13 = _createForOfIteratorHelper(visibleIds), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var id = _step13.value; + var pageView = this._pages[id - 1]; + pageView === null || pageView === void 0 ? void 0 : pageView.toggleLoadingIconSpinner(true); + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + + var _iterator14 = _createForOfIteratorHelper(_classPrivateFieldGet(this, _buffer)), + _step14; + + try { + for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { + var _pageView2 = _step14.value; + + if (visibleIds.has(_pageView2.id)) { + continue; + } + + _pageView2.toggleLoadingIconSpinner(false); + } + } catch (err) { + _iterator14.e(err); + } finally { + _iterator14.f(); + } +} + +/***/ }), +/* 32 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationLayerBuilder = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _pdfjsLib = __webpack_require__(7); + +var _l10n_utils = __webpack_require__(33); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var AnnotationLayerBuilder = /*#__PURE__*/function () { + function AnnotationLayerBuilder(_ref) { + var pageDiv = _ref.pageDiv, + pdfPage = _ref.pdfPage, + linkService = _ref.linkService, + downloadManager = _ref.downloadManager, + _ref$annotationStorag = _ref.annotationStorage, + annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag, + _ref$imageResourcesPa = _ref.imageResourcesPath, + imageResourcesPath = _ref$imageResourcesPa === void 0 ? "" : _ref$imageResourcesPa, + _ref$renderForms = _ref.renderForms, + renderForms = _ref$renderForms === void 0 ? true : _ref$renderForms, + _ref$l10n = _ref.l10n, + l10n = _ref$l10n === void 0 ? _l10n_utils.NullL10n : _ref$l10n, + _ref$enableScripting = _ref.enableScripting, + enableScripting = _ref$enableScripting === void 0 ? false : _ref$enableScripting, + _ref$hasJSActionsProm = _ref.hasJSActionsPromise, + hasJSActionsPromise = _ref$hasJSActionsProm === void 0 ? null : _ref$hasJSActionsProm, + _ref$fieldObjectsProm = _ref.fieldObjectsPromise, + fieldObjectsPromise = _ref$fieldObjectsProm === void 0 ? null : _ref$fieldObjectsProm, + _ref$mouseState = _ref.mouseState, + mouseState = _ref$mouseState === void 0 ? null : _ref$mouseState, + _ref$annotationCanvas = _ref.annotationCanvasMap, + annotationCanvasMap = _ref$annotationCanvas === void 0 ? null : _ref$annotationCanvas; + + _classCallCheck(this, AnnotationLayerBuilder); + + this.pageDiv = pageDiv; + this.pdfPage = pdfPage; + this.linkService = linkService; + this.downloadManager = downloadManager; + this.imageResourcesPath = imageResourcesPath; + this.renderForms = renderForms; + this.l10n = l10n; + this.annotationStorage = annotationStorage; + this.enableScripting = enableScripting; + this._hasJSActionsPromise = hasJSActionsPromise; + this._fieldObjectsPromise = fieldObjectsPromise; + this._mouseState = mouseState; + this._annotationCanvasMap = annotationCanvasMap; + this.div = null; + this._cancelled = false; + } + + _createClass(AnnotationLayerBuilder, [{ + key: "render", + value: function () { + var _render = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(viewport) { + var intent, + _yield$Promise$all, + _yield$Promise$all2, + annotations, + _yield$Promise$all2$, + hasJSActions, + _yield$Promise$all2$2, + fieldObjects, + parameters, + _args = arguments; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + intent = _args.length > 1 && _args[1] !== undefined ? _args[1] : "display"; + _context.next = 3; + return Promise.all([this.pdfPage.getAnnotations({ + intent: intent + }), this._hasJSActionsPromise, this._fieldObjectsPromise]); + + case 3: + _yield$Promise$all = _context.sent; + _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3); + annotations = _yield$Promise$all2[0]; + _yield$Promise$all2$ = _yield$Promise$all2[1]; + hasJSActions = _yield$Promise$all2$ === void 0 ? false : _yield$Promise$all2$; + _yield$Promise$all2$2 = _yield$Promise$all2[2]; + fieldObjects = _yield$Promise$all2$2 === void 0 ? null : _yield$Promise$all2$2; + + if (!(this._cancelled || annotations.length === 0)) { + _context.next = 12; + break; + } + + return _context.abrupt("return"); + + case 12: + parameters = { + viewport: viewport.clone({ + dontFlip: true + }), + div: this.div, + annotations: annotations, + page: this.pdfPage, + imageResourcesPath: this.imageResourcesPath, + renderForms: this.renderForms, + linkService: this.linkService, + downloadManager: this.downloadManager, + annotationStorage: this.annotationStorage, + enableScripting: this.enableScripting, + hasJSActions: hasJSActions, + fieldObjects: fieldObjects, + mouseState: this._mouseState, + annotationCanvasMap: this._annotationCanvasMap + }; + + if (this.div) { + _pdfjsLib.AnnotationLayer.update(parameters); + } else { + this.div = document.createElement("div"); + this.div.className = "annotationLayer"; + this.pageDiv.appendChild(this.div); + parameters.div = this.div; + + _pdfjsLib.AnnotationLayer.render(parameters); + + this.l10n.translate(this.div); + } + + case 14: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function render(_x) { + return _render.apply(this, arguments); + } + + return render; + }() + }, { + key: "cancel", + value: function cancel() { + this._cancelled = true; + } + }, { + key: "hide", + value: function hide() { + if (!this.div) { + return; + } + + this.div.hidden = true; + } + }]); + + return AnnotationLayerBuilder; +}(); + +exports.AnnotationLayerBuilder = AnnotationLayerBuilder; + +/***/ }), +/* 33 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.NullL10n = void 0; +exports.fixupLangCode = fixupLangCode; +exports.getL10nFallback = getL10nFallback; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +var DEFAULT_L10N_STRINGS = { + of_pages: "of {{pagesCount}}", + page_of_pages: "({{pageNumber}} of {{pagesCount}})", + document_properties_kb: "{{size_kb}} KB ({{size_b}} bytes)", + document_properties_mb: "{{size_mb}} MB ({{size_b}} bytes)", + document_properties_date_string: "{{date}}, {{time}}", + document_properties_page_size_unit_inches: "in", + document_properties_page_size_unit_millimeters: "mm", + document_properties_page_size_orientation_portrait: "portrait", + document_properties_page_size_orientation_landscape: "landscape", + document_properties_page_size_name_a3: "A3", + document_properties_page_size_name_a4: "A4", + document_properties_page_size_name_letter: "Letter", + document_properties_page_size_name_legal: "Legal", + document_properties_page_size_dimension_string: "{{width}} × {{height}} {{unit}} ({{orientation}})", + document_properties_page_size_dimension_name_string: "{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})", + document_properties_linearized_yes: "Yes", + document_properties_linearized_no: "No", + print_progress_percent: "{{progress}}%", + "toggle_sidebar.title": "Toggle Sidebar", + "toggle_sidebar_notification2.title": "Toggle Sidebar (document contains outline/attachments/layers)", + additional_layers: "Additional Layers", + page_landmark: "Page {{page}}", + thumb_page_title: "Page {{page}}", + thumb_page_canvas: "Thumbnail of Page {{page}}", + find_reached_top: "Reached top of document, continued from bottom", + find_reached_bottom: "Reached end of document, continued from top", + "find_match_count[one]": "{{current}} of {{total}} match", + "find_match_count[other]": "{{current}} of {{total}} matches", + "find_match_count_limit[one]": "More than {{limit}} match", + "find_match_count_limit[other]": "More than {{limit}} matches", + find_not_found: "Phrase not found", + error_version_info: "PDF.js v{{version}} (build: {{build}})", + error_message: "Message: {{message}}", + error_stack: "Stack: {{stack}}", + error_file: "File: {{file}}", + error_line: "Line: {{line}}", + rendering_error: "An error occurred while rendering the page.", + page_scale_width: "Page Width", + page_scale_fit: "Page Fit", + page_scale_auto: "Automatic Zoom", + page_scale_actual: "Actual Size", + page_scale_percent: "{{scale}}%", + loading: "Loading…", + loading_error: "An error occurred while loading the PDF.", + invalid_file_error: "Invalid or corrupted PDF file.", + missing_file_error: "Missing PDF file.", + unexpected_response_error: "Unexpected server response.", + printing_not_supported: "Warning: Printing is not fully supported by this browser.", + printing_not_ready: "Warning: The PDF is not fully loaded for printing.", + web_fonts_disabled: "Web fonts are disabled: unable to use embedded PDF fonts." +}; + +function getL10nFallback(key, args) { + switch (key) { + case "find_match_count": + key = "find_match_count[".concat(args.total === 1 ? "one" : "other", "]"); + break; + + case "find_match_count_limit": + key = "find_match_count_limit[".concat(args.limit === 1 ? "one" : "other", "]"); + break; + } + + return DEFAULT_L10N_STRINGS[key] || ""; +} + +var PARTIAL_LANG_CODES = { + en: "en-US", + es: "es-ES", + fy: "fy-NL", + ga: "ga-IE", + gu: "gu-IN", + hi: "hi-IN", + hy: "hy-AM", + nb: "nb-NO", + ne: "ne-NP", + nn: "nn-NO", + pa: "pa-IN", + pt: "pt-PT", + sv: "sv-SE", + zh: "zh-CN" +}; + +function fixupLangCode(langCode) { + return PARTIAL_LANG_CODES[langCode === null || langCode === void 0 ? void 0 : langCode.toLowerCase()] || langCode; +} + +function formatL10nValue(text, args) { + if (!args) { + return text; + } + + return text.replace(/\{\{\s*(\w+)\s*\}\}/g, function (all, name) { + return name in args ? args[name] : "{{" + name + "}}"; + }); +} + +var NullL10n = { + getLanguage: function getLanguage() { + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", "en-us"); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee); + }))(); + }, + getDirection: function getDirection() { + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", "ltr"); + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2); + }))(); + }, + get: function get(key) { + var _arguments = arguments; + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + var args, fallback; + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + args = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : null; + fallback = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : getL10nFallback(key, args); + return _context3.abrupt("return", formatL10nValue(fallback, args)); + + case 3: + case "end": + return _context3.stop(); + } + } + }, _callee3); + }))(); + }, + translate: function translate(element) { + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + case "end": + return _context4.stop(); + } + } + }, _callee4); + }))(); + } +}; +exports.NullL10n = NullL10n; + +/***/ }), +/* 34 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFPageView = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _pdfjsLib = __webpack_require__(7); + +var _ui_utils = __webpack_require__(5); + +var _app_options = __webpack_require__(1); + +var _l10n_utils = __webpack_require__(33); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +var MAX_CANVAS_PIXELS = _app_options.compatibilityParams.maxCanvasPixels || 16777216; + +var _annotationMode = /*#__PURE__*/new WeakMap(); + +var PDFPageView = /*#__PURE__*/function () { + function PDFPageView(options) { + var _options$textLayerMod, _options$annotationMo, _options$textHighligh, _this$renderingQueue; + + _classCallCheck(this, PDFPageView); + + _classPrivateFieldInitSpec(this, _annotationMode, { + writable: true, + value: _pdfjsLib.AnnotationMode.ENABLE_FORMS + }); + + var container = options.container; + var defaultViewport = options.defaultViewport; + this.id = options.id; + this.renderingId = "page" + this.id; + this.pdfPage = null; + this.pageLabel = null; + this.rotation = 0; + this.scale = options.scale || _ui_utils.DEFAULT_SCALE; + this.viewport = defaultViewport; + this.pdfPageRotate = defaultViewport.rotation; + this._optionalContentConfigPromise = options.optionalContentConfigPromise || null; + this.hasRestrictedScaling = false; + this.textLayerMode = (_options$textLayerMod = options.textLayerMode) !== null && _options$textLayerMod !== void 0 ? _options$textLayerMod : _ui_utils.TextLayerMode.ENABLE; + + _classPrivateFieldSet(this, _annotationMode, (_options$annotationMo = options.annotationMode) !== null && _options$annotationMo !== void 0 ? _options$annotationMo : _pdfjsLib.AnnotationMode.ENABLE_FORMS); + + this.imageResourcesPath = options.imageResourcesPath || ""; + this.useOnlyCssZoom = options.useOnlyCssZoom || false; + this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS; + this.pageColors = options.pageColors || null; + this.eventBus = options.eventBus; + this.renderingQueue = options.renderingQueue; + this.textLayerFactory = options.textLayerFactory; + this.annotationLayerFactory = options.annotationLayerFactory; + this.xfaLayerFactory = options.xfaLayerFactory; + this.textHighlighter = (_options$textHighligh = options.textHighlighterFactory) === null || _options$textHighligh === void 0 ? void 0 : _options$textHighligh.createTextHighlighter(this.id - 1, this.eventBus); + this.structTreeLayerFactory = options.structTreeLayerFactory; + this.renderer = options.renderer || _ui_utils.RendererType.CANVAS; + this.l10n = options.l10n || _l10n_utils.NullL10n; + this.paintTask = null; + this.paintedViewportMap = new WeakMap(); + this.renderingState = _ui_utils.RenderingStates.INITIAL; + this.resume = null; + this._renderError = null; + this._isStandalone = !((_this$renderingQueue = this.renderingQueue) !== null && _this$renderingQueue !== void 0 && _this$renderingQueue.hasViewer()); + this._annotationCanvasMap = null; + this.annotationLayer = null; + this.textLayer = null; + this.zoomLayer = null; + this.xfaLayer = null; + this.structTreeLayer = null; + var div = document.createElement("div"); + div.className = "page"; + div.style.width = Math.floor(this.viewport.width) + "px"; + div.style.height = Math.floor(this.viewport.height) + "px"; + div.setAttribute("data-page-number", this.id); + div.setAttribute("role", "region"); + this.l10n.get("page_landmark", { + page: this.id + }).then(function (msg) { + div.setAttribute("aria-label", msg); + }); + this.div = div; + container === null || container === void 0 ? void 0 : container.appendChild(div); + } + + _createClass(PDFPageView, [{ + key: "setPdfPage", + value: function setPdfPage(pdfPage) { + this.pdfPage = pdfPage; + this.pdfPageRotate = pdfPage.rotate; + var totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = pdfPage.getViewport({ + scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS, + rotation: totalRotation + }); + this.reset(); + } + }, { + key: "destroy", + value: function destroy() { + this.reset(); + + if (this.pdfPage) { + this.pdfPage.cleanup(); + } + } + }, { + key: "_renderAnnotationLayer", + value: function () { + var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var error; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + error = null; + _context.prev = 1; + _context.next = 4; + return this.annotationLayer.render(this.viewport, "display"); + + case 4: + _context.next = 9; + break; + + case 6: + _context.prev = 6; + _context.t0 = _context["catch"](1); + error = _context.t0; + + case 9: + _context.prev = 9; + this.eventBus.dispatch("annotationlayerrendered", { + source: this, + pageNumber: this.id, + error: error + }); + return _context.finish(9); + + case 12: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[1, 6, 9, 12]]); + })); + + function _renderAnnotationLayer() { + return _renderAnnotationLayer2.apply(this, arguments); + } + + return _renderAnnotationLayer; + }() + }, { + key: "_renderXfaLayer", + value: function () { + var _renderXfaLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var error, result; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + error = null; + _context2.prev = 1; + _context2.next = 4; + return this.xfaLayer.render(this.viewport, "display"); + + case 4: + result = _context2.sent; + + if (this.textHighlighter) { + this._buildXfaTextContentItems(result.textDivs); + } + + _context2.next = 11; + break; + + case 8: + _context2.prev = 8; + _context2.t0 = _context2["catch"](1); + error = _context2.t0; + + case 11: + _context2.prev = 11; + this.eventBus.dispatch("xfalayerrendered", { + source: this, + pageNumber: this.id, + error: error + }); + return _context2.finish(11); + + case 14: + case "end": + return _context2.stop(); + } + } + }, _callee2, this, [[1, 8, 11, 14]]); + })); + + function _renderXfaLayer() { + return _renderXfaLayer2.apply(this, arguments); + } + + return _renderXfaLayer; + }() + }, { + key: "_buildXfaTextContentItems", + value: function () { + var _buildXfaTextContentItems2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(textDivs) { + var text, items, _iterator, _step, item; + + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return this.pdfPage.getTextContent(); + + case 2: + text = _context3.sent; + items = []; + _iterator = _createForOfIteratorHelper(text.items); + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + item = _step.value; + items.push(item.str); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this.textHighlighter.setTextMapping(textDivs, items); + this.textHighlighter.enable(); + + case 8: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function _buildXfaTextContentItems(_x) { + return _buildXfaTextContentItems2.apply(this, arguments); + } + + return _buildXfaTextContentItems; + }() + }, { + key: "_resetZoomLayer", + value: function _resetZoomLayer() { + var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this.zoomLayer) { + return; + } + + var zoomLayerCanvas = this.zoomLayer.firstChild; + this.paintedViewportMap["delete"](zoomLayerCanvas); + zoomLayerCanvas.width = 0; + zoomLayerCanvas.height = 0; + + if (removeFromDOM) { + this.zoomLayer.remove(); + } + + this.zoomLayer = null; + } + }, { + key: "reset", + value: function reset() { + var _this$annotationLayer, + _this$xfaLayer, + _this = this; + + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$keepZoomLayer = _ref.keepZoomLayer, + keepZoomLayer = _ref$keepZoomLayer === void 0 ? false : _ref$keepZoomLayer, + _ref$keepAnnotationLa = _ref.keepAnnotationLayer, + keepAnnotationLayer = _ref$keepAnnotationLa === void 0 ? false : _ref$keepAnnotationLa, + _ref$keepXfaLayer = _ref.keepXfaLayer, + keepXfaLayer = _ref$keepXfaLayer === void 0 ? false : _ref$keepXfaLayer; + + this.cancelRendering({ + keepAnnotationLayer: keepAnnotationLayer, + keepXfaLayer: keepXfaLayer + }); + this.renderingState = _ui_utils.RenderingStates.INITIAL; + var div = this.div; + div.style.width = Math.floor(this.viewport.width) + "px"; + div.style.height = Math.floor(this.viewport.height) + "px"; + var childNodes = div.childNodes, + zoomLayerNode = keepZoomLayer && this.zoomLayer || null, + annotationLayerNode = keepAnnotationLayer && ((_this$annotationLayer = this.annotationLayer) === null || _this$annotationLayer === void 0 ? void 0 : _this$annotationLayer.div) || null, + xfaLayerNode = keepXfaLayer && ((_this$xfaLayer = this.xfaLayer) === null || _this$xfaLayer === void 0 ? void 0 : _this$xfaLayer.div) || null; + + for (var i = childNodes.length - 1; i >= 0; i--) { + var node = childNodes[i]; + + switch (node) { + case zoomLayerNode: + case annotationLayerNode: + case xfaLayerNode: + continue; + } + + node.remove(); + } + + div.removeAttribute("data-loaded"); + + if (annotationLayerNode) { + this.annotationLayer.hide(); + } + + if (xfaLayerNode) { + this.xfaLayer.hide(); + } + + if (!zoomLayerNode) { + if (this.canvas) { + this.paintedViewportMap["delete"](this.canvas); + this.canvas.width = 0; + this.canvas.height = 0; + delete this.canvas; + } + + this._resetZoomLayer(); + } + + if (this.svg) { + this.paintedViewportMap["delete"](this.svg); + delete this.svg; + } + + this.loadingIconDiv = document.createElement("div"); + this.loadingIconDiv.className = "loadingIcon notVisible"; + + if (this._isStandalone) { + this.toggleLoadingIconSpinner(true); + } + + this.loadingIconDiv.setAttribute("role", "img"); + this.l10n.get("loading").then(function (msg) { + var _this$loadingIconDiv; + + (_this$loadingIconDiv = _this.loadingIconDiv) === null || _this$loadingIconDiv === void 0 ? void 0 : _this$loadingIconDiv.setAttribute("aria-label", msg); + }); + div.appendChild(this.loadingIconDiv); + } + }, { + key: "update", + value: function update(_ref2) { + var _ref2$scale = _ref2.scale, + scale = _ref2$scale === void 0 ? 0 : _ref2$scale, + _ref2$rotation = _ref2.rotation, + rotation = _ref2$rotation === void 0 ? null : _ref2$rotation, + _ref2$optionalContent = _ref2.optionalContentConfigPromise, + optionalContentConfigPromise = _ref2$optionalContent === void 0 ? null : _ref2$optionalContent; + this.scale = scale || this.scale; + + if (typeof rotation === "number") { + this.rotation = rotation; + } + + if (optionalContentConfigPromise instanceof Promise) { + this._optionalContentConfigPromise = optionalContentConfigPromise; + } + + var totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = this.viewport.clone({ + scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS, + rotation: totalRotation + }); + + if (this._isStandalone) { + var style = document.documentElement.style; + style.setProperty("--zoom-factor", this.scale); + } + + if (this.svg) { + this.cssTransform({ + target: this.svg, + redrawAnnotationLayer: true, + redrawXfaLayer: true + }); + this.eventBus.dispatch("pagerendered", { + source: this, + pageNumber: this.id, + cssTransform: true, + timestamp: performance.now(), + error: this._renderError + }); + return; + } + + var isScalingRestricted = false; + + if (this.canvas && this.maxCanvasPixels > 0) { + var outputScale = this.outputScale; + + if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) { + isScalingRestricted = true; + } + } + + if (this.canvas) { + if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) { + this.cssTransform({ + target: this.canvas, + redrawAnnotationLayer: true, + redrawXfaLayer: true + }); + this.eventBus.dispatch("pagerendered", { + source: this, + pageNumber: this.id, + cssTransform: true, + timestamp: performance.now(), + error: this._renderError + }); + return; + } + + if (!this.zoomLayer && !this.canvas.hidden) { + this.zoomLayer = this.canvas.parentNode; + this.zoomLayer.style.position = "absolute"; + } + } + + if (this.zoomLayer) { + this.cssTransform({ + target: this.zoomLayer.firstChild + }); + } + + this.reset({ + keepZoomLayer: true, + keepAnnotationLayer: true, + keepXfaLayer: true + }); + } + }, { + key: "cancelRendering", + value: function cancelRendering() { + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref3$keepAnnotationL = _ref3.keepAnnotationLayer, + keepAnnotationLayer = _ref3$keepAnnotationL === void 0 ? false : _ref3$keepAnnotationL, + _ref3$keepXfaLayer = _ref3.keepXfaLayer, + keepXfaLayer = _ref3$keepXfaLayer === void 0 ? false : _ref3$keepXfaLayer; + + if (this.paintTask) { + this.paintTask.cancel(); + this.paintTask = null; + } + + this.resume = null; + + if (this.textLayer) { + this.textLayer.cancel(); + this.textLayer = null; + } + + if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) { + this.annotationLayer.cancel(); + this.annotationLayer = null; + this._annotationCanvasMap = null; + } + + if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) { + var _this$textHighlighter; + + this.xfaLayer.cancel(); + this.xfaLayer = null; + (_this$textHighlighter = this.textHighlighter) === null || _this$textHighlighter === void 0 ? void 0 : _this$textHighlighter.disable(); + } + + if (this._onTextLayerRendered) { + this.eventBus._off("textlayerrendered", this._onTextLayerRendered); + + this._onTextLayerRendered = null; + } + } + }, { + key: "cssTransform", + value: function cssTransform(_ref4) { + var target = _ref4.target, + _ref4$redrawAnnotatio = _ref4.redrawAnnotationLayer, + redrawAnnotationLayer = _ref4$redrawAnnotatio === void 0 ? false : _ref4$redrawAnnotatio, + _ref4$redrawXfaLayer = _ref4.redrawXfaLayer, + redrawXfaLayer = _ref4$redrawXfaLayer === void 0 ? false : _ref4$redrawXfaLayer; + var width = this.viewport.width; + var height = this.viewport.height; + var div = this.div; + target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + "px"; + target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + "px"; + var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation; + var absRotation = Math.abs(relativeRotation); + var scaleX = 1, + scaleY = 1; + + if (absRotation === 90 || absRotation === 270) { + scaleX = height / width; + scaleY = width / height; + } + + target.style.transform = "rotate(".concat(relativeRotation, "deg) scale(").concat(scaleX, ", ").concat(scaleY, ")"); + + if (this.textLayer) { + var textLayerViewport = this.textLayer.viewport; + var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation; + var textAbsRotation = Math.abs(textRelativeRotation); + var scale = width / textLayerViewport.width; + + if (textAbsRotation === 90 || textAbsRotation === 270) { + scale = width / textLayerViewport.height; + } + + var textLayerDiv = this.textLayer.textLayerDiv; + var transX, transY; + + switch (textAbsRotation) { + case 0: + transX = transY = 0; + break; + + case 90: + transX = 0; + transY = "-" + textLayerDiv.style.height; + break; + + case 180: + transX = "-" + textLayerDiv.style.width; + transY = "-" + textLayerDiv.style.height; + break; + + case 270: + transX = "-" + textLayerDiv.style.width; + transY = 0; + break; + + default: + console.error("Bad rotation value."); + break; + } + + textLayerDiv.style.transform = "rotate(".concat(textAbsRotation, "deg) ") + "scale(".concat(scale, ") ") + "translate(".concat(transX, ", ").concat(transY, ")"); + textLayerDiv.style.transformOrigin = "0% 0%"; + } + + if (redrawAnnotationLayer && this.annotationLayer) { + this._renderAnnotationLayer(); + } + + if (redrawXfaLayer && this.xfaLayer) { + this._renderXfaLayer(); + } + } + }, { + key: "width", + get: function get() { + return this.viewport.width; + } + }, { + key: "height", + get: function get() { + return this.viewport.height; + } + }, { + key: "getPagePoint", + value: function getPagePoint(x, y) { + return this.viewport.convertToPdfPoint(x, y); + } + }, { + key: "toggleLoadingIconSpinner", + value: function toggleLoadingIconSpinner() { + var _this$loadingIconDiv2; + + var viewVisible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + (_this$loadingIconDiv2 = this.loadingIconDiv) === null || _this$loadingIconDiv2 === void 0 ? void 0 : _this$loadingIconDiv2.classList.toggle("notVisible", !viewVisible); + } + }, { + key: "draw", + value: function draw() { + var _this$annotationLayer2, + _this$xfaLayer2, + _this2 = this; + + if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) { + console.error("Must be in new state before drawing"); + this.reset(); + } + + var div = this.div, + pdfPage = this.pdfPage; + + if (!pdfPage) { + this.renderingState = _ui_utils.RenderingStates.FINISHED; + + if (this.loadingIconDiv) { + this.loadingIconDiv.remove(); + delete this.loadingIconDiv; + } + + return Promise.reject(new Error("pdfPage is not loaded")); + } + + this.renderingState = _ui_utils.RenderingStates.RUNNING; + var canvasWrapper = document.createElement("div"); + canvasWrapper.style.width = div.style.width; + canvasWrapper.style.height = div.style.height; + canvasWrapper.classList.add("canvasWrapper"); + + if ((_this$annotationLayer2 = this.annotationLayer) !== null && _this$annotationLayer2 !== void 0 && _this$annotationLayer2.div) { + div.insertBefore(canvasWrapper, this.annotationLayer.div); + } else { + div.appendChild(canvasWrapper); + } + + var textLayer = null; + + if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) { + var _this$annotationLayer3; + + var textLayerDiv = document.createElement("div"); + textLayerDiv.className = "textLayer"; + textLayerDiv.style.width = canvasWrapper.style.width; + textLayerDiv.style.height = canvasWrapper.style.height; + + if ((_this$annotationLayer3 = this.annotationLayer) !== null && _this$annotationLayer3 !== void 0 && _this$annotationLayer3.div) { + div.insertBefore(textLayerDiv, this.annotationLayer.div); + } else { + div.appendChild(textLayerDiv); + } + + textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus, this.textHighlighter); + } + + this.textLayer = textLayer; + + if (_classPrivateFieldGet(this, _annotationMode) !== _pdfjsLib.AnnotationMode.DISABLE && this.annotationLayerFactory) { + this._annotationCanvasMap || (this._annotationCanvasMap = new Map()); + this.annotationLayer || (this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, null, this.imageResourcesPath, _classPrivateFieldGet(this, _annotationMode) === _pdfjsLib.AnnotationMode.ENABLE_FORMS, this.l10n, null, null, null, null, this._annotationCanvasMap)); + } + + if ((_this$xfaLayer2 = this.xfaLayer) !== null && _this$xfaLayer2 !== void 0 && _this$xfaLayer2.div) { + div.appendChild(this.xfaLayer.div); + } + + var renderContinueCallback = null; + + if (this.renderingQueue) { + renderContinueCallback = function renderContinueCallback(cont) { + if (!_this2.renderingQueue.isHighestPriority(_this2)) { + _this2.renderingState = _ui_utils.RenderingStates.PAUSED; + + _this2.resume = function () { + _this2.renderingState = _ui_utils.RenderingStates.RUNNING; + cont(); + }; + + return; + } + + cont(); + }; + } + + var finishPaintTask = /*#__PURE__*/function () { + var _ref5 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { + var error, + _args4 = arguments; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + error = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : null; + + if (paintTask === _this2.paintTask) { + _this2.paintTask = null; + } + + if (!(error instanceof _pdfjsLib.RenderingCancelledException)) { + _context4.next = 5; + break; + } + + _this2._renderError = null; + return _context4.abrupt("return"); + + case 5: + _this2._renderError = error; + _this2.renderingState = _ui_utils.RenderingStates.FINISHED; + + if (_this2.loadingIconDiv) { + _this2.loadingIconDiv.remove(); + + delete _this2.loadingIconDiv; + } + + _this2._resetZoomLayer(true); + + _this2.eventBus.dispatch("pagerendered", { + source: _this2, + pageNumber: _this2.id, + cssTransform: false, + timestamp: performance.now(), + error: _this2._renderError + }); + + if (!error) { + _context4.next = 12; + break; + } + + throw error; + + case 12: + case "end": + return _context4.stop(); + } + } + }, _callee4); + })); + + return function finishPaintTask() { + return _ref5.apply(this, arguments); + }; + }(); + + var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper); + paintTask.onRenderContinue = renderContinueCallback; + this.paintTask = paintTask; + var resultPromise = paintTask.promise.then(function () { + return finishPaintTask(null).then(function () { + if (textLayer) { + var readableStream = pdfPage.streamTextContent({ + includeMarkedContent: true + }); + textLayer.setTextContentStream(readableStream); + textLayer.render(); + } + + if (_this2.annotationLayer) { + _this2._renderAnnotationLayer(); + } + }); + }, function (reason) { + return finishPaintTask(reason); + }); + + if (this.xfaLayerFactory) { + if (!this.xfaLayer) { + this.xfaLayer = this.xfaLayerFactory.createXfaLayerBuilder(div, pdfPage, null); + } + + this._renderXfaLayer(); + } + + if (this.structTreeLayerFactory && this.textLayer && this.canvas) { + this._onTextLayerRendered = function (event) { + if (event.pageNumber !== _this2.id) { + return; + } + + _this2.eventBus._off("textlayerrendered", _this2._onTextLayerRendered); + + _this2._onTextLayerRendered = null; + + if (!_this2.canvas) { + return; + } + + _this2.pdfPage.getStructTree().then(function (tree) { + if (!tree) { + return; + } + + if (!_this2.canvas) { + return; + } + + var treeDom = _this2.structTreeLayer.render(tree); + + treeDom.classList.add("structTree"); + + _this2.canvas.appendChild(treeDom); + }); + }; + + this.eventBus._on("textlayerrendered", this._onTextLayerRendered); + + this.structTreeLayer = this.structTreeLayerFactory.createStructTreeLayerBuilder(pdfPage); + } + + div.setAttribute("data-loaded", true); + this.eventBus.dispatch("pagerender", { + source: this, + pageNumber: this.id + }); + return resultPromise; + } + }, { + key: "paintOnCanvas", + value: function paintOnCanvas(canvasWrapper) { + var renderCapability = (0, _pdfjsLib.createPromiseCapability)(); + var result = { + promise: renderCapability.promise, + onRenderContinue: function onRenderContinue(cont) { + cont(); + }, + cancel: function cancel() { + renderTask.cancel(); + } + }; + var viewport = this.viewport; + var canvas = document.createElement("canvas"); + canvas.hidden = true; + var isCanvasHidden = true; + + var showCanvas = function showCanvas() { + if (isCanvasHidden) { + canvas.hidden = false; + isCanvasHidden = false; + } + }; + + canvasWrapper.appendChild(canvas); + this.canvas = canvas; + var ctx = canvas.getContext("2d", { + alpha: false + }); + var outputScale = this.outputScale = new _ui_utils.OutputScale(); + + if (this.useOnlyCssZoom) { + var actualSizeViewport = viewport.clone({ + scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS + }); + outputScale.sx *= actualSizeViewport.width / viewport.width; + outputScale.sy *= actualSizeViewport.height / viewport.height; + } + + if (this.maxCanvasPixels > 0) { + var pixelsInViewport = viewport.width * viewport.height; + var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport); + + if (outputScale.sx > maxScale || outputScale.sy > maxScale) { + outputScale.sx = maxScale; + outputScale.sy = maxScale; + this.hasRestrictedScaling = true; + } else { + this.hasRestrictedScaling = false; + } + } + + var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx); + var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy); + canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]); + canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]); + canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + "px"; + canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + "px"; + this.paintedViewportMap.set(canvas, viewport); + var transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null; + var renderContext = { + canvasContext: ctx, + transform: transform, + viewport: this.viewport, + annotationMode: _classPrivateFieldGet(this, _annotationMode), + optionalContentConfigPromise: this._optionalContentConfigPromise, + annotationCanvasMap: this._annotationCanvasMap, + pageColors: this.pageColors + }; + var renderTask = this.pdfPage.render(renderContext); + + renderTask.onContinue = function (cont) { + showCanvas(); + + if (result.onRenderContinue) { + result.onRenderContinue(cont); + } else { + cont(); + } + }; + + renderTask.promise.then(function () { + showCanvas(); + renderCapability.resolve(); + }, function (error) { + showCanvas(); + renderCapability.reject(error); + }); + return result; + } + }, { + key: "paintOnSvg", + value: function paintOnSvg(wrapper) { + var _this3 = this; + + var cancelled = false; + + var ensureNotCancelled = function ensureNotCancelled() { + if (cancelled) { + throw new _pdfjsLib.RenderingCancelledException("Rendering cancelled, page ".concat(_this3.id), "svg"); + } + }; + + var pdfPage = this.pdfPage; + var actualSizeViewport = this.viewport.clone({ + scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS + }); + var promise = pdfPage.getOperatorList({ + annotationMode: _classPrivateFieldGet(this, _annotationMode) + }).then(function (opList) { + ensureNotCancelled(); + var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs); + return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) { + ensureNotCancelled(); + _this3.svg = svg; + + _this3.paintedViewportMap.set(svg, actualSizeViewport); + + svg.style.width = wrapper.style.width; + svg.style.height = wrapper.style.height; + _this3.renderingState = _ui_utils.RenderingStates.FINISHED; + wrapper.appendChild(svg); + }); + }); + return { + promise: promise, + onRenderContinue: function onRenderContinue(cont) { + cont(); + }, + cancel: function cancel() { + cancelled = true; + } + }; + } + }, { + key: "setPageLabel", + value: function setPageLabel(label) { + this.pageLabel = typeof label === "string" ? label : null; + + if (this.pageLabel !== null) { + this.div.setAttribute("data-page-label", this.pageLabel); + } else { + this.div.removeAttribute("data-page-label"); + } + } + }]); + + return PDFPageView; +}(); + +exports.PDFPageView = PDFPageView; + +/***/ }), +/* 35 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StructTreeLayerBuilder = void 0; + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var PDF_ROLE_TO_HTML_ROLE = { + Document: null, + DocumentFragment: null, + Part: "group", + Sect: "group", + Div: "group", + Aside: "note", + NonStruct: "none", + P: null, + H: "heading", + Title: null, + FENote: "note", + Sub: "group", + Lbl: null, + Span: null, + Em: null, + Strong: null, + Link: "link", + Annot: "note", + Form: "form", + Ruby: null, + RB: null, + RT: null, + RP: null, + Warichu: null, + WT: null, + WP: null, + L: "list", + LI: "listitem", + LBody: null, + Table: "table", + TR: "row", + TH: "columnheader", + TD: "cell", + THead: "columnheader", + TBody: null, + TFoot: null, + Caption: null, + Figure: "figure", + Formula: null, + Artifact: null +}; +var HEADING_PATTERN = /^H(\d+)$/; + +var StructTreeLayerBuilder = /*#__PURE__*/function () { + function StructTreeLayerBuilder(_ref) { + var pdfPage = _ref.pdfPage; + + _classCallCheck(this, StructTreeLayerBuilder); + + this.pdfPage = pdfPage; + } + + _createClass(StructTreeLayerBuilder, [{ + key: "render", + value: function render(structTree) { + return this._walk(structTree); + } + }, { + key: "_setAttributes", + value: function _setAttributes(structElement, htmlElement) { + if (structElement.alt !== undefined) { + htmlElement.setAttribute("aria-label", structElement.alt); + } + + if (structElement.id !== undefined) { + htmlElement.setAttribute("aria-owns", structElement.id); + } + + if (structElement.lang !== undefined) { + htmlElement.setAttribute("lang", structElement.lang); + } + } + }, { + key: "_walk", + value: function _walk(node) { + if (!node) { + return null; + } + + var element = document.createElement("span"); + + if ("role" in node) { + var role = node.role; + var match = role.match(HEADING_PATTERN); + + if (match) { + element.setAttribute("role", "heading"); + element.setAttribute("aria-level", match[1]); + } else if (PDF_ROLE_TO_HTML_ROLE[role]) { + element.setAttribute("role", PDF_ROLE_TO_HTML_ROLE[role]); + } + } + + this._setAttributes(node, element); + + if (node.children) { + if (node.children.length === 1 && "id" in node.children[0]) { + this._setAttributes(node.children[0], element); + } else { + var _iterator = _createForOfIteratorHelper(node.children), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var kid = _step.value; + element.appendChild(this._walk(kid)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + } + + return element; + } + }]); + + return StructTreeLayerBuilder; +}(); + +exports.StructTreeLayerBuilder = StructTreeLayerBuilder; + +/***/ }), +/* 36 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TextHighlighter = void 0; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var TextHighlighter = /*#__PURE__*/function () { + function TextHighlighter(_ref) { + var findController = _ref.findController, + eventBus = _ref.eventBus, + pageIndex = _ref.pageIndex; + + _classCallCheck(this, TextHighlighter); + + this.findController = findController; + this.matches = []; + this.eventBus = eventBus; + this.pageIdx = pageIndex; + this._onUpdateTextLayerMatches = null; + this.textDivs = null; + this.textContentItemsStr = null; + this.enabled = false; + } + + _createClass(TextHighlighter, [{ + key: "setTextMapping", + value: function setTextMapping(divs, texts) { + this.textDivs = divs; + this.textContentItemsStr = texts; + } + }, { + key: "enable", + value: function enable() { + var _this = this; + + if (!this.textDivs || !this.textContentItemsStr) { + throw new Error("Text divs and strings have not been set."); + } + + if (this.enabled) { + throw new Error("TextHighlighter is already enabled."); + } + + this.enabled = true; + + if (!this._onUpdateTextLayerMatches) { + this._onUpdateTextLayerMatches = function (evt) { + if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) { + _this._updateMatches(); + } + }; + + this.eventBus._on("updatetextlayermatches", this._onUpdateTextLayerMatches); + } + + this._updateMatches(); + } + }, { + key: "disable", + value: function disable() { + if (!this.enabled) { + return; + } + + this.enabled = false; + + if (this._onUpdateTextLayerMatches) { + this.eventBus._off("updatetextlayermatches", this._onUpdateTextLayerMatches); + + this._onUpdateTextLayerMatches = null; + } + } + }, { + key: "_convertMatches", + value: function _convertMatches(matches, matchesLength) { + if (!matches) { + return []; + } + + var textContentItemsStr = this.textContentItemsStr; + var i = 0, + iIndex = 0; + var end = textContentItemsStr.length - 1; + var result = []; + + for (var m = 0, mm = matches.length; m < mm; m++) { + var matchIdx = matches[m]; + + while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) { + iIndex += textContentItemsStr[i].length; + i++; + } + + if (i === textContentItemsStr.length) { + console.error("Could not find a matching mapping"); + } + + var match = { + begin: { + divIdx: i, + offset: matchIdx - iIndex + } + }; + matchIdx += matchesLength[m]; + + while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) { + iIndex += textContentItemsStr[i].length; + i++; + } + + match.end = { + divIdx: i, + offset: matchIdx - iIndex + }; + result.push(match); + } + + return result; + } + }, { + key: "_renderMatches", + value: function _renderMatches(matches) { + if (matches.length === 0) { + return; + } + + var findController = this.findController, + pageIdx = this.pageIdx; + var textContentItemsStr = this.textContentItemsStr, + textDivs = this.textDivs; + var isSelectedPage = pageIdx === findController.selected.pageIdx; + var selectedMatchIdx = findController.selected.matchIdx; + var highlightAll = findController.state.highlightAll; + var prevEnd = null; + var infinity = { + divIdx: -1, + offset: undefined + }; + + function beginText(begin, className) { + var divIdx = begin.divIdx; + textDivs[divIdx].textContent = ""; + return appendTextToDiv(divIdx, 0, begin.offset, className); + } + + function appendTextToDiv(divIdx, fromOffset, toOffset, className) { + var div = textDivs[divIdx]; + + if (div.nodeType === Node.TEXT_NODE) { + var span = document.createElement("span"); + div.parentNode.insertBefore(span, div); + span.appendChild(div); + textDivs[divIdx] = span; + div = span; + } + + var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset); + var node = document.createTextNode(content); + + if (className) { + var _span = document.createElement("span"); + + _span.className = "".concat(className, " appended"); + + _span.appendChild(node); + + div.appendChild(_span); + return className.includes("selected") ? _span.offsetLeft : 0; + } + + div.appendChild(node); + return 0; + } + + var i0 = selectedMatchIdx, + i1 = i0 + 1; + + if (highlightAll) { + i0 = 0; + i1 = matches.length; + } else if (!isSelectedPage) { + return; + } + + for (var i = i0; i < i1; i++) { + var match = matches[i]; + var begin = match.begin; + var end = match.end; + var isSelected = isSelectedPage && i === selectedMatchIdx; + var highlightSuffix = isSelected ? " selected" : ""; + var selectedLeft = 0; + + if (!prevEnd || begin.divIdx !== prevEnd.divIdx) { + if (prevEnd !== null) { + appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset); + } + + beginText(begin); + } else { + appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset); + } + + if (begin.divIdx === end.divIdx) { + selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, "highlight" + highlightSuffix); + } else { + selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, "highlight begin" + highlightSuffix); + + for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) { + textDivs[n0].className = "highlight middle" + highlightSuffix; + } + + beginText(end, "highlight end" + highlightSuffix); + } + + prevEnd = end; + + if (isSelected) { + findController.scrollMatchIntoView({ + element: textDivs[begin.divIdx], + selectedLeft: selectedLeft, + pageIndex: pageIdx, + matchIndex: selectedMatchIdx + }); + } + } + + if (prevEnd) { + appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset); + } + } + }, { + key: "_updateMatches", + value: function _updateMatches() { + if (!this.enabled) { + return; + } + + var findController = this.findController, + matches = this.matches, + pageIdx = this.pageIdx; + var textContentItemsStr = this.textContentItemsStr, + textDivs = this.textDivs; + var clearedUntilDivIdx = -1; + + for (var i = 0, ii = matches.length; i < ii; i++) { + var match = matches[i]; + var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx); + + for (var n = begin, end = match.end.divIdx; n <= end; n++) { + var div = textDivs[n]; + div.textContent = textContentItemsStr[n]; + div.className = ""; + } + + clearedUntilDivIdx = match.end.divIdx + 1; + } + + if (!(findController !== null && findController !== void 0 && findController.highlightMatches)) { + return; + } + + var pageMatches = findController.pageMatches[pageIdx] || null; + var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null; + this.matches = this._convertMatches(pageMatches, pageMatchesLength); + + this._renderMatches(this.matches); + } + }]); + + return TextHighlighter; +}(); + +exports.TextHighlighter = TextHighlighter; + +/***/ }), +/* 37 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TextLayerBuilder = void 0; + +var _pdfjsLib = __webpack_require__(7); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var EXPAND_DIVS_TIMEOUT = 300; + +var TextLayerBuilder = /*#__PURE__*/function () { + function TextLayerBuilder(_ref) { + var textLayerDiv = _ref.textLayerDiv, + eventBus = _ref.eventBus, + pageIndex = _ref.pageIndex, + viewport = _ref.viewport, + _ref$highlighter = _ref.highlighter, + highlighter = _ref$highlighter === void 0 ? null : _ref$highlighter, + _ref$enhanceTextSelec = _ref.enhanceTextSelection, + enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec; + + _classCallCheck(this, TextLayerBuilder); + + this.textLayerDiv = textLayerDiv; + this.eventBus = eventBus; + this.textContent = null; + this.textContentItemsStr = []; + this.textContentStream = null; + this.renderingDone = false; + this.pageNumber = pageIndex + 1; + this.viewport = viewport; + this.textDivs = []; + this.textLayerRenderTask = null; + this.highlighter = highlighter; + this.enhanceTextSelection = enhanceTextSelection; + + this._bindMouse(); + } + + _createClass(TextLayerBuilder, [{ + key: "_finishRendering", + value: function _finishRendering() { + this.renderingDone = true; + + if (!this.enhanceTextSelection) { + var endOfContent = document.createElement("div"); + endOfContent.className = "endOfContent"; + this.textLayerDiv.appendChild(endOfContent); + } + + this.eventBus.dispatch("textlayerrendered", { + source: this, + pageNumber: this.pageNumber, + numTextDivs: this.textDivs.length + }); + } + }, { + key: "render", + value: function render() { + var _this$highlighter, + _this = this; + + var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + + if (!(this.textContent || this.textContentStream) || this.renderingDone) { + return; + } + + this.cancel(); + this.textDivs.length = 0; + (_this$highlighter = this.highlighter) === null || _this$highlighter === void 0 ? void 0 : _this$highlighter.setTextMapping(this.textDivs, this.textContentItemsStr); + var textLayerFrag = document.createDocumentFragment(); + this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({ + textContent: this.textContent, + textContentStream: this.textContentStream, + container: textLayerFrag, + viewport: this.viewport, + textDivs: this.textDivs, + textContentItemsStr: this.textContentItemsStr, + timeout: timeout, + enhanceTextSelection: this.enhanceTextSelection + }); + this.textLayerRenderTask.promise.then(function () { + var _this$highlighter2; + + _this.textLayerDiv.appendChild(textLayerFrag); + + _this._finishRendering(); + + (_this$highlighter2 = _this.highlighter) === null || _this$highlighter2 === void 0 ? void 0 : _this$highlighter2.enable(); + }, function (reason) {}); + } + }, { + key: "cancel", + value: function cancel() { + var _this$highlighter3; + + if (this.textLayerRenderTask) { + this.textLayerRenderTask.cancel(); + this.textLayerRenderTask = null; + } + + (_this$highlighter3 = this.highlighter) === null || _this$highlighter3 === void 0 ? void 0 : _this$highlighter3.disable(); + } + }, { + key: "setTextContentStream", + value: function setTextContentStream(readableStream) { + this.cancel(); + this.textContentStream = readableStream; + } + }, { + key: "setTextContent", + value: function setTextContent(textContent) { + this.cancel(); + this.textContent = textContent; + } + }, { + key: "_bindMouse", + value: function _bindMouse() { + var _this2 = this; + + var div = this.textLayerDiv; + var expandDivsTimer = null; + div.addEventListener("mousedown", function (evt) { + if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) { + _this2.textLayerRenderTask.expandTextDivs(true); + + if (expandDivsTimer) { + clearTimeout(expandDivsTimer); + expandDivsTimer = null; + } + + return; + } + + var end = div.querySelector(".endOfContent"); + + if (!end) { + return; + } + + var adjustTop = evt.target !== div; + adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue("-moz-user-select") !== "none"; + + if (adjustTop) { + var divBounds = div.getBoundingClientRect(); + var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height); + end.style.top = (r * 100).toFixed(2) + "%"; + } + + end.classList.add("active"); + }); + div.addEventListener("mouseup", function () { + if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) { + expandDivsTimer = setTimeout(function () { + if (_this2.textLayerRenderTask) { + _this2.textLayerRenderTask.expandTextDivs(false); + } + + expandDivsTimer = null; + }, EXPAND_DIVS_TIMEOUT); + return; + } + + var end = div.querySelector(".endOfContent"); + + if (!end) { + return; + } + + end.style.top = ""; + end.classList.remove("active"); + }); + } + }]); + + return TextLayerBuilder; +}(); + +exports.TextLayerBuilder = TextLayerBuilder; + +/***/ }), +/* 38 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaLayerBuilder = void 0; + +var _pdfjsLib = __webpack_require__(7); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var XfaLayerBuilder = /*#__PURE__*/function () { + function XfaLayerBuilder(_ref) { + var pageDiv = _ref.pageDiv, + pdfPage = _ref.pdfPage, + _ref$annotationStorag = _ref.annotationStorage, + annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag, + linkService = _ref.linkService, + _ref$xfaHtml = _ref.xfaHtml, + xfaHtml = _ref$xfaHtml === void 0 ? null : _ref$xfaHtml; + + _classCallCheck(this, XfaLayerBuilder); + + this.pageDiv = pageDiv; + this.pdfPage = pdfPage; + this.annotationStorage = annotationStorage; + this.linkService = linkService; + this.xfaHtml = xfaHtml; + this.div = null; + this._cancelled = false; + } + + _createClass(XfaLayerBuilder, [{ + key: "render", + value: function render(viewport) { + var _this = this; + + var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display"; + + if (intent === "print") { + var parameters = { + viewport: viewport.clone({ + dontFlip: true + }), + div: this.div, + xfaHtml: this.xfaHtml, + annotationStorage: this.annotationStorage, + linkService: this.linkService, + intent: intent + }; + var div = document.createElement("div"); + this.pageDiv.appendChild(div); + parameters.div = div; + + var result = _pdfjsLib.XfaLayer.render(parameters); + + return Promise.resolve(result); + } + + return this.pdfPage.getXfa().then(function (xfaHtml) { + if (_this._cancelled || !xfaHtml) { + return { + textDivs: [] + }; + } + + var parameters = { + viewport: viewport.clone({ + dontFlip: true + }), + div: _this.div, + xfaHtml: xfaHtml, + annotationStorage: _this.annotationStorage, + linkService: _this.linkService, + intent: intent + }; + + if (_this.div) { + return _pdfjsLib.XfaLayer.update(parameters); + } + + _this.div = document.createElement("div"); + + _this.pageDiv.appendChild(_this.div); + + parameters.div = _this.div; + return _pdfjsLib.XfaLayer.render(parameters); + })["catch"](function (error) { + console.error(error); + }); + } + }, { + key: "cancel", + value: function cancel() { + this._cancelled = true; + } + }, { + key: "hide", + value: function hide() { + if (!this.div) { + return; + } + + this.div.hidden = true; + } + }]); + + return XfaLayerBuilder; +}(); + +exports.XfaLayerBuilder = XfaLayerBuilder; + +/***/ }), +/* 39 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SecondaryToolbar = void 0; + +var _ui_utils = __webpack_require__(5); + +var _pdf_cursor_tools = __webpack_require__(8); + +var _base_viewer = __webpack_require__(31); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +var _updateUIState = /*#__PURE__*/new WeakSet(); + +var _bindClickListeners = /*#__PURE__*/new WeakSet(); + +var _bindCursorToolsListener = /*#__PURE__*/new WeakSet(); + +var _bindScrollModeListener = /*#__PURE__*/new WeakSet(); + +var _bindSpreadModeListener = /*#__PURE__*/new WeakSet(); + +var SecondaryToolbar = /*#__PURE__*/function () { + function SecondaryToolbar(options, eventBus) { + _classCallCheck(this, SecondaryToolbar); + + _classPrivateMethodInitSpec(this, _bindSpreadModeListener); + + _classPrivateMethodInitSpec(this, _bindScrollModeListener); + + _classPrivateMethodInitSpec(this, _bindCursorToolsListener); + + _classPrivateMethodInitSpec(this, _bindClickListeners); + + _classPrivateMethodInitSpec(this, _updateUIState); + + this.toolbar = options.toolbar; + this.toggleButton = options.toggleButton; + this.buttons = [{ + element: options.presentationModeButton, + eventName: "presentationmode", + close: true + }, { + element: options.printButton, + eventName: "print", + close: true + }, { + element: options.downloadButton, + eventName: "download", + close: true + }, { + element: options.viewBookmarkButton, + eventName: null, + close: true + }, { + element: options.firstPageButton, + eventName: "firstpage", + close: true + }, { + element: options.lastPageButton, + eventName: "lastpage", + close: true + }, { + element: options.pageRotateCwButton, + eventName: "rotatecw", + close: false + }, { + element: options.pageRotateCcwButton, + eventName: "rotateccw", + close: false + }, { + element: options.cursorSelectToolButton, + eventName: "switchcursortool", + eventDetails: { + tool: _pdf_cursor_tools.CursorTool.SELECT + }, + close: true + }, { + element: options.cursorHandToolButton, + eventName: "switchcursortool", + eventDetails: { + tool: _pdf_cursor_tools.CursorTool.HAND + }, + close: true + }, { + element: options.scrollPageButton, + eventName: "switchscrollmode", + eventDetails: { + mode: _ui_utils.ScrollMode.PAGE + }, + close: true + }, { + element: options.scrollVerticalButton, + eventName: "switchscrollmode", + eventDetails: { + mode: _ui_utils.ScrollMode.VERTICAL + }, + close: true + }, { + element: options.scrollHorizontalButton, + eventName: "switchscrollmode", + eventDetails: { + mode: _ui_utils.ScrollMode.HORIZONTAL + }, + close: true + }, { + element: options.scrollWrappedButton, + eventName: "switchscrollmode", + eventDetails: { + mode: _ui_utils.ScrollMode.WRAPPED + }, + close: true + }, { + element: options.spreadNoneButton, + eventName: "switchspreadmode", + eventDetails: { + mode: _ui_utils.SpreadMode.NONE + }, + close: true + }, { + element: options.spreadOddButton, + eventName: "switchspreadmode", + eventDetails: { + mode: _ui_utils.SpreadMode.ODD + }, + close: true + }, { + element: options.spreadEvenButton, + eventName: "switchspreadmode", + eventDetails: { + mode: _ui_utils.SpreadMode.EVEN + }, + close: true + }, { + element: options.documentPropertiesButton, + eventName: "documentproperties", + close: true + }]; + this.buttons.push({ + element: options.openFileButton, + eventName: "openfile", + close: true + }); + this.items = { + firstPage: options.firstPageButton, + lastPage: options.lastPageButton, + pageRotateCw: options.pageRotateCwButton, + pageRotateCcw: options.pageRotateCcwButton + }; + this.eventBus = eventBus; + this.opened = false; + this.reset(); + + _classPrivateMethodGet(this, _bindClickListeners, _bindClickListeners2).call(this); + + _classPrivateMethodGet(this, _bindCursorToolsListener, _bindCursorToolsListener2).call(this, options); + + _classPrivateMethodGet(this, _bindScrollModeListener, _bindScrollModeListener2).call(this, options); + + _classPrivateMethodGet(this, _bindSpreadModeListener, _bindSpreadModeListener2).call(this, options); + } + + _createClass(SecondaryToolbar, [{ + key: "isOpen", + get: function get() { + return this.opened; + } + }, { + key: "setPageNumber", + value: function setPageNumber(pageNumber) { + this.pageNumber = pageNumber; + + _classPrivateMethodGet(this, _updateUIState, _updateUIState2).call(this); + } + }, { + key: "setPagesCount", + value: function setPagesCount(pagesCount) { + this.pagesCount = pagesCount; + + _classPrivateMethodGet(this, _updateUIState, _updateUIState2).call(this); + } + }, { + key: "reset", + value: function reset() { + this.pageNumber = 0; + this.pagesCount = 0; + + _classPrivateMethodGet(this, _updateUIState, _updateUIState2).call(this); + + this.eventBus.dispatch("secondarytoolbarreset", { + source: this + }); + } + }, { + key: "open", + value: function open() { + if (this.opened) { + return; + } + + this.opened = true; + this.toggleButton.classList.add("toggled"); + this.toggleButton.setAttribute("aria-expanded", "true"); + this.toolbar.classList.remove("hidden"); + } + }, { + key: "close", + value: function close() { + if (!this.opened) { + return; + } + + this.opened = false; + this.toolbar.classList.add("hidden"); + this.toggleButton.classList.remove("toggled"); + this.toggleButton.setAttribute("aria-expanded", "false"); + } + }, { + key: "toggle", + value: function toggle() { + if (this.opened) { + this.close(); + } else { + this.open(); + } + } + }]); + + return SecondaryToolbar; +}(); + +exports.SecondaryToolbar = SecondaryToolbar; + +function _updateUIState2() { + this.items.firstPage.disabled = this.pageNumber <= 1; + this.items.lastPage.disabled = this.pageNumber >= this.pagesCount; + this.items.pageRotateCw.disabled = this.pagesCount === 0; + this.items.pageRotateCcw.disabled = this.pagesCount === 0; +} + +function _bindClickListeners2() { + var _this = this; + + this.toggleButton.addEventListener("click", this.toggle.bind(this)); + + var _iterator = _createForOfIteratorHelper(this.buttons), + _step; + + try { + var _loop = function _loop() { + var _step$value = _step.value, + element = _step$value.element, + eventName = _step$value.eventName, + close = _step$value.close, + eventDetails = _step$value.eventDetails; + element.addEventListener("click", function (evt) { + if (eventName !== null) { + var details = { + source: _this + }; + + for (var property in eventDetails) { + details[property] = eventDetails[property]; + } + + _this.eventBus.dispatch(eventName, details); + } + + if (close) { + _this.close(); + } + }); + }; + + for (_iterator.s(); !(_step = _iterator.n()).done;) { + _loop(); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } +} + +function _bindCursorToolsListener2(_ref) { + var cursorSelectToolButton = _ref.cursorSelectToolButton, + cursorHandToolButton = _ref.cursorHandToolButton; + + this.eventBus._on("cursortoolchanged", function (_ref2) { + var tool = _ref2.tool; + var isSelect = tool === _pdf_cursor_tools.CursorTool.SELECT, + isHand = tool === _pdf_cursor_tools.CursorTool.HAND; + cursorSelectToolButton.classList.toggle("toggled", isSelect); + cursorHandToolButton.classList.toggle("toggled", isHand); + cursorSelectToolButton.setAttribute("aria-checked", isSelect); + cursorHandToolButton.setAttribute("aria-checked", isHand); + }); +} + +function _bindScrollModeListener2(_ref3) { + var _this2 = this; + + var scrollPageButton = _ref3.scrollPageButton, + scrollVerticalButton = _ref3.scrollVerticalButton, + scrollHorizontalButton = _ref3.scrollHorizontalButton, + scrollWrappedButton = _ref3.scrollWrappedButton, + spreadNoneButton = _ref3.spreadNoneButton, + spreadOddButton = _ref3.spreadOddButton, + spreadEvenButton = _ref3.spreadEvenButton; + + var scrollModeChanged = function scrollModeChanged(_ref4) { + var mode = _ref4.mode; + var isPage = mode === _ui_utils.ScrollMode.PAGE, + isVertical = mode === _ui_utils.ScrollMode.VERTICAL, + isHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL, + isWrapped = mode === _ui_utils.ScrollMode.WRAPPED; + scrollPageButton.classList.toggle("toggled", isPage); + scrollVerticalButton.classList.toggle("toggled", isVertical); + scrollHorizontalButton.classList.toggle("toggled", isHorizontal); + scrollWrappedButton.classList.toggle("toggled", isWrapped); + scrollPageButton.setAttribute("aria-checked", isPage); + scrollVerticalButton.setAttribute("aria-checked", isVertical); + scrollHorizontalButton.setAttribute("aria-checked", isHorizontal); + scrollWrappedButton.setAttribute("aria-checked", isWrapped); + var forceScrollModePage = _this2.pagesCount > _base_viewer.PagesCountLimit.FORCE_SCROLL_MODE_PAGE; + scrollPageButton.disabled = forceScrollModePage; + scrollVerticalButton.disabled = forceScrollModePage; + scrollHorizontalButton.disabled = forceScrollModePage; + scrollWrappedButton.disabled = forceScrollModePage; + spreadNoneButton.disabled = isHorizontal; + spreadOddButton.disabled = isHorizontal; + spreadEvenButton.disabled = isHorizontal; + }; + + this.eventBus._on("scrollmodechanged", scrollModeChanged); + + this.eventBus._on("secondarytoolbarreset", function (evt) { + if (evt.source === _this2) { + scrollModeChanged({ + mode: _ui_utils.ScrollMode.VERTICAL + }); + } + }); +} + +function _bindSpreadModeListener2(_ref5) { + var _this3 = this; + + var spreadNoneButton = _ref5.spreadNoneButton, + spreadOddButton = _ref5.spreadOddButton, + spreadEvenButton = _ref5.spreadEvenButton; + + function spreadModeChanged(_ref6) { + var mode = _ref6.mode; + var isNone = mode === _ui_utils.SpreadMode.NONE, + isOdd = mode === _ui_utils.SpreadMode.ODD, + isEven = mode === _ui_utils.SpreadMode.EVEN; + spreadNoneButton.classList.toggle("toggled", isNone); + spreadOddButton.classList.toggle("toggled", isOdd); + spreadEvenButton.classList.toggle("toggled", isEven); + spreadNoneButton.setAttribute("aria-checked", isNone); + spreadOddButton.setAttribute("aria-checked", isOdd); + spreadEvenButton.setAttribute("aria-checked", isEven); + } + + this.eventBus._on("spreadmodechanged", spreadModeChanged); + + this.eventBus._on("secondarytoolbarreset", function (evt) { + if (evt.source === _this3) { + spreadModeChanged({ + mode: _ui_utils.SpreadMode.NONE + }); + } + }); +} + +/***/ }), +/* 40 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.Toolbar = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _ui_utils = __webpack_require__(5); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; } + +var PAGE_NUMBER_LOADING_INDICATOR = "visiblePageIsLoading"; + +var _adjustScaleWidth = /*#__PURE__*/new WeakSet(); + +var Toolbar = /*#__PURE__*/function () { + function Toolbar(options, eventBus, _l10n) { + _classCallCheck(this, Toolbar); + + _classPrivateMethodInitSpec(this, _adjustScaleWidth); + + this.toolbar = options.container; + this.eventBus = eventBus; + this.l10n = _l10n; + this.buttons = [{ + element: options.previous, + eventName: "previouspage" + }, { + element: options.next, + eventName: "nextpage" + }, { + element: options.zoomIn, + eventName: "zoomin" + }, { + element: options.zoomOut, + eventName: "zoomout" + }, { + element: options.print, + eventName: "print" + }, { + element: options.presentationModeButton, + eventName: "presentationmode" + }, { + element: options.download, + eventName: "download" + }, { + element: options.viewBookmark, + eventName: null + }]; + this.buttons.push({ + element: options.openFile, + eventName: "openfile" + }); + this.items = { + numPages: options.numPages, + pageNumber: options.pageNumber, + scaleSelect: options.scaleSelect, + customScaleOption: options.customScaleOption, + previous: options.previous, + next: options.next, + zoomIn: options.zoomIn, + zoomOut: options.zoomOut + }; + this._wasLocalized = false; + this.reset(); + + this._bindListeners(); + } + + _createClass(Toolbar, [{ + key: "setPageNumber", + value: function setPageNumber(pageNumber, pageLabel) { + this.pageNumber = pageNumber; + this.pageLabel = pageLabel; + + this._updateUIState(false); + } + }, { + key: "setPagesCount", + value: function setPagesCount(pagesCount, hasPageLabels) { + this.pagesCount = pagesCount; + this.hasPageLabels = hasPageLabels; + + this._updateUIState(true); + } + }, { + key: "setPageScale", + value: function setPageScale(pageScaleValue, pageScale) { + this.pageScaleValue = (pageScaleValue || pageScale).toString(); + this.pageScale = pageScale; + + this._updateUIState(false); + } + }, { + key: "reset", + value: function reset() { + this.pageNumber = 0; + this.pageLabel = null; + this.hasPageLabels = false; + this.pagesCount = 0; + this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + this.pageScale = _ui_utils.DEFAULT_SCALE; + + this._updateUIState(true); + + this.updateLoadingIndicatorState(); + } + }, { + key: "_bindListeners", + value: function _bindListeners() { + var _this = this; + + var _this$items = this.items, + pageNumber = _this$items.pageNumber, + scaleSelect = _this$items.scaleSelect; + var self = this; + + var _iterator = _createForOfIteratorHelper(this.buttons), + _step; + + try { + var _loop = function _loop() { + var _step$value = _step.value, + element = _step$value.element, + eventName = _step$value.eventName; + element.addEventListener("click", function (evt) { + if (eventName !== null) { + _this.eventBus.dispatch(eventName, { + source: _this + }); + } + }); + }; + + for (_iterator.s(); !(_step = _iterator.n()).done;) { + _loop(); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + pageNumber.addEventListener("click", function () { + this.select(); + }); + pageNumber.addEventListener("change", function () { + self.eventBus.dispatch("pagenumberchanged", { + source: self, + value: this.value + }); + }); + scaleSelect.addEventListener("change", function () { + if (this.value === "custom") { + return; + } + + self.eventBus.dispatch("scalechanged", { + source: self, + value: this.value + }); + }); + scaleSelect.addEventListener("click", function (evt) { + var target = evt.target; + + if (this.value === self.pageScaleValue && target.tagName.toUpperCase() === "OPTION") { + this.blur(); + } + }); + scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler; + + this.eventBus._on("localized", function () { + _this._wasLocalized = true; + + _classPrivateMethodGet(_this, _adjustScaleWidth, _adjustScaleWidth2).call(_this); + + _this._updateUIState(true); + }); + } + }, { + key: "_updateUIState", + value: function _updateUIState() { + var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this._wasLocalized) { + return; + } + + var pageNumber = this.pageNumber, + pagesCount = this.pagesCount, + pageScaleValue = this.pageScaleValue, + pageScale = this.pageScale, + items = this.items; + + if (resetNumPages) { + if (this.hasPageLabels) { + items.pageNumber.type = "text"; + } else { + items.pageNumber.type = "number"; + this.l10n.get("of_pages", { + pagesCount: pagesCount + }).then(function (msg) { + items.numPages.textContent = msg; + }); + } + + items.pageNumber.max = pagesCount; + } + + if (this.hasPageLabels) { + items.pageNumber.value = this.pageLabel; + this.l10n.get("page_of_pages", { + pageNumber: pageNumber, + pagesCount: pagesCount + }).then(function (msg) { + items.numPages.textContent = msg; + }); + } else { + items.pageNumber.value = pageNumber; + } + + items.previous.disabled = pageNumber <= 1; + items.next.disabled = pageNumber >= pagesCount; + items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE; + items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE; + this.l10n.get("page_scale_percent", { + scale: Math.round(pageScale * 10000) / 100 + }).then(function (msg) { + var predefinedValueFound = false; + + var _iterator2 = _createForOfIteratorHelper(items.scaleSelect.options), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var option = _step2.value; + + if (option.value !== pageScaleValue) { + option.selected = false; + continue; + } + + option.selected = true; + predefinedValueFound = true; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + if (!predefinedValueFound) { + items.customScaleOption.textContent = msg; + items.customScaleOption.selected = true; + } + }); + } + }, { + key: "updateLoadingIndicatorState", + value: function updateLoadingIndicatorState() { + var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var pageNumberInput = this.items.pageNumber; + pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading); + } + }]); + + return Toolbar; +}(); + +exports.Toolbar = Toolbar; + +function _adjustScaleWidth2() { + return _adjustScaleWidth3.apply(this, arguments); +} + +function _adjustScaleWidth3() { + _adjustScaleWidth3 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var items, l10n, predefinedValuesPromise, style, scaleSelectContainerWidth, scaleSelectOverflow, canvas, ctx, maxWidth, _iterator3, _step3, predefinedValue, _ctx$measureText, width, doc; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + items = this.items, l10n = this.l10n; + predefinedValuesPromise = Promise.all([l10n.get("page_scale_auto"), l10n.get("page_scale_actual"), l10n.get("page_scale_fit"), l10n.get("page_scale_width")]); + _context.next = 4; + return _ui_utils.animationStarted; + + case 4: + style = getComputedStyle(items.scaleSelect), scaleSelectContainerWidth = parseInt(style.getPropertyValue("--scale-select-container-width"), 10), scaleSelectOverflow = parseInt(style.getPropertyValue("--scale-select-overflow"), 10); + canvas = document.createElement("canvas"); + ctx = canvas.getContext("2d", { + alpha: false + }); + ctx.font = "".concat(style.fontSize, " ").concat(style.fontFamily); + maxWidth = 0; + _context.t0 = _createForOfIteratorHelper; + _context.next = 12; + return predefinedValuesPromise; + + case 12: + _context.t1 = _context.sent; + _iterator3 = (0, _context.t0)(_context.t1); + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + predefinedValue = _step3.value; + _ctx$measureText = ctx.measureText(predefinedValue), width = _ctx$measureText.width; + + if (width > maxWidth) { + maxWidth = width; + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + maxWidth += 2 * scaleSelectOverflow; + + if (maxWidth > scaleSelectContainerWidth) { + doc = document.documentElement; + doc.style.setProperty("--scale-select-container-width", "".concat(maxWidth, "px")); + } + + canvas.width = 0; + canvas.height = 0; + + case 19: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + return _adjustScaleWidth3.apply(this, arguments); +} + +/***/ }), +/* 41 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.ViewHistory = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20; + +var ViewHistory = /*#__PURE__*/function () { + function ViewHistory(fingerprint) { + var _this = this; + + var cacheSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_VIEW_HISTORY_CACHE_SIZE; + + _classCallCheck(this, ViewHistory); + + this.fingerprint = fingerprint; + this.cacheSize = cacheSize; + this._initializedPromise = this._readFromStorage().then(function (databaseStr) { + var database = JSON.parse(databaseStr || "{}"); + var index = -1; + + if (!Array.isArray(database.files)) { + database.files = []; + } else { + while (database.files.length >= _this.cacheSize) { + database.files.shift(); + } + + for (var i = 0, ii = database.files.length; i < ii; i++) { + var branch = database.files[i]; + + if (branch.fingerprint === _this.fingerprint) { + index = i; + break; + } + } + } + + if (index === -1) { + index = database.files.push({ + fingerprint: _this.fingerprint + }) - 1; + } + + _this.file = database.files[index]; + _this.database = database; + }); + } + + _createClass(ViewHistory, [{ + key: "_writeToStorage", + value: function () { + var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var databaseStr; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + databaseStr = JSON.stringify(this.database); + localStorage.setItem("pdfjs.history", databaseStr); + + case 2: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _writeToStorage() { + return _writeToStorage2.apply(this, arguments); + } + + return _writeToStorage; + }() + }, { + key: "_readFromStorage", + value: function () { + var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", localStorage.getItem("pdfjs.history")); + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function _readFromStorage() { + return _readFromStorage2.apply(this, arguments); + } + + return _readFromStorage; + }() + }, { + key: "set", + value: function () { + var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name, val) { + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return this._initializedPromise; + + case 2: + this.file[name] = val; + return _context3.abrupt("return", this._writeToStorage()); + + case 4: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function set(_x, _x2) { + return _set.apply(this, arguments); + } + + return set; + }() + }, { + key: "setMultiple", + value: function () { + var _setMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(properties) { + var name; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + _context4.next = 2; + return this._initializedPromise; + + case 2: + for (name in properties) { + this.file[name] = properties[name]; + } + + return _context4.abrupt("return", this._writeToStorage()); + + case 4: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function setMultiple(_x3) { + return _setMultiple.apply(this, arguments); + } + + return setMultiple; + }() + }, { + key: "get", + value: function () { + var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name, defaultValue) { + var val; + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + _context5.next = 2; + return this._initializedPromise; + + case 2: + val = this.file[name]; + return _context5.abrupt("return", val !== undefined ? val : defaultValue); + + case 4: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function get(_x4, _x5) { + return _get.apply(this, arguments); + } + + return get; + }() + }, { + key: "getMultiple", + value: function () { + var _getMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6(properties) { + var values, name, val; + return _regenerator["default"].wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + _context6.next = 2; + return this._initializedPromise; + + case 2: + values = Object.create(null); + + for (name in properties) { + val = this.file[name]; + values[name] = val !== undefined ? val : properties[name]; + } + + return _context6.abrupt("return", values); + + case 5: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function getMultiple(_x6) { + return _getMultiple.apply(this, arguments); + } + + return getMultiple; + }() + }]); + + return ViewHistory; +}(); + +exports.ViewHistory = ViewHistory; + +/***/ }), +/* 42 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GenericCom = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _app = __webpack_require__(2); + +var _preferences = __webpack_require__(43); + +var _download_manager = __webpack_require__(44); + +var _genericl10n = __webpack_require__(45); + +var _generic_scripting = __webpack_require__(47); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +; +var GenericCom = {}; +exports.GenericCom = GenericCom; + +var GenericPreferences = /*#__PURE__*/function (_BasePreferences) { + _inherits(GenericPreferences, _BasePreferences); + + var _super = _createSuper(GenericPreferences); + + function GenericPreferences() { + _classCallCheck(this, GenericPreferences); + + return _super.apply(this, arguments); + } + + _createClass(GenericPreferences, [{ + key: "_writeToStorage", + value: function () { + var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + localStorage.setItem("pdfjs.preferences", JSON.stringify(prefObj)); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + function _writeToStorage(_x) { + return _writeToStorage2.apply(this, arguments); + } + + return _writeToStorage; + }() + }, { + key: "_readFromStorage", + value: function () { + var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", JSON.parse(localStorage.getItem("pdfjs.preferences"))); + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function _readFromStorage(_x2) { + return _readFromStorage2.apply(this, arguments); + } + + return _readFromStorage; + }() + }]); + + return GenericPreferences; +}(_preferences.BasePreferences); + +var GenericExternalServices = /*#__PURE__*/function (_DefaultExternalServi) { + _inherits(GenericExternalServices, _DefaultExternalServi); + + var _super2 = _createSuper(GenericExternalServices); + + function GenericExternalServices() { + _classCallCheck(this, GenericExternalServices); + + return _super2.apply(this, arguments); + } + + _createClass(GenericExternalServices, null, [{ + key: "createDownloadManager", + value: function createDownloadManager(options) { + return new _download_manager.DownloadManager(); + } + }, { + key: "createPreferences", + value: function createPreferences() { + return new GenericPreferences(); + } + }, { + key: "createL10n", + value: function createL10n(_ref) { + var _ref$locale = _ref.locale, + locale = _ref$locale === void 0 ? "en-US" : _ref$locale; + return new _genericl10n.GenericL10n(locale); + } + }, { + key: "createScripting", + value: function createScripting(_ref2) { + var sandboxBundleSrc = _ref2.sandboxBundleSrc; + return new _generic_scripting.GenericScripting(sandboxBundleSrc); + } + }]); + + return GenericExternalServices; +}(_app.DefaultExternalServices); + +_app.PDFViewerApplication.externalServices = GenericExternalServices; + +/***/ }), +/* 43 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BasePreferences = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _app_options = __webpack_require__(1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); } + +function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } } + +function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); } + +function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; } + +function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; } + +function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); } + +function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } } + +var _defaults = /*#__PURE__*/new WeakMap(); + +var _prefs = /*#__PURE__*/new WeakMap(); + +var _initializedPromise = /*#__PURE__*/new WeakMap(); + +var BasePreferences = /*#__PURE__*/function () { + function BasePreferences() { + var _this = this; + + _classCallCheck(this, BasePreferences); + + _classPrivateFieldInitSpec(this, _defaults, { + writable: true, + value: Object.freeze({ + "annotationMode": 2, + "cursorToolOnLoad": 0, + "defaultZoomValue": "", + "disablePageLabels": false, + "enablePermissions": false, + "enablePrintAutoRotate": true, + "enableScripting": true, + "externalLinkTarget": 0, + "historyUpdateUrl": false, + "ignoreDestinationZoom": false, + "pageColorsBackground": "Canvas", + "pageColorsForeground": "CanvasText", + "pdfBugEnabled": false, + "renderer": "canvas", + "sidebarViewOnLoad": -1, + "scrollModeOnLoad": -1, + "spreadModeOnLoad": -1, + "textLayerMode": 1, + "useOnlyCssZoom": false, + "viewerCssTheme": 0, + "viewOnLoad": 0, + "disableAutoFetch": false, + "disableFontFace": false, + "disableRange": false, + "disableStream": false, + "enableXfa": true + }) + }); + + _classPrivateFieldInitSpec(this, _prefs, { + writable: true, + value: Object.create(null) + }); + + _classPrivateFieldInitSpec(this, _initializedPromise, { + writable: true, + value: null + }); + + if (this.constructor === BasePreferences) { + throw new Error("Cannot initialize BasePreferences."); + } + + _classPrivateFieldSet(this, _initializedPromise, this._readFromStorage(_classPrivateFieldGet(this, _defaults)).then(function (prefs) { + for (var name in _classPrivateFieldGet(_this, _defaults)) { + var prefValue = prefs === null || prefs === void 0 ? void 0 : prefs[name]; + + if (_typeof(prefValue) === _typeof(_classPrivateFieldGet(_this, _defaults)[name])) { + _classPrivateFieldGet(_this, _prefs)[name] = prefValue; + } + } + })); + } + + _createClass(BasePreferences, [{ + key: "_writeToStorage", + value: function () { + var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + throw new Error("Not implemented: _writeToStorage"); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + function _writeToStorage(_x) { + return _writeToStorage2.apply(this, arguments); + } + + return _writeToStorage; + }() + }, { + key: "_readFromStorage", + value: function () { + var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + throw new Error("Not implemented: _readFromStorage"); + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function _readFromStorage(_x2) { + return _readFromStorage2.apply(this, arguments); + } + + return _readFromStorage; + }() + }, { + key: "reset", + value: function () { + var _reset = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + var _this2 = this; + + var prefs; + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return _classPrivateFieldGet(this, _initializedPromise); + + case 2: + prefs = _classPrivateFieldGet(this, _prefs); + + _classPrivateFieldSet(this, _prefs, Object.create(null)); + + return _context3.abrupt("return", this._writeToStorage(_classPrivateFieldGet(this, _defaults))["catch"](function (reason) { + _classPrivateFieldSet(_this2, _prefs, prefs); + + throw reason; + })); + + case 5: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function reset() { + return _reset.apply(this, arguments); + } + + return reset; + }() + }, { + key: "set", + value: function () { + var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name, value) { + var _this3 = this; + + var defaultValue, prefs, valueType, defaultType; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + _context4.next = 2; + return _classPrivateFieldGet(this, _initializedPromise); + + case 2: + defaultValue = _classPrivateFieldGet(this, _defaults)[name], prefs = _classPrivateFieldGet(this, _prefs); + + if (!(defaultValue === undefined)) { + _context4.next = 7; + break; + } + + throw new Error("Set preference: \"".concat(name, "\" is undefined.")); + + case 7: + if (!(value === undefined)) { + _context4.next = 9; + break; + } + + throw new Error("Set preference: no value is specified."); + + case 9: + valueType = _typeof(value), defaultType = _typeof(defaultValue); + + if (!(valueType !== defaultType)) { + _context4.next = 18; + break; + } + + if (!(valueType === "number" && defaultType === "string")) { + _context4.next = 15; + break; + } + + value = value.toString(); + _context4.next = 16; + break; + + case 15: + throw new Error("Set preference: \"".concat(value, "\" is a ").concat(valueType, ", expected a ").concat(defaultType, ".")); + + case 16: + _context4.next = 20; + break; + + case 18: + if (!(valueType === "number" && !Number.isInteger(value))) { + _context4.next = 20; + break; + } + + throw new Error("Set preference: \"".concat(value, "\" must be an integer.")); + + case 20: + _classPrivateFieldGet(this, _prefs)[name] = value; + return _context4.abrupt("return", this._writeToStorage(_classPrivateFieldGet(this, _prefs))["catch"](function (reason) { + _classPrivateFieldSet(_this3, _prefs, prefs); + + throw reason; + })); + + case 22: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function set(_x3, _x4) { + return _set.apply(this, arguments); + } + + return set; + }() + }, { + key: "get", + value: function () { + var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name) { + var _classPrivateFieldGet2; + + var defaultValue; + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + _context5.next = 2; + return _classPrivateFieldGet(this, _initializedPromise); + + case 2: + defaultValue = _classPrivateFieldGet(this, _defaults)[name]; + + if (!(defaultValue === undefined)) { + _context5.next = 5; + break; + } + + throw new Error("Get preference: \"".concat(name, "\" is undefined.")); + + case 5: + return _context5.abrupt("return", (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _prefs)[name]) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : defaultValue); + + case 6: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function get(_x5) { + return _get.apply(this, arguments); + } + + return get; + }() + }, { + key: "getAll", + value: function () { + var _getAll = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() { + var obj, name, _classPrivateFieldGet3; + + return _regenerator["default"].wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + _context6.next = 2; + return _classPrivateFieldGet(this, _initializedPromise); + + case 2: + obj = Object.create(null); + + for (name in _classPrivateFieldGet(this, _defaults)) { + obj[name] = (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _prefs)[name]) !== null && _classPrivateFieldGet3 !== void 0 ? _classPrivateFieldGet3 : _classPrivateFieldGet(this, _defaults)[name]; + } + + return _context6.abrupt("return", obj); + + case 5: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function getAll() { + return _getAll.apply(this, arguments); + } + + return getAll; + }() + }]); + + return BasePreferences; +}(); + +exports.BasePreferences = BasePreferences; + +/***/ }), +/* 44 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.DownloadManager = void 0; + +var _pdfjsLib = __webpack_require__(7); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +; + +function _download(blobUrl, filename) { + var a = document.createElement("a"); + + if (!a.click) { + throw new Error('DownloadManager: "a.click()" is not supported.'); + } + + a.href = blobUrl; + a.target = "_parent"; + + if ("download" in a) { + a.download = filename; + } + + (document.body || document.documentElement).appendChild(a); + a.click(); + a.remove(); +} + +var DownloadManager = /*#__PURE__*/function () { + function DownloadManager() { + _classCallCheck(this, DownloadManager); + + this._openBlobUrls = new WeakMap(); + } + + _createClass(DownloadManager, [{ + key: "downloadUrl", + value: function downloadUrl(url, filename) { + if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, "http://example.com")) { + console.error("downloadUrl - not a valid URL: ".concat(url)); + return; + } + + _download(url + "#pdfjs.action=download", filename); + } + }, { + key: "downloadData", + value: function downloadData(data, filename, contentType) { + var blobUrl = URL.createObjectURL(new Blob([data], { + type: contentType + })); + + _download(blobUrl, filename); + } + }, { + key: "openOrDownloadData", + value: function openOrDownloadData(element, data, filename) { + var isPdfData = (0, _pdfjsLib.isPdfFile)(filename); + var contentType = isPdfData ? "application/pdf" : ""; + + if (isPdfData) { + var blobUrl = this._openBlobUrls.get(element); + + if (!blobUrl) { + blobUrl = URL.createObjectURL(new Blob([data], { + type: contentType + })); + + this._openBlobUrls.set(element, blobUrl); + } + + var viewerUrl; + viewerUrl = "?file=" + encodeURIComponent(blobUrl + "#" + filename); + + try { + window.open(viewerUrl); + return true; + } catch (ex) { + console.error("openOrDownloadData: ".concat(ex)); + URL.revokeObjectURL(blobUrl); + + this._openBlobUrls["delete"](element); + } + } + + this.downloadData(data, filename, contentType); + return false; + } + }, { + key: "download", + value: function download(blob, url, filename) { + var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "download"; + var blobUrl = URL.createObjectURL(blob); + + _download(blobUrl, filename); + } + }]); + + return DownloadManager; +}(); + +exports.DownloadManager = DownloadManager; + +/***/ }), +/* 45 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GenericL10n = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +__webpack_require__(46); + +var _l10n_utils = __webpack_require__(33); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +var webL10n = document.webL10n; + +var GenericL10n = /*#__PURE__*/function () { + function GenericL10n(lang) { + _classCallCheck(this, GenericL10n); + + this._lang = lang; + this._ready = new Promise(function (resolve, reject) { + webL10n.setLanguage((0, _l10n_utils.fixupLangCode)(lang), function () { + resolve(webL10n); + }); + }); + } + + _createClass(GenericL10n, [{ + key: "getLanguage", + value: function () { + var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var l10n; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._ready; + + case 2: + l10n = _context.sent; + return _context.abrupt("return", l10n.getLanguage()); + + case 4: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function getLanguage() { + return _getLanguage.apply(this, arguments); + } + + return getLanguage; + }() + }, { + key: "getDirection", + value: function () { + var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var l10n; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._ready; + + case 2: + l10n = _context2.sent; + return _context2.abrupt("return", l10n.getDirection()); + + case 4: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function getDirection() { + return _getDirection.apply(this, arguments); + } + + return getDirection; + }() + }, { + key: "get", + value: function () { + var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(key) { + var args, + fallback, + l10n, + _args3 = arguments; + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + args = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null; + fallback = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : (0, _l10n_utils.getL10nFallback)(key, args); + _context3.next = 4; + return this._ready; + + case 4: + l10n = _context3.sent; + return _context3.abrupt("return", l10n.get(key, args, fallback)); + + case 6: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function get(_x) { + return _get.apply(this, arguments); + } + + return get; + }() + }, { + key: "translate", + value: function () { + var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(element) { + var l10n; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + _context4.next = 2; + return this._ready; + + case 2: + l10n = _context4.sent; + return _context4.abrupt("return", l10n.translate(element)); + + case 4: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function translate(_x2) { + return _translate.apply(this, arguments); + } + + return translate; + }() + }]); + + return GenericL10n; +}(); + +exports.GenericL10n = GenericL10n; + +/***/ }), +/* 46 */ +/***/ (() => { + + + +document.webL10n = function (window, document, undefined) { + var gL10nData = {}; + var gTextData = ''; + var gTextProp = 'textContent'; + var gLanguage = ''; + var gMacros = {}; + var gReadyState = 'loading'; + var gAsyncResourceLoading = true; + + function getL10nResourceLinks() { + return document.querySelectorAll('link[type="application/l10n"]'); + } + + function getL10nDictionary() { + var script = document.querySelector('script[type="application/l10n"]'); + return script ? JSON.parse(script.innerHTML) : null; + } + + function getTranslatableChildren(element) { + return element ? element.querySelectorAll('*[data-l10n-id]') : []; + } + + function getL10nAttributes(element) { + if (!element) return {}; + var l10nId = element.getAttribute('data-l10n-id'); + var l10nArgs = element.getAttribute('data-l10n-args'); + var args = {}; + + if (l10nArgs) { + try { + args = JSON.parse(l10nArgs); + } catch (e) { + console.warn('could not parse arguments for #' + l10nId); + } + } + + return { + id: l10nId, + args: args + }; + } + + function xhrLoadText(url, onSuccess, onFailure) { + onSuccess = onSuccess || function _onSuccess(data) {}; + + onFailure = onFailure || function _onFailure() {}; + + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, gAsyncResourceLoading); + + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=utf-8'); + } + + xhr.onreadystatechange = function () { + if (xhr.readyState == 4) { + if (xhr.status == 200 || xhr.status === 0) { + onSuccess(xhr.responseText); + } else { + onFailure(); + } + } + }; + + xhr.onerror = onFailure; + xhr.ontimeout = onFailure; + + try { + xhr.send(null); + } catch (e) { + onFailure(); + } + } + + function parseResource(href, lang, successCallback, failureCallback) { + var baseURL = href.replace(/[^\/]*$/, '') || './'; + + function evalString(text) { + if (text.lastIndexOf('\\') < 0) return text; + return text.replace(/\\\\/g, '\\').replace(/\\n/g, '\n').replace(/\\r/g, '\r').replace(/\\t/g, '\t').replace(/\\b/g, '\b').replace(/\\f/g, '\f').replace(/\\{/g, '{').replace(/\\}/g, '}').replace(/\\"/g, '"').replace(/\\'/g, "'"); + } + + function parseProperties(text, parsedPropertiesCallback) { + var dictionary = {}; + var reBlank = /^\s*|\s*$/; + var reComment = /^\s*#|^\s*$/; + var reSection = /^\s*\[(.*)\]\s*$/; + var reImport = /^\s*@import\s+url\((.*)\)\s*$/i; + var reSplit = /^([^=\s]*)\s*=\s*(.+)$/; + + function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) { + var entries = rawText.replace(reBlank, '').split(/[\r\n]+/); + var currentLang = '*'; + var genericLang = lang.split('-', 1)[0]; + var skipLang = false; + var match = ''; + + function nextEntry() { + while (true) { + if (!entries.length) { + parsedRawLinesCallback(); + return; + } + + var line = entries.shift(); + if (reComment.test(line)) continue; + + if (extendedSyntax) { + match = reSection.exec(line); + + if (match) { + currentLang = match[1].toLowerCase(); + skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang; + continue; + } else if (skipLang) { + continue; + } + + match = reImport.exec(line); + + if (match) { + loadImport(baseURL + match[1], nextEntry); + return; + } + } + + var tmp = line.match(reSplit); + + if (tmp && tmp.length == 3) { + dictionary[tmp[1]] = evalString(tmp[2]); + } + } + } + + nextEntry(); + } + + function loadImport(url, callback) { + xhrLoadText(url, function (content) { + parseRawLines(content, false, callback); + }, function () { + console.warn(url + ' not found.'); + callback(); + }); + } + + parseRawLines(text, true, function () { + parsedPropertiesCallback(dictionary); + }); + } + + xhrLoadText(href, function (response) { + gTextData += response; + parseProperties(response, function (data) { + for (var key in data) { + var id, + prop, + index = key.lastIndexOf('.'); + + if (index > 0) { + id = key.substring(0, index); + prop = key.substring(index + 1); + } else { + id = key; + prop = gTextProp; + } + + if (!gL10nData[id]) { + gL10nData[id] = {}; + } + + gL10nData[id][prop] = data[key]; + } + + if (successCallback) { + successCallback(); + } + }); + }, failureCallback); + } + + function loadLocale(lang, callback) { + if (lang) { + lang = lang.toLowerCase(); + } + + callback = callback || function _callback() {}; + + clear(); + gLanguage = lang; + var langLinks = getL10nResourceLinks(); + var langCount = langLinks.length; + + if (langCount === 0) { + var dict = getL10nDictionary(); + + if (dict && dict.locales && dict.default_locale) { + console.log('using the embedded JSON directory, early way out'); + gL10nData = dict.locales[lang]; + + if (!gL10nData) { + var defaultLocale = dict.default_locale.toLowerCase(); + + for (var anyCaseLang in dict.locales) { + anyCaseLang = anyCaseLang.toLowerCase(); + + if (anyCaseLang === lang) { + gL10nData = dict.locales[lang]; + break; + } else if (anyCaseLang === defaultLocale) { + gL10nData = dict.locales[defaultLocale]; + } + } + } + + callback(); + } else { + console.log('no resource to load, early way out'); + } + + gReadyState = 'complete'; + return; + } + + var onResourceLoaded = null; + var gResourceCount = 0; + + onResourceLoaded = function onResourceLoaded() { + gResourceCount++; + + if (gResourceCount >= langCount) { + callback(); + gReadyState = 'complete'; + } + }; + + function L10nResourceLink(link) { + var href = link.href; + + this.load = function (lang, callback) { + parseResource(href, lang, callback, function () { + console.warn(href + ' not found.'); + console.warn('"' + lang + '" resource not found'); + gLanguage = ''; + callback(); + }); + }; + } + + for (var i = 0; i < langCount; i++) { + var resource = new L10nResourceLink(langLinks[i]); + resource.load(lang, onResourceLoaded); + } + } + + function clear() { + gL10nData = {}; + gTextData = ''; + gLanguage = ''; + } + + function getPluralRules(lang) { + var locales2rules = { + 'af': 3, + 'ak': 4, + 'am': 4, + 'ar': 1, + 'asa': 3, + 'az': 0, + 'be': 11, + 'bem': 3, + 'bez': 3, + 'bg': 3, + 'bh': 4, + 'bm': 0, + 'bn': 3, + 'bo': 0, + 'br': 20, + 'brx': 3, + 'bs': 11, + 'ca': 3, + 'cgg': 3, + 'chr': 3, + 'cs': 12, + 'cy': 17, + 'da': 3, + 'de': 3, + 'dv': 3, + 'dz': 0, + 'ee': 3, + 'el': 3, + 'en': 3, + 'eo': 3, + 'es': 3, + 'et': 3, + 'eu': 3, + 'fa': 0, + 'ff': 5, + 'fi': 3, + 'fil': 4, + 'fo': 3, + 'fr': 5, + 'fur': 3, + 'fy': 3, + 'ga': 8, + 'gd': 24, + 'gl': 3, + 'gsw': 3, + 'gu': 3, + 'guw': 4, + 'gv': 23, + 'ha': 3, + 'haw': 3, + 'he': 2, + 'hi': 4, + 'hr': 11, + 'hu': 0, + 'id': 0, + 'ig': 0, + 'ii': 0, + 'is': 3, + 'it': 3, + 'iu': 7, + 'ja': 0, + 'jmc': 3, + 'jv': 0, + 'ka': 0, + 'kab': 5, + 'kaj': 3, + 'kcg': 3, + 'kde': 0, + 'kea': 0, + 'kk': 3, + 'kl': 3, + 'km': 0, + 'kn': 0, + 'ko': 0, + 'ksb': 3, + 'ksh': 21, + 'ku': 3, + 'kw': 7, + 'lag': 18, + 'lb': 3, + 'lg': 3, + 'ln': 4, + 'lo': 0, + 'lt': 10, + 'lv': 6, + 'mas': 3, + 'mg': 4, + 'mk': 16, + 'ml': 3, + 'mn': 3, + 'mo': 9, + 'mr': 3, + 'ms': 0, + 'mt': 15, + 'my': 0, + 'nah': 3, + 'naq': 7, + 'nb': 3, + 'nd': 3, + 'ne': 3, + 'nl': 3, + 'nn': 3, + 'no': 3, + 'nr': 3, + 'nso': 4, + 'ny': 3, + 'nyn': 3, + 'om': 3, + 'or': 3, + 'pa': 3, + 'pap': 3, + 'pl': 13, + 'ps': 3, + 'pt': 3, + 'rm': 3, + 'ro': 9, + 'rof': 3, + 'ru': 11, + 'rwk': 3, + 'sah': 0, + 'saq': 3, + 'se': 7, + 'seh': 3, + 'ses': 0, + 'sg': 0, + 'sh': 11, + 'shi': 19, + 'sk': 12, + 'sl': 14, + 'sma': 7, + 'smi': 7, + 'smj': 7, + 'smn': 7, + 'sms': 7, + 'sn': 3, + 'so': 3, + 'sq': 3, + 'sr': 11, + 'ss': 3, + 'ssy': 3, + 'st': 3, + 'sv': 3, + 'sw': 3, + 'syr': 3, + 'ta': 3, + 'te': 3, + 'teo': 3, + 'th': 0, + 'ti': 4, + 'tig': 3, + 'tk': 3, + 'tl': 4, + 'tn': 3, + 'to': 0, + 'tr': 0, + 'ts': 3, + 'tzm': 22, + 'uk': 11, + 'ur': 3, + 've': 3, + 'vi': 0, + 'vun': 3, + 'wa': 4, + 'wae': 3, + 'wo': 0, + 'xh': 3, + 'xog': 3, + 'yo': 0, + 'zh': 0, + 'zu': 3 + }; + + function isIn(n, list) { + return list.indexOf(n) !== -1; + } + + function isBetween(n, start, end) { + return start <= n && n <= end; + } + + var pluralRules = { + '0': function _(n) { + return 'other'; + }, + '1': function _(n) { + if (isBetween(n % 100, 3, 10)) return 'few'; + if (n === 0) return 'zero'; + if (isBetween(n % 100, 11, 99)) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '2': function _(n) { + if (n !== 0 && n % 10 === 0) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '3': function _(n) { + if (n == 1) return 'one'; + return 'other'; + }, + '4': function _(n) { + if (isBetween(n, 0, 1)) return 'one'; + return 'other'; + }, + '5': function _(n) { + if (isBetween(n, 0, 2) && n != 2) return 'one'; + return 'other'; + }, + '6': function _(n) { + if (n === 0) return 'zero'; + if (n % 10 == 1 && n % 100 != 11) return 'one'; + return 'other'; + }, + '7': function _(n) { + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '8': function _(n) { + if (isBetween(n, 3, 6)) return 'few'; + if (isBetween(n, 7, 10)) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '9': function _(n) { + if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few'; + if (n == 1) return 'one'; + return 'other'; + }, + '10': function _(n) { + if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few'; + if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one'; + return 'other'; + }, + '11': function _(n) { + if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few'; + if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many'; + if (n % 10 == 1 && n % 100 != 11) return 'one'; + return 'other'; + }, + '12': function _(n) { + if (isBetween(n, 2, 4)) return 'few'; + if (n == 1) return 'one'; + return 'other'; + }, + '13': function _(n) { + if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few'; + if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many'; + if (n == 1) return 'one'; + return 'other'; + }, + '14': function _(n) { + if (isBetween(n % 100, 3, 4)) return 'few'; + if (n % 100 == 2) return 'two'; + if (n % 100 == 1) return 'one'; + return 'other'; + }, + '15': function _(n) { + if (n === 0 || isBetween(n % 100, 2, 10)) return 'few'; + if (isBetween(n % 100, 11, 19)) return 'many'; + if (n == 1) return 'one'; + return 'other'; + }, + '16': function _(n) { + if (n % 10 == 1 && n != 11) return 'one'; + return 'other'; + }, + '17': function _(n) { + if (n == 3) return 'few'; + if (n === 0) return 'zero'; + if (n == 6) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '18': function _(n) { + if (n === 0) return 'zero'; + if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one'; + return 'other'; + }, + '19': function _(n) { + if (isBetween(n, 2, 10)) return 'few'; + if (isBetween(n, 0, 1)) return 'one'; + return 'other'; + }, + '20': function _(n) { + if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few'; + if (n % 1000000 === 0 && n !== 0) return 'many'; + if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two'; + if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one'; + return 'other'; + }, + '21': function _(n) { + if (n === 0) return 'zero'; + if (n == 1) return 'one'; + return 'other'; + }, + '22': function _(n) { + if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one'; + return 'other'; + }, + '23': function _(n) { + if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one'; + return 'other'; + }, + '24': function _(n) { + if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few'; + if (isIn(n, [2, 12])) return 'two'; + if (isIn(n, [1, 11])) return 'one'; + return 'other'; + } + }; + var index = locales2rules[lang.replace(/-.*$/, '')]; + + if (!(index in pluralRules)) { + console.warn('plural form unknown for [' + lang + ']'); + return function () { + return 'other'; + }; + } + + return pluralRules[index]; + } + + gMacros.plural = function (str, param, key, prop) { + var n = parseFloat(param); + if (isNaN(n)) return str; + if (prop != gTextProp) return str; + + if (!gMacros._pluralRules) { + gMacros._pluralRules = getPluralRules(gLanguage); + } + + var index = '[' + gMacros._pluralRules(n) + ']'; + + if (n === 0 && key + '[zero]' in gL10nData) { + str = gL10nData[key + '[zero]'][prop]; + } else if (n == 1 && key + '[one]' in gL10nData) { + str = gL10nData[key + '[one]'][prop]; + } else if (n == 2 && key + '[two]' in gL10nData) { + str = gL10nData[key + '[two]'][prop]; + } else if (key + index in gL10nData) { + str = gL10nData[key + index][prop]; + } else if (key + '[other]' in gL10nData) { + str = gL10nData[key + '[other]'][prop]; + } + + return str; + }; + + function getL10nData(key, args, fallback) { + var data = gL10nData[key]; + + if (!data) { + console.warn('#' + key + ' is undefined.'); + + if (!fallback) { + return null; + } + + data = fallback; + } + + var rv = {}; + + for (var prop in data) { + var str = data[prop]; + str = substIndexes(str, args, key, prop); + str = substArguments(str, args, key); + rv[prop] = str; + } + + return rv; + } + + function substIndexes(str, args, key, prop) { + var reIndex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)\s*\]\}/; + var reMatch = reIndex.exec(str); + if (!reMatch || !reMatch.length) return str; + var macroName = reMatch[1]; + var paramName = reMatch[2]; + var param; + + if (args && paramName in args) { + param = args[paramName]; + } else if (paramName in gL10nData) { + param = gL10nData[paramName]; + } + + if (macroName in gMacros) { + var macro = gMacros[macroName]; + str = macro(str, param, key, prop); + } + + return str; + } + + function substArguments(str, args, key) { + var reArgs = /\{\{\s*(.+?)\s*\}\}/g; + return str.replace(reArgs, function (matched_text, arg) { + if (args && arg in args) { + return args[arg]; + } + + if (arg in gL10nData) { + return gL10nData[arg]; + } + + console.log('argument {{' + arg + '}} for #' + key + ' is undefined.'); + return matched_text; + }); + } + + function translateElement(element) { + var l10n = getL10nAttributes(element); + if (!l10n.id) return; + var data = getL10nData(l10n.id, l10n.args); + + if (!data) { + console.warn('#' + l10n.id + ' is undefined.'); + return; + } + + if (data[gTextProp]) { + if (getChildElementCount(element) === 0) { + element[gTextProp] = data[gTextProp]; + } else { + var children = element.childNodes; + var found = false; + + for (var i = 0, l = children.length; i < l; i++) { + if (children[i].nodeType === 3 && /\S/.test(children[i].nodeValue)) { + if (found) { + children[i].nodeValue = ''; + } else { + children[i].nodeValue = data[gTextProp]; + found = true; + } + } + } + + if (!found) { + var textNode = document.createTextNode(data[gTextProp]); + element.insertBefore(textNode, element.firstChild); + } + } + + delete data[gTextProp]; + } + + for (var k in data) { + element[k] = data[k]; + } + } + + function getChildElementCount(element) { + if (element.children) { + return element.children.length; + } + + if (typeof element.childElementCount !== 'undefined') { + return element.childElementCount; + } + + var count = 0; + + for (var i = 0; i < element.childNodes.length; i++) { + count += element.nodeType === 1 ? 1 : 0; + } + + return count; + } + + function translateFragment(element) { + element = element || document.documentElement; + var children = getTranslatableChildren(element); + var elementCount = children.length; + + for (var i = 0; i < elementCount; i++) { + translateElement(children[i]); + } + + translateElement(element); + } + + return { + get: function get(key, args, fallbackString) { + var index = key.lastIndexOf('.'); + var prop = gTextProp; + + if (index > 0) { + prop = key.substring(index + 1); + key = key.substring(0, index); + } + + var fallback; + + if (fallbackString) { + fallback = {}; + fallback[prop] = fallbackString; + } + + var data = getL10nData(key, args, fallback); + + if (data && prop in data) { + return data[prop]; + } + + return '{{' + key + '}}'; + }, + getData: function getData() { + return gL10nData; + }, + getText: function getText() { + return gTextData; + }, + getLanguage: function getLanguage() { + return gLanguage; + }, + setLanguage: function setLanguage(lang, callback) { + loadLocale(lang, function () { + if (callback) callback(); + }); + }, + getDirection: function getDirection() { + var rtlList = ['ar', 'he', 'fa', 'ps', 'ur']; + var shortCode = gLanguage.split('-', 1)[0]; + return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr'; + }, + translate: translateFragment, + getReadyState: function getReadyState() { + return gReadyState; + }, + ready: function ready(callback) { + if (!callback) { + return; + } else if (gReadyState == 'complete' || gReadyState == 'interactive') { + window.setTimeout(function () { + callback(); + }); + } else if (document.addEventListener) { + document.addEventListener('localized', function once() { + document.removeEventListener('localized', once); + callback(); + }); + } + } + }; +}(window, document); + +/***/ }), +/* 47 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GenericScripting = void 0; +exports.docPropertiesLookup = docPropertiesLookup; + +var _regenerator = _interopRequireDefault(__webpack_require__(3)); + +var _pdfjsLib = __webpack_require__(7); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + +function docPropertiesLookup(_x) { + return _docPropertiesLookup.apply(this, arguments); +} + +function _docPropertiesLookup() { + _docPropertiesLookup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(pdfDocument) { + var url, baseUrl, _yield$pdfDocument$ge, info, metadata, contentDispositionFilename, contentLength, _yield$pdfDocument$ge2, length; + + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + url = "", baseUrl = url.split("#")[0]; + _context4.next = 3; + return pdfDocument.getMetadata(); + + case 3: + _yield$pdfDocument$ge = _context4.sent; + info = _yield$pdfDocument$ge.info; + metadata = _yield$pdfDocument$ge.metadata; + contentDispositionFilename = _yield$pdfDocument$ge.contentDispositionFilename; + contentLength = _yield$pdfDocument$ge.contentLength; + + if (contentLength) { + _context4.next = 14; + break; + } + + _context4.next = 11; + return pdfDocument.getDownloadInfo(); + + case 11: + _yield$pdfDocument$ge2 = _context4.sent; + length = _yield$pdfDocument$ge2.length; + contentLength = length; + + case 14: + return _context4.abrupt("return", _objectSpread(_objectSpread({}, info), {}, { + baseURL: baseUrl, + filesize: contentLength, + filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url), + metadata: metadata === null || metadata === void 0 ? void 0 : metadata.getRaw(), + authors: metadata === null || metadata === void 0 ? void 0 : metadata.get("dc:creator"), + numPages: pdfDocument.numPages, + URL: url + })); + + case 15: + case "end": + return _context4.stop(); + } + } + }, _callee4); + })); + return _docPropertiesLookup.apply(this, arguments); +} + +var GenericScripting = /*#__PURE__*/function () { + function GenericScripting(sandboxBundleSrc) { + _classCallCheck(this, GenericScripting); + + this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(function () { + return window.pdfjsSandbox.QuickJSSandbox(); + }); + } + + _createClass(GenericScripting, [{ + key: "createSandbox", + value: function () { + var _createSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(data) { + var sandbox; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._ready; + + case 2: + sandbox = _context.sent; + sandbox.create(data); + + case 4: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function createSandbox(_x2) { + return _createSandbox.apply(this, arguments); + } + + return createSandbox; + }() + }, { + key: "dispatchEventInSandbox", + value: function () { + var _dispatchEventInSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(event) { + var sandbox; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._ready; + + case 2: + sandbox = _context2.sent; + setTimeout(function () { + return sandbox.dispatchEvent(event); + }, 0); + + case 4: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function dispatchEventInSandbox(_x3) { + return _dispatchEventInSandbox.apply(this, arguments); + } + + return dispatchEventInSandbox; + }() + }, { + key: "destroySandbox", + value: function () { + var _destroySandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + var sandbox; + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return this._ready; + + case 2: + sandbox = _context3.sent; + sandbox.nukeSandbox(); + + case 4: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function destroySandbox() { + return _destroySandbox.apply(this, arguments); + } + + return destroySandbox; + }() + }]); + + return GenericScripting; +}(); + +exports.GenericScripting = GenericScripting; + +/***/ }), +/* 48 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFPrintService = PDFPrintService; + +var _pdfjsLib = __webpack_require__(7); + +var _app = __webpack_require__(2); + +var _print_utils = __webpack_require__(49); + +var activeService = null; +var dialog = null; +var overlayManager = null; + +function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size, printResolution, optionalContentConfigPromise) { + var scratchCanvas = activeService.scratchCanvas; + var PRINT_UNITS = printResolution / _pdfjsLib.PixelsPerInch.PDF; + scratchCanvas.width = Math.floor(size.width * PRINT_UNITS); + scratchCanvas.height = Math.floor(size.height * PRINT_UNITS); + var ctx = scratchCanvas.getContext("2d"); + ctx.save(); + ctx.fillStyle = "rgb(255, 255, 255)"; + ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height); + ctx.restore(); + return pdfDocument.getPage(pageNumber).then(function (pdfPage) { + var renderContext = { + canvasContext: ctx, + transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0], + viewport: pdfPage.getViewport({ + scale: 1, + rotation: size.rotation + }), + intent: "print", + annotationMode: _pdfjsLib.AnnotationMode.ENABLE_STORAGE, + optionalContentConfigPromise: optionalContentConfigPromise + }; + return pdfPage.render(renderContext).promise; + }); +} + +function PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution) { + var optionalContentConfigPromise = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null; + var l10n = arguments.length > 5 ? arguments[5] : undefined; + this.pdfDocument = pdfDocument; + this.pagesOverview = pagesOverview; + this.printContainer = printContainer; + this._printResolution = printResolution || 150; + this._optionalContentConfigPromise = optionalContentConfigPromise || pdfDocument.getOptionalContentConfig(); + this.l10n = l10n; + this.currentPage = -1; + this.scratchCanvas = document.createElement("canvas"); +} + +PDFPrintService.prototype = { + layout: function layout() { + this.throwIfInactive(); + var body = document.querySelector("body"); + body.setAttribute("data-pdfjsprinting", true); + var hasEqualPageSizes = this.pagesOverview.every(function (size) { + return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height; + }, this); + + if (!hasEqualPageSizes) { + console.warn("Not all pages have the same size. The printed " + "result may be incorrect!"); + } + + this.pageStyleSheet = document.createElement("style"); + var pageSize = this.pagesOverview[0]; + this.pageStyleSheet.textContent = "@page { size: " + pageSize.width + "pt " + pageSize.height + "pt;}"; + body.appendChild(this.pageStyleSheet); + }, + destroy: function destroy() { + if (activeService !== this) { + return; + } + + this.printContainer.textContent = ""; + var body = document.querySelector("body"); + body.removeAttribute("data-pdfjsprinting"); + + if (this.pageStyleSheet) { + this.pageStyleSheet.remove(); + this.pageStyleSheet = null; + } + + this.scratchCanvas.width = this.scratchCanvas.height = 0; + this.scratchCanvas = null; + activeService = null; + ensureOverlay().then(function () { + if (overlayManager.active === dialog) { + overlayManager.close(dialog); + } + }); + }, + renderPages: function renderPages() { + var _this = this; + + if (this.pdfDocument.isPureXfa) { + (0, _print_utils.getXfaHtmlForPrinting)(this.printContainer, this.pdfDocument); + return Promise.resolve(); + } + + var pageCount = this.pagesOverview.length; + + var renderNextPage = function renderNextPage(resolve, reject) { + _this.throwIfInactive(); + + if (++_this.currentPage >= pageCount) { + renderProgress(pageCount, pageCount, _this.l10n); + resolve(); + return; + } + + var index = _this.currentPage; + renderProgress(index, pageCount, _this.l10n); + renderPage(_this, _this.pdfDocument, index + 1, _this.pagesOverview[index], _this._printResolution, _this._optionalContentConfigPromise).then(_this.useRenderedPage.bind(_this)).then(function () { + renderNextPage(resolve, reject); + }, reject); + }; + + return new Promise(renderNextPage); + }, + useRenderedPage: function useRenderedPage() { + this.throwIfInactive(); + var img = document.createElement("img"); + var scratchCanvas = this.scratchCanvas; + + if ("toBlob" in scratchCanvas) { + scratchCanvas.toBlob(function (blob) { + img.src = URL.createObjectURL(blob); + }); + } else { + img.src = scratchCanvas.toDataURL(); + } + + var wrapper = document.createElement("div"); + wrapper.className = "printedPage"; + wrapper.appendChild(img); + this.printContainer.appendChild(wrapper); + return new Promise(function (resolve, reject) { + img.onload = resolve; + img.onerror = reject; + }); + }, + performPrint: function performPrint() { + var _this2 = this; + + this.throwIfInactive(); + return new Promise(function (resolve) { + setTimeout(function () { + if (!_this2.active) { + resolve(); + return; + } + + print.call(window); + setTimeout(resolve, 20); + }, 0); + }); + }, + + get active() { + return this === activeService; + }, + + throwIfInactive: function throwIfInactive() { + if (!this.active) { + throw new Error("This print request was cancelled or completed."); + } + } +}; +var print = window.print; + +window.print = function () { + if (activeService) { + console.warn("Ignored window.print() because of a pending print job."); + return; + } + + ensureOverlay().then(function () { + if (activeService) { + overlayManager.open(dialog); + } + }); + + try { + dispatchEvent("beforeprint"); + } finally { + if (!activeService) { + console.error("Expected print service to be initialized."); + ensureOverlay().then(function () { + if (overlayManager.active === dialog) { + overlayManager.close(dialog); + } + }); + return; + } + + var activeServiceOnEntry = activeService; + activeService.renderPages().then(function () { + return activeServiceOnEntry.performPrint(); + })["catch"](function () {}).then(function () { + if (activeServiceOnEntry.active) { + abort(); + } + }); + } +}; + +function dispatchEvent(eventType) { + var event = document.createEvent("CustomEvent"); + event.initCustomEvent(eventType, false, false, "custom"); + window.dispatchEvent(event); +} + +function abort() { + if (activeService) { + activeService.destroy(); + dispatchEvent("afterprint"); + } +} + +function renderProgress(index, total, l10n) { + dialog || (dialog = document.getElementById("printServiceDialog")); + var progress = Math.round(100 * index / total); + var progressBar = dialog.querySelector("progress"); + var progressPerc = dialog.querySelector(".relative-progress"); + progressBar.value = progress; + l10n.get("print_progress_percent", { + progress: progress + }).then(function (msg) { + progressPerc.textContent = msg; + }); +} + +window.addEventListener("keydown", function (event) { + if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) { + window.print(); + event.preventDefault(); + + if (event.stopImmediatePropagation) { + event.stopImmediatePropagation(); + } else { + event.stopPropagation(); + } + } +}, true); + +if ("onbeforeprint" in window) { + var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) { + if (event.detail !== "custom" && event.stopImmediatePropagation) { + event.stopImmediatePropagation(); + } + }; + + window.addEventListener("beforeprint", stopPropagationIfNeeded); + window.addEventListener("afterprint", stopPropagationIfNeeded); +} + +var overlayPromise; + +function ensureOverlay() { + if (!overlayPromise) { + overlayManager = _app.PDFViewerApplication.overlayManager; + + if (!overlayManager) { + throw new Error("The overlay manager has not yet been initialized."); + } + + dialog || (dialog = document.getElementById("printServiceDialog")); + overlayPromise = overlayManager.register(dialog, true); + document.getElementById("printCancel").onclick = abort; + dialog.addEventListener("close", abort); + } + + return overlayPromise; +} + +_app.PDFPrintServiceFactory.instance = { + supportsPrinting: true, + createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, l10n) { + if (activeService) { + throw new Error("The print service is created and active."); + } + + activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, l10n); + return activeService; + } +}; + +/***/ }), +/* 49 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getXfaHtmlForPrinting = getXfaHtmlForPrinting; + +var _pdfjsLib = __webpack_require__(7); + +var _pdf_link_service = __webpack_require__(10); + +var _xfa_layer_builder = __webpack_require__(38); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function getXfaHtmlForPrinting(printContainer, pdfDocument) { + var xfaHtml = pdfDocument.allXfaHtml; + var linkService = new _pdf_link_service.SimpleLinkService(); + var scale = Math.round(_pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS * 100) / 100; + + var _iterator = _createForOfIteratorHelper(xfaHtml.children), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var xfaPage = _step.value; + var page = document.createElement("div"); + page.className = "xfaPrintedPage"; + printContainer.appendChild(page); + var builder = new _xfa_layer_builder.XfaLayerBuilder({ + pageDiv: page, + pdfPage: null, + annotationStorage: pdfDocument.annotationStorage, + linkService: linkService, + xfaHtml: xfaPage + }); + var viewport = (0, _pdfjsLib.getXfaPageViewport)(xfaPage, { + scale: scale + }); + builder.render(viewport, "print"); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } +} + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ loaded: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/node module decorator */ +/******/ (() => { +/******/ __webpack_require__.nmd = (module) => { +/******/ module.paths = []; +/******/ if (!module.children) module.children = []; +/******/ return module; +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +var exports = __webpack_exports__; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "PDFViewerApplication", ({ + enumerable: true, + get: function get() { + return _app.PDFViewerApplication; + } +})); +Object.defineProperty(exports, "PDFViewerApplicationOptions", ({ + enumerable: true, + get: function get() { + return _app_options.AppOptions; + } +})); + +var _app_options = __webpack_require__(1); + +var _app = __webpack_require__(2); + +var _document$blockUnbloc, _document; + +var pdfjsVersion = '2.14.305'; +var pdfjsBuild = 'eaaa8b4ad'; +window.PDFViewerApplication = _app.PDFViewerApplication; +window.PDFViewerApplicationOptions = _app_options.AppOptions; +; +; +{ + __webpack_require__(42); +} +; +{ + __webpack_require__(48); +} + +function getViewerConfiguration() { + var errorWrapper = null; + errorWrapper = { + container: document.getElementById("errorWrapper"), + errorMessage: document.getElementById("errorMessage"), + closeButton: document.getElementById("errorClose"), + errorMoreInfo: document.getElementById("errorMoreInfo"), + moreInfoButton: document.getElementById("errorShowMore"), + lessInfoButton: document.getElementById("errorShowLess") + }; + return { + appContainer: document.body, + mainContainer: document.getElementById("viewerContainer"), + viewerContainer: document.getElementById("viewer"), + toolbar: { + container: document.getElementById("toolbarViewer"), + numPages: document.getElementById("numPages"), + pageNumber: document.getElementById("pageNumber"), + scaleSelect: document.getElementById("scaleSelect"), + customScaleOption: document.getElementById("customScaleOption"), + previous: document.getElementById("previous"), + next: document.getElementById("next"), + zoomIn: document.getElementById("zoomIn"), + zoomOut: document.getElementById("zoomOut"), + viewFind: document.getElementById("viewFind"), + openFile: document.getElementById("openFile"), + print: document.getElementById("print"), + presentationModeButton: document.getElementById("presentationMode"), + download: document.getElementById("download"), + viewBookmark: document.getElementById("viewBookmark") + }, + secondaryToolbar: { + toolbar: document.getElementById("secondaryToolbar"), + toggleButton: document.getElementById("secondaryToolbarToggle"), + presentationModeButton: document.getElementById("secondaryPresentationMode"), + openFileButton: document.getElementById("secondaryOpenFile"), + printButton: document.getElementById("secondaryPrint"), + downloadButton: document.getElementById("secondaryDownload"), + viewBookmarkButton: document.getElementById("secondaryViewBookmark"), + firstPageButton: document.getElementById("firstPage"), + lastPageButton: document.getElementById("lastPage"), + pageRotateCwButton: document.getElementById("pageRotateCw"), + pageRotateCcwButton: document.getElementById("pageRotateCcw"), + cursorSelectToolButton: document.getElementById("cursorSelectTool"), + cursorHandToolButton: document.getElementById("cursorHandTool"), + scrollPageButton: document.getElementById("scrollPage"), + scrollVerticalButton: document.getElementById("scrollVertical"), + scrollHorizontalButton: document.getElementById("scrollHorizontal"), + scrollWrappedButton: document.getElementById("scrollWrapped"), + spreadNoneButton: document.getElementById("spreadNone"), + spreadOddButton: document.getElementById("spreadOdd"), + spreadEvenButton: document.getElementById("spreadEven"), + documentPropertiesButton: document.getElementById("documentProperties") + }, + sidebar: { + outerContainer: document.getElementById("outerContainer"), + sidebarContainer: document.getElementById("sidebarContainer"), + toggleButton: document.getElementById("sidebarToggle"), + thumbnailButton: document.getElementById("viewThumbnail"), + outlineButton: document.getElementById("viewOutline"), + attachmentsButton: document.getElementById("viewAttachments"), + layersButton: document.getElementById("viewLayers"), + thumbnailView: document.getElementById("thumbnailView"), + outlineView: document.getElementById("outlineView"), + attachmentsView: document.getElementById("attachmentsView"), + layersView: document.getElementById("layersView"), + outlineOptionsContainer: document.getElementById("outlineOptionsContainer"), + currentOutlineItemButton: document.getElementById("currentOutlineItem") + }, + sidebarResizer: { + outerContainer: document.getElementById("outerContainer"), + resizer: document.getElementById("sidebarResizer") + }, + findBar: { + bar: document.getElementById("findbar"), + toggleButton: document.getElementById("viewFind"), + findField: document.getElementById("findInput"), + highlightAllCheckbox: document.getElementById("findHighlightAll"), + caseSensitiveCheckbox: document.getElementById("findMatchCase"), + matchDiacriticsCheckbox: document.getElementById("findMatchDiacritics"), + entireWordCheckbox: document.getElementById("findEntireWord"), + findMsg: document.getElementById("findMsg"), + findResultsCount: document.getElementById("findResultsCount"), + findPreviousButton: document.getElementById("findPrevious"), + findNextButton: document.getElementById("findNext") + }, + passwordOverlay: { + dialog: document.getElementById("passwordDialog"), + label: document.getElementById("passwordText"), + input: document.getElementById("password"), + submitButton: document.getElementById("passwordSubmit"), + cancelButton: document.getElementById("passwordCancel") + }, + documentProperties: { + dialog: document.getElementById("documentPropertiesDialog"), + closeButton: document.getElementById("documentPropertiesClose"), + fields: { + fileName: document.getElementById("fileNameField"), + fileSize: document.getElementById("fileSizeField"), + title: document.getElementById("titleField"), + author: document.getElementById("authorField"), + subject: document.getElementById("subjectField"), + keywords: document.getElementById("keywordsField"), + creationDate: document.getElementById("creationDateField"), + modificationDate: document.getElementById("modificationDateField"), + creator: document.getElementById("creatorField"), + producer: document.getElementById("producerField"), + version: document.getElementById("versionField"), + pageCount: document.getElementById("pageCountField"), + pageSize: document.getElementById("pageSizeField"), + linearized: document.getElementById("linearizedField") + } + }, + errorWrapper: errorWrapper, + printContainer: document.getElementById("printContainer"), + openFileInput: document.getElementById("fileInput"), + debuggerScriptPath: "./debugger.js" + }; +} + +function webViewerLoad() { + var config = getViewerConfiguration(); + var event = document.createEvent("CustomEvent"); + event.initCustomEvent("webviewerloaded", true, true, { + source: window + }); + + try { + parent.document.dispatchEvent(event); + } catch (ex) { + console.error("webviewerloaded: ".concat(ex)); + document.dispatchEvent(event); + } + + _app.PDFViewerApplication.run(config); +} + +(_document$blockUnbloc = (_document = document).blockUnblockOnload) === null || _document$blockUnbloc === void 0 ? void 0 : _document$blockUnbloc.call(_document, true); + +if (document.readyState === "interactive" || document.readyState === "complete") { + webViewerLoad(); +} else { + document.addEventListener("DOMContentLoaded", webViewerLoad, true); +} +})(); + +/******/ })() +; +//# sourceMappingURL=viewer.js.map \ No newline at end of file diff --git a/resources/pdfjs-legacy/web/viewer.js.map b/resources/pdfjs-legacy/web/viewer.js.map new file mode 100644 index 000000000..46b1273d0 --- /dev/null +++ b/resources/pdfjs-legacy/web/viewer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"viewer.js","mappings":"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","sources":["webpack://pdf.js/web/app_options.js","webpack://pdf.js/web/app.js","webpack://pdf.js/node_modules/@babel/runtime/regenerator/index.js","webpack://pdf.js/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack://pdf.js/web/ui_utils.js","webpack://pdf.js/web/event_utils.js","webpack://pdf.js/web/pdfjs.js","webpack://pdf.js/web/pdf_cursor_tools.js","webpack://pdf.js/web/grab_to_pan.js","webpack://pdf.js/web/pdf_link_service.js","webpack://pdf.js/web/overlay_manager.js","webpack://pdf.js/node_modules/dialog-polyfill/dist/dialog-polyfill.js","webpack://pdf.js/web/password_prompt.js","webpack://pdf.js/web/pdf_attachment_viewer.js","webpack://pdf.js/web/base_tree_viewer.js","webpack://pdf.js/web/pdf_document_properties.js","webpack://pdf.js/web/pdf_find_bar.js","webpack://pdf.js/web/pdf_find_controller.js","webpack://pdf.js/web/pdf_find_utils.js","webpack://pdf.js/web/pdf_history.js","webpack://pdf.js/web/pdf_layer_viewer.js","webpack://pdf.js/web/pdf_outline_viewer.js","webpack://pdf.js/web/pdf_presentation_mode.js","webpack://pdf.js/web/pdf_rendering_queue.js","webpack://pdf.js/web/pdf_scripting_manager.js","webpack://pdf.js/web/pdf_sidebar.js","webpack://pdf.js/web/pdf_sidebar_resizer.js","webpack://pdf.js/web/pdf_thumbnail_viewer.js","webpack://pdf.js/web/pdf_thumbnail_view.js","webpack://pdf.js/web/pdf_viewer.js","webpack://pdf.js/web/base_viewer.js","webpack://pdf.js/web/annotation_layer_builder.js","webpack://pdf.js/web/l10n_utils.js","webpack://pdf.js/web/pdf_page_view.js","webpack://pdf.js/web/struct_tree_layer_builder.js","webpack://pdf.js/web/text_highlighter.js","webpack://pdf.js/web/text_layer_builder.js","webpack://pdf.js/web/xfa_layer_builder.js","webpack://pdf.js/web/secondary_toolbar.js","webpack://pdf.js/web/toolbar.js","webpack://pdf.js/web/view_history.js","webpack://pdf.js/web/genericcom.js","webpack://pdf.js/web/preferences.js","webpack://pdf.js/web/download_manager.js","webpack://pdf.js/web/genericl10n.js","webpack://pdf.js/external/webL10n/l10n.js","webpack://pdf.js/web/generic_scripting.js","webpack://pdf.js/web/pdf_print_service.js","webpack://pdf.js/web/print_utils.js","webpack://pdf.js/webpack/bootstrap","webpack://pdf.js/webpack/runtime/node module decorator","webpack://pdf.js/web/viewer.js"],"sourcesContent":["/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst compatibilityParams = Object.create(null);\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof navigator === \"undefined\"\n ) {\n globalThis.navigator = Object.create(null);\n }\n const userAgent = navigator.userAgent || \"\";\n const platform = navigator.platform || \"\";\n const maxTouchPoints = navigator.maxTouchPoints || 1;\n\n const isAndroid = /Android/.test(userAgent);\n const isIOS =\n /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) ||\n (platform === \"MacIntel\" && maxTouchPoints > 1);\n\n // Limit canvas size to 5 mega-pixels on mobile.\n // Support: Android, iOS\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\n\nconst OptionKind = {\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n PREFERENCE: 0x80,\n};\n\n/**\n * NOTE: These options are used to generate the `default_preferences.json` file,\n * see `OptionKind.PREFERENCE`, hence the values below must use only\n * primitive types and cannot rely on any imported types.\n */\nconst defaultOptions = {\n annotationMode: {\n /** @type {number} */\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n cursorToolOnLoad: {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n defaultUrl: {\n /** @type {string} */\n value: \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER,\n },\n defaultZoomValue: {\n /** @type {string} */\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n disableHistory: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER,\n },\n disablePageLabels: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enablePermissions: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enablePrintAutoRotate: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enableScripting: {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"CHROME\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n externalLinkRel: {\n /** @type {string} */\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER,\n },\n externalLinkTarget: {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n historyUpdateUrl: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ignoreDestinationZoom: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n imageResourcesPath: {\n /** @type {string} */\n value: \"./images/\",\n kind: OptionKind.VIEWER,\n },\n maxCanvasPixels: {\n /** @type {number} */\n value: 16777216,\n compatibility: compatibilityParams.maxCanvasPixels,\n kind: OptionKind.VIEWER,\n },\n pageColorsBackground: {\n /** @type {string} */\n value: \"Canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n pageColorsForeground: {\n /** @type {string} */\n value: \"CanvasText\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n pdfBugEnabled: {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n printResolution: {\n /** @type {number} */\n value: 150,\n kind: OptionKind.VIEWER,\n },\n renderer: {\n /** @type {string} */\n value: \"canvas\",\n kind: OptionKind.VIEWER,\n },\n sidebarViewOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n scrollModeOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n spreadModeOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n textLayerMode: {\n /** @type {number} */\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n useOnlyCssZoom: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n viewerCssTheme: {\n /** @type {number} */\n value: typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\") ? 2 : 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n viewOnLoad: {\n /** @type {boolean} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n\n cMapPacked: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API,\n },\n cMapUrl: {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n ? \"../external/bcmaps/\"\n : \"../web/cmaps/\",\n kind: OptionKind.API,\n },\n disableAutoFetch: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableFontFace: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableRange: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableStream: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n docBaseUrl: {\n /** @type {string} */\n value: \"\",\n kind: OptionKind.API,\n },\n enableXfa: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n fontExtraProperties: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API,\n },\n isEvalSupported: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API,\n },\n maxImageSize: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.API,\n },\n pdfBug: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API,\n },\n standardFontDataUrl: {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n ? \"../external/standard_fonts/\"\n : \"../web/standard_fonts/\",\n kind: OptionKind.API,\n },\n verbosity: {\n /** @type {number} */\n value: 1,\n kind: OptionKind.API,\n },\n\n workerPort: {\n /** @type {Object} */\n value: null,\n kind: OptionKind.WORKER,\n },\n workerSrc: {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n ? \"../src/worker_loader.js\"\n : \"../build/pdf.worker.js\",\n kind: OptionKind.WORKER,\n },\n};\nif (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || GENERIC\")\n) {\n defaultOptions.disablePreferences = {\n /** @type {boolean} */\n value: typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER,\n };\n defaultOptions.locale = {\n /** @type {string} */\n value: navigator.language || \"en-US\",\n kind: OptionKind.VIEWER,\n };\n defaultOptions.sandboxBundleSrc = {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n ? \"../build/dev-sandbox/pdf.sandbox.js\"\n : \"../build/pdf.sandbox.js\",\n kind: OptionKind.VIEWER,\n };\n\n defaultOptions.renderer.kind += OptionKind.PREFERENCE;\n} else if (PDFJSDev.test(\"CHROME\")) {\n defaultOptions.disableTelemetry = {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n };\n defaultOptions.sandboxBundleSrc = {\n /** @type {string} */\n value: \"../build/pdf.sandbox.js\",\n kind: OptionKind.VIEWER,\n };\n}\n\nconst userOptions = Object.create(null);\n\nclass AppOptions {\n constructor() {\n throw new Error(\"Cannot initialize AppOptions.\");\n }\n\n static get(name) {\n const userOption = userOptions[name];\n if (userOption !== undefined) {\n return userOption;\n }\n const defaultOption = defaultOptions[name];\n if (defaultOption !== undefined) {\n return defaultOption.compatibility ?? defaultOption.value;\n }\n return undefined;\n }\n\n static getAll(kind = null) {\n const options = Object.create(null);\n for (const name in defaultOptions) {\n const defaultOption = defaultOptions[name];\n if (kind) {\n if ((kind & defaultOption.kind) === 0) {\n continue;\n }\n if (kind === OptionKind.PREFERENCE) {\n const value = defaultOption.value,\n valueType = typeof value;\n\n if (\n valueType === \"boolean\" ||\n valueType === \"string\" ||\n (valueType === \"number\" && Number.isInteger(value))\n ) {\n options[name] = value;\n continue;\n }\n throw new Error(`Invalid type for preference: ${name}`);\n }\n }\n const userOption = userOptions[name];\n options[name] =\n userOption !== undefined\n ? userOption\n : defaultOption.compatibility ?? defaultOption.value;\n }\n return options;\n }\n\n static set(name, value) {\n userOptions[name] = value;\n }\n\n static setAll(options) {\n for (const name in options) {\n userOptions[name] = options[name];\n }\n }\n\n static remove(name) {\n delete userOptions[name];\n }\n\n /**\n * @ignore\n */\n static _hasUserOptions() {\n return Object.keys(userOptions).length > 0;\n }\n}\n\nexport { AppOptions, compatibilityParams, OptionKind };\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n animationStarted,\n apiPageLayoutToViewerModes,\n apiPageModeToSidebarView,\n AutoPrintRegExp,\n DEFAULT_SCALE_VALUE,\n getActiveOrFocusedElement,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n noContextMenuHandler,\n normalizeWheelEventDirection,\n parseQueryString,\n ProgressBar,\n RendererType,\n RenderingStates,\n ScrollMode,\n SidebarView,\n SpreadMode,\n TextLayerMode,\n} from \"./ui_utils.js\";\nimport { AppOptions, OptionKind } from \"./app_options.js\";\nimport { AutomationEventBus, EventBus } from \"./event_utils.js\";\nimport {\n build,\n createPromiseCapability,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n GlobalWorkerOptions,\n InvalidPDFException,\n isPdfFile,\n loadScript,\n MissingPDFException,\n OPS,\n PDFWorker,\n shadow,\n UnexpectedResponseException,\n UNSUPPORTED_FEATURES,\n version,\n} from \"pdfjs-lib\";\nimport { CursorTool, PDFCursorTools } from \"./pdf_cursor_tools.js\";\nimport { LinkTarget, PDFLinkService } from \"./pdf_link_service.js\";\nimport { OverlayManager } from \"./overlay_manager.js\";\nimport { PasswordPrompt } from \"./password_prompt.js\";\nimport { PDFAttachmentViewer } from \"./pdf_attachment_viewer.js\";\nimport { PDFDocumentProperties } from \"./pdf_document_properties.js\";\nimport { PDFFindBar } from \"./pdf_find_bar.js\";\nimport { PDFFindController } from \"./pdf_find_controller.js\";\nimport { PDFHistory } from \"./pdf_history.js\";\nimport { PDFLayerViewer } from \"./pdf_layer_viewer.js\";\nimport { PDFOutlineViewer } from \"./pdf_outline_viewer.js\";\nimport { PDFPresentationMode } from \"./pdf_presentation_mode.js\";\nimport { PDFRenderingQueue } from \"./pdf_rendering_queue.js\";\nimport { PDFScriptingManager } from \"./pdf_scripting_manager.js\";\nimport { PDFSidebar } from \"./pdf_sidebar.js\";\nimport { PDFSidebarResizer } from \"./pdf_sidebar_resizer.js\";\nimport { PDFThumbnailViewer } from \"./pdf_thumbnail_viewer.js\";\nimport { PDFViewer } from \"./pdf_viewer.js\";\nimport { SecondaryToolbar } from \"./secondary_toolbar.js\";\nimport { Toolbar } from \"./toolbar.js\";\nimport { ViewHistory } from \"./view_history.js\";\n\nconst DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000; // ms\nconst FORCE_PAGES_LOADED_TIMEOUT = 10000; // ms\nconst WHEEL_ZOOM_DISABLED_TIMEOUT = 1000; // ms\n\nconst ViewOnLoad = {\n UNKNOWN: -1,\n PREVIOUS: 0, // Default value.\n INITIAL: 1,\n};\n\nconst ViewerCssTheme = {\n AUTOMATIC: 0, // Default value.\n LIGHT: 1,\n DARK: 2,\n};\n\n// Keep these in sync with mozilla-central's Histograms.json.\nconst KNOWN_VERSIONS = [\n \"1.0\",\n \"1.1\",\n \"1.2\",\n \"1.3\",\n \"1.4\",\n \"1.5\",\n \"1.6\",\n \"1.7\",\n \"1.8\",\n \"1.9\",\n \"2.0\",\n \"2.1\",\n \"2.2\",\n \"2.3\",\n];\n// Keep these in sync with mozilla-central's Histograms.json.\nconst KNOWN_GENERATORS = [\n \"acrobat distiller\",\n \"acrobat pdfwriter\",\n \"adobe livecycle\",\n \"adobe pdf library\",\n \"adobe photoshop\",\n \"ghostscript\",\n \"tcpdf\",\n \"cairo\",\n \"dvipdfm\",\n \"dvips\",\n \"pdftex\",\n \"pdfkit\",\n \"itext\",\n \"prince\",\n \"quarkxpress\",\n \"mac os x\",\n \"microsoft\",\n \"openoffice\",\n \"oracle\",\n \"luradocument\",\n \"pdf-xchange\",\n \"antenna house\",\n \"aspose.cells\",\n \"fpdf\",\n];\n\nclass DefaultExternalServices {\n constructor() {\n throw new Error(\"Cannot initialize DefaultExternalServices.\");\n }\n\n static updateFindControlState(data) {}\n\n static updateFindMatchesCount(data) {}\n\n static initPassiveLoading(callbacks) {}\n\n static reportTelemetry(data) {}\n\n static createDownloadManager(options) {\n throw new Error(\"Not implemented: createDownloadManager\");\n }\n\n static createPreferences() {\n throw new Error(\"Not implemented: createPreferences\");\n }\n\n static createL10n(options) {\n throw new Error(\"Not implemented: createL10n\");\n }\n\n static createScripting(options) {\n throw new Error(\"Not implemented: createScripting\");\n }\n\n static get supportsIntegratedFind() {\n return shadow(this, \"supportsIntegratedFind\", false);\n }\n\n static get supportsDocumentFonts() {\n return shadow(this, \"supportsDocumentFonts\", true);\n }\n\n static get supportedMouseWheelZoomModifierKeys() {\n return shadow(this, \"supportedMouseWheelZoomModifierKeys\", {\n ctrlKey: true,\n metaKey: true,\n });\n }\n\n static get isInAutomation() {\n return shadow(this, \"isInAutomation\", false);\n }\n}\n\nconst PDFViewerApplication = {\n initialBookmark: document.location.hash.substring(1),\n _initializedCapability: createPromiseCapability(),\n appConfig: null,\n pdfDocument: null,\n pdfLoadingTask: null,\n printService: null,\n /** @type {PDFViewer} */\n pdfViewer: null,\n /** @type {PDFThumbnailViewer} */\n pdfThumbnailViewer: null,\n /** @type {PDFRenderingQueue} */\n pdfRenderingQueue: null,\n /** @type {PDFPresentationMode} */\n pdfPresentationMode: null,\n /** @type {PDFDocumentProperties} */\n pdfDocumentProperties: null,\n /** @type {PDFLinkService} */\n pdfLinkService: null,\n /** @type {PDFHistory} */\n pdfHistory: null,\n /** @type {PDFSidebar} */\n pdfSidebar: null,\n /** @type {PDFSidebarResizer} */\n pdfSidebarResizer: null,\n /** @type {PDFOutlineViewer} */\n pdfOutlineViewer: null,\n /** @type {PDFAttachmentViewer} */\n pdfAttachmentViewer: null,\n /** @type {PDFLayerViewer} */\n pdfLayerViewer: null,\n /** @type {PDFCursorTools} */\n pdfCursorTools: null,\n /** @type {PDFScriptingManager} */\n pdfScriptingManager: null,\n /** @type {ViewHistory} */\n store: null,\n /** @type {DownloadManager} */\n downloadManager: null,\n /** @type {OverlayManager} */\n overlayManager: null,\n /** @type {Preferences} */\n preferences: null,\n /** @type {Toolbar} */\n toolbar: null,\n /** @type {SecondaryToolbar} */\n secondaryToolbar: null,\n /** @type {EventBus} */\n eventBus: null,\n /** @type {IL10n} */\n l10n: null,\n isInitialViewSet: false,\n downloadComplete: false,\n isViewerEmbedded: window.parent !== window,\n url: \"\",\n baseUrl: \"\",\n _downloadUrl: \"\",\n externalServices: DefaultExternalServices,\n _boundEvents: Object.create(null),\n documentInfo: null,\n metadata: null,\n _contentDispositionFilename: null,\n _contentLength: null,\n _saveInProgress: false,\n _docStats: null,\n _wheelUnusedTicks: 0,\n _idleCallbacks: new Set(),\n _PDFBug: null,\n\n // Called once when the document is loaded.\n async initialize(appConfig) {\n this.preferences = this.externalServices.createPreferences();\n this.appConfig = appConfig;\n\n await this._readPreferences();\n await this._parseHashParameters();\n this._forceCssTheme();\n await this._initializeL10n();\n\n if (\n this.isViewerEmbedded &&\n AppOptions.get(\"externalLinkTarget\") === LinkTarget.NONE\n ) {\n // Prevent external links from \"replacing\" the viewer,\n // when it's embedded in e.g. an