/** * @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/web/pdf_viewer", [], factory); else if(typeof exports === 'object') exports["pdfjs-dist/web/pdf_viewer"] = factory(); else root["pdfjs-dist/web/pdf_viewer"] = root.pdfjsViewer = factory(); })(this, () => { return /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ([ /* 0 */, /* 1 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DefaultXfaLayerFactory = exports.DefaultTextLayerFactory = exports.DefaultStructTreeLayerFactory = exports.DefaultAnnotationLayerFactory = void 0; var _annotation_layer_builder = __w_pdfjs_require__(2); var _l10n_utils = __w_pdfjs_require__(6); var _pdf_link_service = __w_pdfjs_require__(7); var _struct_tree_layer_builder = __w_pdfjs_require__(9); var _text_layer_builder = __w_pdfjs_require__(10); var _xfa_layer_builder = __w_pdfjs_require__(11); 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 DefaultAnnotationLayerFactory = /*#__PURE__*/function () { function DefaultAnnotationLayerFactory() { _classCallCheck(this, DefaultAnnotationLayerFactory); } _createClass(DefaultAnnotationLayerFactory, [{ key: "createAnnotationLayerBuilder", value: function createAnnotationLayerBuilder(pageDiv, pdfPage) { 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] : false; 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, imageResourcesPath: imageResourcesPath, renderForms: renderForms, linkService: new _pdf_link_service.SimpleLinkService(), l10n: l10n, annotationStorage: annotationStorage, enableScripting: enableScripting, hasJSActionsPromise: hasJSActionsPromise, fieldObjectsPromise: fieldObjectsPromise, mouseState: mouseState, annotationCanvasMap: annotationCanvasMap }); } }]); return DefaultAnnotationLayerFactory; }(); exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory; var DefaultStructTreeLayerFactory = /*#__PURE__*/function () { function DefaultStructTreeLayerFactory() { _classCallCheck(this, DefaultStructTreeLayerFactory); } _createClass(DefaultStructTreeLayerFactory, [{ key: "createStructTreeLayerBuilder", value: function createStructTreeLayerBuilder(pdfPage) { return new _struct_tree_layer_builder.StructTreeLayerBuilder({ pdfPage: pdfPage }); } }]); return DefaultStructTreeLayerFactory; }(); exports.DefaultStructTreeLayerFactory = DefaultStructTreeLayerFactory; var DefaultTextLayerFactory = /*#__PURE__*/function () { function DefaultTextLayerFactory() { _classCallCheck(this, DefaultTextLayerFactory); } _createClass(DefaultTextLayerFactory, [{ 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, pageIndex: pageIndex, viewport: viewport, enhanceTextSelection: enhanceTextSelection, eventBus: eventBus, highlighter: highlighter }); } }]); return DefaultTextLayerFactory; }(); exports.DefaultTextLayerFactory = DefaultTextLayerFactory; var DefaultXfaLayerFactory = /*#__PURE__*/function () { function DefaultXfaLayerFactory() { _classCallCheck(this, DefaultXfaLayerFactory); } _createClass(DefaultXfaLayerFactory, [{ key: "createXfaLayerBuilder", value: function createXfaLayerBuilder(pageDiv, pdfPage) { var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; var xfaHtml = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; return new _xfa_layer_builder.XfaLayerBuilder({ pageDiv: pageDiv, pdfPage: pdfPage, annotationStorage: annotationStorage, linkService: new _pdf_link_service.SimpleLinkService(), xfaHtml: xfaHtml }); } }]); return DefaultXfaLayerFactory; }(); exports.DefaultXfaLayerFactory = DefaultXfaLayerFactory; /***/ }), /* 2 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.AnnotationLayerBuilder = void 0; var _regenerator = _interopRequireDefault(__w_pdfjs_require__(3)); var _pdfjsLib = __w_pdfjs_require__(5); var _l10n_utils = __w_pdfjs_require__(6); 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; /***/ }), /* 3 */ /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { module.exports = __w_pdfjs_require__(4); /***/ }), /* 4 */ /***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { /* 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); } } /***/ }), /* 5 */ /***/ ((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; /***/ }), /* 6 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.NullL10n = void 0; exports.fixupLangCode = fixupLangCode; exports.getL10nFallback = getL10nFallback; var _regenerator = _interopRequireDefault(__w_pdfjs_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; /***/ }), /* 7 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.SimpleLinkService = exports.PDFLinkService = exports.LinkTarget = void 0; var _regenerator = _interopRequireDefault(__w_pdfjs_require__(3)); var _ui_utils = __w_pdfjs_require__(8); 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; /***/ }), /* 8 */ /***/ ((__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; } /***/ }), /* 9 */ /***/ ((__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; /***/ }), /* 10 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.TextLayerBuilder = void 0; var _pdfjsLib = __w_pdfjs_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 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; /***/ }), /* 11 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.XfaLayerBuilder = void 0; var _pdfjsLib = __w_pdfjs_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 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; /***/ }), /* 12 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_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 = __w_pdfjs_require__(8); var _base_viewer = __w_pdfjs_require__(13); 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; /***/ }), /* 13 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PagesCountLimit = exports.PDFPageViewBuffer = exports.BaseViewer = void 0; var _regenerator = _interopRequireDefault(__w_pdfjs_require__(3)); var _pdfjsLib = __w_pdfjs_require__(5); var _ui_utils = __w_pdfjs_require__(8); var _annotation_layer_builder = __w_pdfjs_require__(2); var _l10n_utils = __w_pdfjs_require__(6); var _pdf_page_view = __w_pdfjs_require__(14); var _pdf_rendering_queue = __w_pdfjs_require__(16); var _pdf_link_service = __w_pdfjs_require__(7); var _struct_tree_layer_builder = __w_pdfjs_require__(9); var _text_highlighter = __w_pdfjs_require__(17); var _text_layer_builder = __w_pdfjs_require__(10); var _xfa_layer_builder = __w_pdfjs_require__(11); 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(); } } /***/ }), /* 14 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PDFPageView = void 0; var _regenerator = _interopRequireDefault(__w_pdfjs_require__(3)); var _pdfjsLib = __w_pdfjs_require__(5); var _ui_utils = __w_pdfjs_require__(8); var _app_options = __w_pdfjs_require__(15); var _l10n_utils = __w_pdfjs_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 _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; /***/ }), /* 15 */ /***/ ((__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; /***/ }), /* 16 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PDFRenderingQueue = void 0; var _pdfjsLib = __w_pdfjs_require__(5); var _ui_utils = __w_pdfjs_require__(8); 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; /***/ }), /* 17 */ /***/ ((__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; /***/ }), /* 18 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.DownloadManager = void 0; var _pdfjsLib = __w_pdfjs_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 _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; /***/ }), /* 19 */ /***/ ((__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; /***/ }), /* 20 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.GenericL10n = void 0; var _regenerator = _interopRequireDefault(__w_pdfjs_require__(3)); __w_pdfjs_require__(21); var _l10n_utils = __w_pdfjs_require__(6); 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; /***/ }), /* 21 */ /***/ (() => { 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); /***/ }), /* 22 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PDFFindController = exports.FindState = void 0; var _ui_utils = __w_pdfjs_require__(8); var _pdfjsLib = __w_pdfjs_require__(5); var _pdf_find_utils = __w_pdfjs_require__(23); 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 }); } /***/ }), /* 23 */ /***/ ((__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; } /***/ }), /* 24 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PDFHistory = void 0; exports.isDestArraysEqual = isDestArraysEqual; exports.isDestHashesEqual = isDestHashesEqual; var _ui_utils = __w_pdfjs_require__(8); var _event_utils = __w_pdfjs_require__(19); 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; } /***/ }), /* 25 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.PDFScriptingManager = void 0; var _regenerator = _interopRequireDefault(__w_pdfjs_require__(3)); var _ui_utils = __w_pdfjs_require__(8); var _pdfjsLib = __w_pdfjs_require__(5); 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 _this = this; 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; if (!this._scriptingFactory) { window.addEventListener("updatefromsandbox", function (event) { _this._eventBus.dispatch("updatefromsandbox", { source: window, detail: event.detail }); }); } } _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 _this2 = this, _this$_scripting; 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; } _this2._updateFromSandbox(event.detail); }); this._internalEvents.set("dispatcheventinsandbox", function (event) { var _this2$_scripting; (_this2$_scripting = _this2._scripting) === null || _this2$_scripting === void 0 ? void 0 : _this2$_scripting.dispatchEventInSandbox(event.detail); }); this._internalEvents.set("pagechanging", function (_ref2) { var pageNumber = _ref2.pageNumber, previous = _ref2.previous; if (pageNumber === previous) { return; } _this2._dispatchPageClose(previous); _this2._dispatchPageOpen(pageNumber); }); this._internalEvents.set("pagerendered", function (_ref3) { var pageNumber = _ref3.pageNumber; if (!_this2._pageOpenPending.has(pageNumber)) { return; } if (pageNumber !== _this2._pdfViewer.currentPageNumber) { return; } _this2._dispatchPageOpen(pageNumber); }); this._internalEvents.set("pagesdestroy", /*#__PURE__*/function () { var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(event) { var _this2$_scripting2, _this2$_closeCapabili; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return _this2._dispatchPageClose(_this2._pdfViewer.currentPageNumber); case 2: _context.next = 4; return (_this2$_scripting2 = _this2._scripting) === null || _this2$_scripting2 === void 0 ? void 0 : _this2$_scripting2.dispatchEventInSandbox({ id: "doc", name: "WillClose" }); case 4: (_this2$_closeCapabili = _this2._closeCapability) === null || _this2$_closeCapabili === void 0 ? void 0 : _this2$_closeCapabili.resolve(); case 5: case "end": return _context.stop(); } } }, _callee); })); return function (_x2) { return _ref4.apply(this, arguments); }; }()); this._domEvents.set("mousedown", function (event) { _this2._mouseState.isDown = true; }); this._domEvents.set("mouseup", function (event) { _this2._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$_scripting = this._scripting) === null || _this$_scripting === void 0 ? void 0 : _this$_scripting.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 === _this2._pdfDocument) { _this2._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$_scripting2; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: return _context3.abrupt("return", (_this$_scripting2 = this._scripting) === null || _this$_scripting2 === void 0 ? void 0 : _this$_scripting2.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$_scripting3; return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: return _context4.abrupt("return", (_this$_scripting3 = this._scripting) === null || _this$_scripting3 === void 0 ? void 0 : _this$_scripting3.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$_scripting4; return _regenerator["default"].wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: return _context5.abrupt("return", (_this$_scripting4 = this._scripting) === null || _this$_scripting4 === void 0 ? void 0 : _this$_scripting4.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$_scripting5; return _regenerator["default"].wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: return _context6.abrupt("return", (_this$_scripting5 = this._scripting) === null || _this$_scripting5 === void 0 ? void 0 : _this$_scripting5.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 _this3 = 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, _this3$_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 !== _this3._pdfDocument)) { _context8.next = 5; break; } return _context8.abrupt("return"); case 5: _context8.next = 7; return (_this3$_scripting = _this3._scripting) === null || _this3$_scripting === void 0 ? void 0 : _this3$_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$_scripting6; 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$_scripting6 = this._scripting) === null || _this$_scripting6 === void 0 ? void 0 : _this$_scripting6.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() { var _require, docPropertiesLookup; 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: _require = __w_pdfjs_require__(26), docPropertiesLookup = _require.docPropertiesLookup; return _context11.abrupt("return", docPropertiesLookup(this._pdfDocument)); case 4: 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 }); } var _require2 = __w_pdfjs_require__(26), GenericScripting = _require2.GenericScripting; return new GenericScripting(this._sandboxBundleSrc); } }, { 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, __w_pdfjs_require__) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.GenericScripting = void 0; exports.docPropertiesLookup = docPropertiesLookup; var _regenerator = _interopRequireDefault(__w_pdfjs_require__(3)); var _pdfjsLib = __w_pdfjs_require__(5); 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; /***/ }) /******/ ]); /************************************************************************/ /******/ // 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 isolated against other modules in the chunk. (() => { var exports = __webpack_exports__; Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "AnnotationLayerBuilder", ({ enumerable: true, get: function get() { return _annotation_layer_builder.AnnotationLayerBuilder; } })); Object.defineProperty(exports, "DefaultAnnotationLayerFactory", ({ enumerable: true, get: function get() { return _default_factory.DefaultAnnotationLayerFactory; } })); Object.defineProperty(exports, "DefaultStructTreeLayerFactory", ({ enumerable: true, get: function get() { return _default_factory.DefaultStructTreeLayerFactory; } })); Object.defineProperty(exports, "DefaultTextLayerFactory", ({ enumerable: true, get: function get() { return _default_factory.DefaultTextLayerFactory; } })); Object.defineProperty(exports, "DefaultXfaLayerFactory", ({ enumerable: true, get: function get() { return _default_factory.DefaultXfaLayerFactory; } })); Object.defineProperty(exports, "DownloadManager", ({ enumerable: true, get: function get() { return _download_manager.DownloadManager; } })); Object.defineProperty(exports, "EventBus", ({ enumerable: true, get: function get() { return _event_utils.EventBus; } })); Object.defineProperty(exports, "GenericL10n", ({ enumerable: true, get: function get() { return _genericl10n.GenericL10n; } })); Object.defineProperty(exports, "LinkTarget", ({ enumerable: true, get: function get() { return _pdf_link_service.LinkTarget; } })); Object.defineProperty(exports, "NullL10n", ({ enumerable: true, get: function get() { return _l10n_utils.NullL10n; } })); Object.defineProperty(exports, "PDFFindController", ({ enumerable: true, get: function get() { return _pdf_find_controller.PDFFindController; } })); Object.defineProperty(exports, "PDFHistory", ({ enumerable: true, get: function get() { return _pdf_history.PDFHistory; } })); Object.defineProperty(exports, "PDFLinkService", ({ enumerable: true, get: function get() { return _pdf_link_service.PDFLinkService; } })); Object.defineProperty(exports, "PDFPageView", ({ enumerable: true, get: function get() { return _pdf_page_view.PDFPageView; } })); Object.defineProperty(exports, "PDFScriptingManager", ({ enumerable: true, get: function get() { return _pdf_scripting_manager.PDFScriptingManager; } })); Object.defineProperty(exports, "PDFSinglePageViewer", ({ enumerable: true, get: function get() { return _pdf_viewer.PDFSinglePageViewer; } })); Object.defineProperty(exports, "PDFViewer", ({ enumerable: true, get: function get() { return _pdf_viewer.PDFViewer; } })); Object.defineProperty(exports, "ProgressBar", ({ enumerable: true, get: function get() { return _ui_utils.ProgressBar; } })); Object.defineProperty(exports, "SimpleLinkService", ({ enumerable: true, get: function get() { return _pdf_link_service.SimpleLinkService; } })); Object.defineProperty(exports, "StructTreeLayerBuilder", ({ enumerable: true, get: function get() { return _struct_tree_layer_builder.StructTreeLayerBuilder; } })); Object.defineProperty(exports, "TextLayerBuilder", ({ enumerable: true, get: function get() { return _text_layer_builder.TextLayerBuilder; } })); Object.defineProperty(exports, "XfaLayerBuilder", ({ enumerable: true, get: function get() { return _xfa_layer_builder.XfaLayerBuilder; } })); Object.defineProperty(exports, "parseQueryString", ({ enumerable: true, get: function get() { return _ui_utils.parseQueryString; } })); var _default_factory = __w_pdfjs_require__(1); var _pdf_link_service = __w_pdfjs_require__(7); var _ui_utils = __w_pdfjs_require__(8); var _pdf_viewer = __w_pdfjs_require__(12); var _annotation_layer_builder = __w_pdfjs_require__(2); var _download_manager = __w_pdfjs_require__(18); var _event_utils = __w_pdfjs_require__(19); var _genericl10n = __w_pdfjs_require__(20); var _l10n_utils = __w_pdfjs_require__(6); var _pdf_find_controller = __w_pdfjs_require__(22); var _pdf_history = __w_pdfjs_require__(24); var _pdf_page_view = __w_pdfjs_require__(14); var _pdf_scripting_manager = __w_pdfjs_require__(25); var _struct_tree_layer_builder = __w_pdfjs_require__(9); var _text_layer_builder = __w_pdfjs_require__(10); var _xfa_layer_builder = __w_pdfjs_require__(11); var pdfjsVersion = '2.14.305'; var pdfjsBuild = 'eaaa8b4ad'; })(); /******/ return __webpack_exports__; /******/ })() ; }); //# sourceMappingURL=pdf_viewer.js.map